Cursor not updating image
This only happens when running weston in a KVM with VirtIO enabled with 3D acceleration.
I can see that the cursor doesn't update its image to its corresponding (arrow/hand selector) when hovering a link on Chromium or Firefox, or when resizing a window...
- The guest: virtio drm 6.5.3
- The host: amdgpu drm 6.4.12
- Both Mesa 23.1.7
- Both on OpenSUSE Tumbleweed
Weston log:
Date: 2023-09-20 CEST
[19:32:30.005] weston 12.0.90
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 12.0.0-355-gd9a80735
[19:32:30.005] Command line: weston --debug
[19:32:30.005] OS: Linux, 6.5.3-1-default, #1 SMP PREEMPT_DYNAMIC Thu Sep 14 08:46:53 UTC 2023 (786e0d6), x86_64
[19:32:30.005] Flight recorder: enabled
[19:32:30.005] Using config file '/home/joan/.config/weston.ini'
WARNING: debug protocol has been enabled. This is a potential denial-of-service attack vector and information leak.
[19:32:30.005] Output repaint window is 7 ms maximum.
[19:32:30.005] Loading module '/usr/lib64/libweston-13/drm-backend.so'
[19:32:30.008] initializing drm backend
[19:32:30.008] Trying libseat launcher...
[19:32:30.008] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[19:32:30.008] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[19:32:30.017] [libseat/libseat.c:73] Seat opened with backend 'logind'
[19:32:30.017] libseat: session control granted
[19:32:30.020] using /dev/dri/card1
[19:32:30.020] DRM: supports atomic modesetting
[19:32:30.021] DRM: does not support GBM modifiers
[19:32:30.022] DRM: does not support async page flipping
[19:32:30.023] DRM: supports picture aspect ratio
[19:32:30.065] Loading module '/usr/lib64/libweston-13/gl-renderer.so'
[19:32:30.068] Using rendering device: /dev/dri/renderD128
[19:32:30.069] EGL version: 1.4
[19:32:30.069] EGL vendor: Mesa Project
[19:32:30.069] EGL client APIs: OpenGL OpenGL_ES
[19:32:30.069] EGL features:
EGL Wayland extension: yes
context priority: no
buffer age: yes
partial update: no
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[19:32:30.073] GL version: OpenGL ES 3.2 Mesa 23.1.7
[19:32:30.073] GLSL version: OpenGL ES GLSL ES 3.20
[19:32:30.073] GL vendor: Mesa
[19:32:30.073] GL renderer: virgl
[19:32:30.079] GL ES 3.2 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: yes
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[19:32:30.081] Using GL renderer
[19:32:30.086] event3 - Power Button: is tagged by udev as: Keyboard
[19:32:30.086] event3 - Power Button: device is a keyboard
[19:32:30.256] event5 - QEMU QEMU USB Tablet: is tagged by udev as: Mouse
[19:32:30.257] event5 - QEMU QEMU USB Tablet: device is a pointer
[19:32:30.261] event0 - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
[19:32:30.261] event0 - AT Translated Set 2 keyboard: device is a keyboard
[19:32:30.264] event2 - VirtualPS/2 VMware VMMouse: is tagged by udev as: Mouse
[19:32:30.264] event2 - VirtualPS/2 VMware VMMouse: device is a pointer
[19:32:30.268] event1 - VirtualPS/2 VMware VMMouse: is tagged by udev as: Mouse
[19:32:30.268] event1 - VirtualPS/2 VMware VMMouse: device is a pointer
[19:32:30.271] event4 - PC Speaker: not tagged as supported input device
[19:32:30.310] event4 - not using input device '/dev/input/event4'
[19:32:30.317] libinput: configuring device "Power Button".
[19:32:30.317] libinput: configuring device "QEMU QEMU USB Tablet".
[19:32:30.317] input device event5 has no enabled output associated (none named), skipping calibration for now.
[19:32:30.317] libinput: configuring device "AT Translated Set 2 keyboard".
[19:32:30.317] libinput: configuring device "VirtualPS/2 VMware VMMouse".
[19:32:30.317] libinput: configuring device "VirtualPS/2 VMware VMMouse".
[19:32:30.317] input device event1 has no enabled output associated (none named), skipping calibration for now.
[19:32:30.318] DRM: EDID for the following head fails conformity:
Block 1, CTA-861 Extension Block:
Padding: Contains non-zero bytes.
[19:32:30.318] DRM: head 'Virtual-1' found, connector 34 is connected, EDID make 'Red Hat, Inc.', model 'QEMU Monitor', serial ''
Supported EOTF modes: SDR
[19:32:30.318] Registered plugin API 'weston_drm_output_api_v1' of size 40
[19:32:30.318] Registered plugin API 'weston_drm_virtual_output_api_v2' of size 48
[19:32:30.318] Color manager: no-op
[19:32:30.318] Output 'Virtual-1' attempts EOTF mode: SDR
[19:32:30.318] Output 'Virtual-1' using color profile: built-in default sRGB SDR profile
[19:32:30.319] Chosen EGL config details: id: 61 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
[19:32:30.319] Output Virtual-1 (crtc 33) video modes:
1280x800@75.0, preferred, current, 107.3 MHz
5120x2160@50.0 64:27, 742.5 MHz
4096x2160@50.0 256:135, 594.0 MHz
3840x2160@60.0 16:9, 594.0 MHz
3840x2160@59.9 16:9, 593.4 MHz
3840x2160@50.0 16:9, 594.0 MHz
1920x1440@60.0, 234.0 MHz
2560x1080@50.0 64:27, 185.6 MHz
1856x1392@60.0, 218.2 MHz
1792x1344@60.0, 204.8 MHz
2048x1152@60.0, 162.0 MHz
1920x1200@59.9, 193.2 MHz
1920x1080@60.0, 148.5 MHz
1920x1080@50.0 16:9, 148.5 MHz
1600x1200@60.0, 162.0 MHz
1680x1050@60.0, 146.2 MHz
1400x1050@60.0, 121.8 MHz
1280x1024@60.0, 108.0 MHz
1440x900@59.9, 106.5 MHz
1280x960@60.0, 108.0 MHz
1360x768@60.0, 85.5 MHz
1280x768@59.9, 79.5 MHz
1024x768@60.0, 65.0 MHz
800x600@60.3, 40.0 MHz
640x480@60.0 4:3, 25.2 MHz
640x480@59.9, 25.2 MHz
[19:32:30.319] associating input device event3 with output Virtual-1 (none by udev)
[19:32:30.319] associating input device event5 with output Virtual-1 (none by udev)
[19:32:30.319] associating input device event0 with output Virtual-1 (none by udev)
[19:32:30.319] associating input device event2 with output Virtual-1 (none by udev)
[19:32:30.319] associating input device event1 with output Virtual-1 (none by udev)
[19:32:30.319] Output 'Virtual-1' enabled with head(s) Virtual-1
[19:32:30.319] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: yes
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[19:32:30.320] Loading module '/usr/lib64/weston/desktop-shell.so'
[19:32:30.320] launching '/usr/libexec/weston-keyboard'
[19:32:30.322] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
Unknown parameter: ?2004
^C[19:32:49.143] caught signal 12