Black screen with Xfwm vblank_mode=glx and Qemu SDL VirGL
To reproduce, run Xfwm in a Qemu virtual machine with the compositor enabled and set to use GLX.
Xfwm will display a black screen.
Either of the following will make it work:
- Add gl=off to the VM configuration file.
- Set Xfwm to use xpresent:
xfconf-query -c xfwm4 -p /general/vblank_mode -s xpresent
For example you can reproduce with quickemu:
quickget xubuntu 22.04
quickemu --vm xubuntu-22.04.conf
Complete the install steps, reboot the VM, and log in. The screen will be blank.
Qemu output:
al@al-desktop:~/quickemu$ quickemu --vm xubuntu-22.04.conf
Quickemu 4.0 using /usr/bin/qemu-system-x86_64 v6.2.0
- Host: Ubuntu 22.04.1 LTS running Linux 5.15 (al-desktop)
- CPU: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
- CPU VM: 1 Socket(s), 2 Core(s), 2 Thread(s), 8G RAM
- BOOT: EFI (Linux), OVMF (/usr/share/OVMF/OVMF_CODE_4M.fd), SecureBoot (off).
- Disk: xubuntu-22.04/disk.qcow2 (16G)
- Display: SDL, virtio-vga, GL (on), VirGL (on)
- ssh: On host: ssh user@localhost -p 22220
- SPICE: On host: spicy --title "xubuntu-22.04" --port 5930 --spice-shared-dir /home/al/Public
- WebDAV: On guest: dav://localhost:9843/
- 9P: On guest: sudo mount -t 9p -o trans=virtio,version=9p2000.L,msize=104857600 Public-al ~/Public
- Monitor: On host: nc -U "xubuntu-22.04/xubuntu-22.04-monitor.socket"
or : socat -,echo=0,icanon=0 unix-connect:xubuntu-22.04/xubuntu-22.04-monitor.socket
- Serial: On host: nc -U "xubuntu-22.04/xubuntu-22.04-serial.socket"
or : socat -,echo=0,icanon=0 unix-connect:xubuntu-22.04/xubuntu-22.04-serial.socket
- Process: Starting xubuntu-22.04.conf as xubuntu-22.04 (235262)
---
al@al-desktop:~/quickemu$ gl_version 46 - core profile enabled
GLSL feature level 460
Downstream reports: