Major glitching in both KDE and GNOME desktops in qemu virtio VMs with mesa 22.1.0
Since mesa 22.1.0 landed in Fedora Rawhide, our automated tests have been plagued with visual glitches in both the KDE and GNOME desktops, which often cause failures. Entire desktop elements like the top bar (GNOME) or bottom bar (KDE) can be missing, whole areas of the screen are wrongly painted on transitions, and so on. A good example can be seen in the attached video from about 0:15 onwards, note the extensive glitching in KDE. Note the video is produced from screenshots taken at slightly differing intervals, it's not strictly a screen recording, but you can clearly see the glitching issues.
This test systems uses qemu virtual machines with virtio graphics. Here's a full sample qemu command line:
/usr/bin/qemu-system-x86_64 -vga virtio -only-migratable -chardev ringbuf,id=serial0,logfile=serial0,logappend=on -serial chardev:serial0 -audiodev none,id=snd0 -device intel-hda -device hda-output,audiodev=snd0 -global isa-fdc.fdtypeA=none -m 2048 -cpu Nehalem -netdev user,id=qanet0,net=172.16.2.0/24 -device virtio-net,netdev=qanet0,mac=52:54:00:12:34:56 -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 -boot order=c -device qemu-xhci -device usb-tablet -smp 2 -enable-kvm -no-shutdown -vnc :98,share=force-shared -device virtio-serial -chardev pipe,id=virtio_console,path=virtio_console,logfile=virtio_console.log,logappend=on -device virtconsole,chardev=virtio_console,name=org.openqa.console.virtio_console -chardev pipe,id=virtio_console1,path=virtio_console1,logfile=virtio_console1.log,logappend=on -device virtconsole,chardev=virtio_console1,name=org.openqa.console.virtio_console1 -chardev socket,path=qmp_socket,server=on,wait=off,id=qmp_socket,logfile=qmp_socket.log,logappend=on -qmp chardev:qmp_socket -S -device virtio-scsi-pci,id=scsi0 -blockdev driver=file,node-name=hd0-overlay0-file,filename=/var/lib/openqa/pool/8/raid/hd0-overlay0,cache.no-flush=on -blockdev driver=qcow2,node-name=hd0-overlay0,file=hd0-overlay0-file,cache.no-flush=on -device virtio-blk,id=hd0-device,drive=hd0-overlay0,bootindex=0,serial=hd0 -blockdev driver=file,node-name=cd0-overlay0-file,filename=/var/lib/openqa/pool/8/raid/cd0-overlay0,cache.no-flush=on -blockdev driver=qcow2,node-name=cd0-overlay0,file=cd0-overlay0-file,cache.no-flush=on -device scsi-cd,id=cd0-device,drive=cd0-overlay0,serial=cd0
The issue was definitely introduced by mesa 22.1.0. We have a mechanism for running the tests per package for critical packages, and this issue first appeared on the tests for the mesa 22.1.0 package update. Tests of other packages around the same time do not show the same issue.