----------------------------------------
Update (Aug 1st):
After recent kernel and system updates the workaround in my last update
quit being viable for me as the issue started returning after about 15
minutes. I read somewhere that changing from fixed to VRR on one or all
of your displays might help, only one of my displays supports VRR so I
tried that and noticed it immediately stopped the 3003/gbm error flood
and flickering and lasted about 17 hours before recurring. When it did,
I simply toggled it back off and got another 10 hours or so of
error/flicker free uptime. So I then worked with ChatGPT and Google AI
to create a script to automate the toggling of VRR for my one monitor
that supports it. After several trials and failures I finally got a
script that automates this for me and provides a workaround I don't have
to manage, I simply let it run in a terminal and check the output to see
how many times it has had to execute, I'm currently at 2 days of uptime
and the script has executed 6 times sporadically, keeping the canvas
stable and flicker free.
To bypass modern GNOME 50 D-Bus sandbox restrictions and resolve the
MetaDrmBufferGbm leak without dropping the desktop session, you can
force a full hardware graphics pipeline modeset by simultaneously re-
asserting your entire multi-monitor coordinate matrix.Below is an
automated Bash script that monitors journalctl for the
gbm_surface_lock_front_buffer failed flood strings. Once triggered, it
uses gdctl to instantly toggle between an equivalent VRR and Fixed
refresh rate canvas matrix layout. This forces a clean hardware flush
and releases the stale color buffers seamlessly without any visual panel
blinks or interface stutter. Adjust the gdctl screen strings to match
your unique hardware topology.
----------------------------------------
```bash
#!/bin/bash
START_TIME=$(date +"%b %d %H:%M:%S")
echo "$START_TIME 🚀 Auto-Purge Service started. Monitoring for pesky Mutter 50
buffer floods..."
TOGGLE_STATE=0
COUNT=0
THRESHOLD=3
# We stream live into a reading descriptor
exec 3< <(journalctl -b -f -n 0 | grep --line-buffered
"gbm_surface_lock_front_buffer failed")
while read -r line <&3
do
((COUNT++))
if [ $COUNT -ge $THRESHOLD ]; then
LOG_TIME=$(date +"%b %d %H:%M:%S")
echo "$LOG_TIME 🚨 Buffer leak flood detected ($COUNT errors)! Curses!!!
Triggering REAL hardware pipeline reset..."
if [ $TOGGLE_STATE -eq 0 ]; then
gdctl set --logical-monitor --monitor HDMI-2 --mode
"[email protected]" --scale 1.0 --x 1920 --y 1080 --logical-monitor --monitor
HDMI-1 --mode "[email protected]" --scale 2.0 --x 916 --y 0 --logical-monitor
--monitor DP-1 --mode "[email protected]" --scale 2.0 --x 0 --y 1080 --primary >
/dev/null 2>&1
TOGGLE_STATE=1
echo "$LOG_TIME 🔄 gdctl: Entire layout flipped to FIXED mode ->
Buffers Purged!"
else
gdctl set --logical-monitor --monitor HDMI-2 --mode
"[email protected]" --scale 1.0 --x 1920 --y 1080 --logical-monitor --monitor
HDMI-1 --mode "[email protected]" --scale 2.0 --x 916 --y 0 --logical-monitor
--monitor DP-1 --mode "[email protected]+vrr" --scale 2.0 --x 0 --y 1080
--primary > /dev/null 2>&1
TOGGLE_STATE=0
echo "$LOG_TIME 🔄 gdctl: Entire layout flipped to VRR mode ->
Buffers Purged!"
fi
echo "$LOG_TIME ⏳ Entering a 30 second Cool Breeze Mode..."
sleep 30
# GHOST PURGE: Read and immediately throw away any backlog lines left
over from the flood
while read -t 0.1 -r ghost_line <&3; do
: # Doing nothing dumps the line directly into the trash bin
done
COUNT=0
RESUME_TIME=$(date +"%b %d %H:%M:%S")
echo "$RESUME_TIME 🟢 Cool Breeze Mode finished. Resuming fresh active
monitoring..."
fi
done
```
----------------------------------------
Use code with caution.
----------------------------------------
If one of the displays does not support VRR the same result might be
achieved by simply changing one display between 60.000 Hz and 59.940 Hz
but I haven't tried that as the script above is working great for my
situation.
If this quits working for me after additional kernel/system updates or
if this is no longer needed I will update this thread, but for now this
works great for me.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2156644
Title:
GNOME Panel & Activities Overview workspace thumbnails flickering
issue
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2156644/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs