Updating wayland-protocols to 1.31+ for Plasma 5.27, targetted for Bookworm
Dear X Strike Force, we (the Qt/KDE team) are targetting Plasma 5.27 for bookworm, and upstream has significantly bumped the required version of wayland-protocols for tearing control support [0] and fractional scaling [1] in the KWin window manager. The Plasma 5.27 beta is expected on Jan 19. and we would like to upload it as soon as possible. Would it be possible for you to upload a newer version of wayland-protocols shortly ? Would you like us to do the change and submit an MR on Salsa ? Thank you for your consideration. [0] https://invent.kde.org/plasma/kwin/-/commit/b261050be196620d3b05812b389498cfefa37bb5 [1] https://invent.kde.org/plasma/kwin/-/commit/c4b134da8db90ff82ae78ff7a477870e7fe9eaf0 -- Aurélien
Bug#1076729: More logs
Some more logs running a nested kwin_wayland under an X11 session in a VM. Below the diff with a identical launch after reverting to wayland libraries 1.22. The following line in the crashing case looks interesting : +wl_global_create: implemented version for 'wl_shm' higher than interface version (2 > 1) == crash logs (1.23) $ LANG=C kwin_wayland --xwayland /usr/bin/xeyes No backend specified, automatically choosing X11 because DISPLAY is set wl_global_create: implemented version for 'wl_shm' higher than interface version (2 > 1) kf.globalaccel.kglobalacceld: Failed to register service org.kde.kglobalaccel OpenGL vendor string: Mesa OpenGL renderer string: virgl (AMD Radeon Graphics (radeonsi, gfx1103_r1, LLVM 17.0...) OpenGL version string: 4.3 (Core Profile) Mesa 24.1.3-2 OpenGL shading language version string: 4.30 Driver: Unknown GPU class: Unknown OpenGL version: 4.3 GLSL version: 4.30 Mesa version: 24.1.3 Linux kernel version: 6.9.10 Requires strict binding:no GLSL shaders: yes Texture NPOT support: yes Virtual Machine:no kwin_core: eglPostSubBufferNV not supported, have to enable buffer preservation - which breaks v-sync and performance linux_dmabuf_feedback.main_device: Failed to fetch DRM device linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device (EE) (EE) Backtrace: (EE) 0: /usr/bin/Xwayland (0x56325e8c+0x188552) [0x56325ea48552] (EE) 1: /usr/bin/Xwayland (0x56325e8c+0x18c08d) [0x56325ea4c08d] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7f4f1cc69000+0x3f590) [0x7f4f1cca8590] (EE) 3: /lib/x86_64-linux-gnu/libwayland-client.so.0 (wl_proxy_get_version+0x4) [0x7f4f1d300244] (EE) 4: /usr/bin/Xwayland (0x56325e8c+0x46696) [0x56325e906696] (EE) 5: /usr/bin/Xwayland (0x56325e8c+0x406a6) [0x56325e9006a6] (EE) 6: /usr/bin/Xwayland (0x56325e8c+0x115c95) [0x56325e9d5c95] (EE) 7: /usr/bin/Xwayland (0x56325e8c+0xc10e4) [0x56325e9810e4] (EE) 8: /usr/bin/Xwayland (0x56325e8c+0xae572) [0x56325e96e572] (EE) 9: /usr/bin/Xwayland (0x56325e8c+0xaf646) [0x56325e96f646] (EE) 10: /usr/bin/Xwayland (0x56325e8c+0xbaba9) [0x56325e97aba9] (EE) 11: /lib/x86_64-linux-gnu/libc.so.6 (0x7f4f1cc69000+0x29c8a) [0x7f4f1cc92c8a] (EE) 12: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x85) [0x7f4f1cc92d45] (EE) 13: /usr/bin/Xwayland (0x56325e8c+0x39ba1) [0x56325e8f9ba1] (EE) (EE) Segmentation fault at address 0x40 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) == diff between ok (1.22) and ko (1.23) $ LANG=C kwin_wayland --xwayland /usr/bin/xeyes No backend specified, automatically choosing X11 because DISPLAY is set +wl_global_create: implemented version for 'wl_shm' higher than interface version (2 > 1) kf.globalaccel.kglobalacceld: Failed to register service org.kde.kglobalaccel OpenGL vendor string: Mesa OpenGL renderer string: virgl (AMD Radeon Graphics (radeonsi, gfx1103_r1, LLVM 17.0...) @@ -19,14 +20,26 @@ linux_dmabuf_feedback.main_device: Failed to fetch DRM device linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device -The XKEYBOARD keymap compiler (xkbcomp) reports: -> Warning: Unsupported maximum keycode 708, clipping. -> X11 cannot support keycodes above 255. -Errors from xkbcomp are not fatal to the X server -linux_dmabuf_feedback.main_device: Failed to fetch DRM device -linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device -linux_dmabuf_feedback.tranche_target_device: Failed to fetch DRM device -kf.kirigami: Failed to find a Kirigami platform plugin -qt.qpa.wayland: Wayland does not support QWindow::requestActivate() -qt.qpa.wayland: Wayland does not support QWindow::requestActivate() +(EE) +(EE) Backtrace: +(EE) 0: /usr/bin/Xwayland (0x56325e8c+0x188552) [0x56325ea48552] +(EE) 1: /usr/bin/Xwayland (0x56325e8c+0x18c08d) [0x56325ea4c08d] +(EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7f4f1cc69000+0x3f590) [0x7f4f1cca8590] +(EE) 3: /lib/x86_64-linux-gnu/libwayland-client.so.0 (wl_proxy_get_version+0x4) [0x7f4f1d300244] +(EE) 4: /usr/bin/Xwayland (0x56325e8c+0x46696) [0x56325e906696] +(EE) 5: /usr/bin/Xwayland (0x56325e8c+0x406a6) [0x56325e9006a6] +(EE) 6: /usr/bin/Xwayland (0x56325e8c+0x115c95) [0x56325e9d5c95] +(EE) 7: /usr/bin/Xwayland (0x56325e8c+0xc10e4) [0x56325e9810e4] +(EE) 8: /usr/bin/Xwayland (0x56325e8c+0xae572) [0x56325e96e572] +(EE) 9: /usr/bin/Xwayland (0x56325e8c+0xaf646) [0x56325e96f646] +(EE) 10: /usr/b
Bug#1076729: Symbols diff
I can confirm that rebuilding kwin fixes the issue. It still looks like an unwanted ABI transition… Here’s the symbols diff for the record : diff --git a/debian/libwayland-client0.symbols b/debian/libwayland-client0.symbols index c0d64c6..5ec470c 100644 --- a/debian/libwayland-client0.symbols +++ b/debian/libwayland-client0.symbols @@ -15,6 +15,7 @@ libwayland-client.so.0 libwayland-client0 #MINVER# wl_display_connect@Base 1.0.2 wl_display_connect_to_fd@Base 1.0.2 wl_display_create_queue@Base 1.0.2 + wl_display_create_queue_with_name@Base 1.23.0 wl_display_disconnect@Base 1.0.2 wl_display_dispatch@Base 1.0.2 wl_display_dispatch_pending@Base 1.0.2 @@ -30,7 +31,9 @@ libwayland-client.so.0 libwayland-client0 #MINVER# wl_display_read_events@Base 1.2.0 wl_display_roundtrip@Base 1.0.2 wl_display_roundtrip_queue@Base 1.5.91 + wl_display_set_max_buffer_size@Base 1.23.0 wl_event_queue_destroy@Base 1.0.2 + wl_event_queue_get_name@Base 1.23.0 wl_keyboard_interface@Base 1.0.2 wl_list_empty@Base 1.0.2 wl_list_init@Base 1.0.2 @@ -47,8 +50,10 @@ libwayland-client.so.0 libwayland-client0 #MINVER# wl_proxy_create_wrapper@Base 1.11.0 wl_proxy_destroy@Base 1.0.2 wl_proxy_get_class@Base 1.1.0 + wl_proxy_get_display@Base 1.23.0 wl_proxy_get_id@Base 1.0.2 wl_proxy_get_listener@Base 1.3.0 + wl_proxy_get_queue@Base 1.23.0 wl_proxy_get_tag@Base 1.17.93 wl_proxy_get_user_data@Base 1.0.2 wl_proxy_get_version@Base 1.9.91 diff --git a/debian/libwayland-server0.symbols b/debian/libwayland-server0.symbols index 6872566..02730ab 100644 --- a/debian/libwayland-server0.symbols +++ b/debian/libwayland-server0.symbols @@ -23,9 +23,12 @@ libwayland-server.so.0 libwayland-server0 #MINVER# wl_client_get_fd@Base 1.9.91 wl_client_get_link@Base 1.11.91 wl_client_get_object@Base 1.0.2 + wl_client_get_user_data@Base 1.23.0 wl_client_new_object@Base 1.0.2 wl_client_post_implementation_error@Base 1.17.0 wl_client_post_no_memory@Base 1.2.0 + wl_client_set_max_buffer_size@Base 1.23.0 + wl_client_set_user_data@Base 1.23.0 wl_compositor_interface@Base 1.0.2 wl_data_device_interface@Base 1.0.2 wl_data_device_manager_interface@Base 1.0.2 @@ -52,6 +55,7 @@ libwayland-server.so.0 libwayland-server0 #MINVER# wl_display_next_serial@Base 1.0.2 wl_display_remove_global@Base 1.0.2 wl_display_run@Base 1.0.2 + wl_display_set_default_max_buffer_size@Base 1.23.0 wl_display_set_global_filter@Base 1.13.0 wl_display_terminate@Base 1.0.2 wl_event_loop_add_destroy_listener@Base 1.0.4
Bug#1076729: Upstream feedback on IRC
Following a discussion on IRC it looks like a symbols conflict, due to kwin libs leaking some symbols that should be private. zzag explained the following : zzag | coucouf1: check whether rebuilding kwin with the newer libwayland helps. I suspect that there are two wl_shm_interface symbols and the wrong one (outdated) is being used zzag | coucouf1: I think there are two wl_shm_interface symbols: one in libkwin (generated by qtwaylandscanner), and one from libwayland-server zzag | my guess is that wl_display_init_shm() picks up libkwin's wl_shm_interface zzag | which has version 1 zzag | in plasma 6, kwin doesn't use wl_display_init_shm(), so I think it should not be affected by that issue karenthedorf mentioned she wrote a patch for ECM to avoid this in the future, and that it’s been merged : https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/447[1] [1] https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/447#note_984808
Bug#1076729: libwayland: breaks plasma desktop start after last upgrade to version 1.23.0-1
control: reassign -1 kwin-wayland control: notfound -1 wayland/1.23.0-1 control: found -1 kwin-wayland/4:5.27.11-1 Hi Vincent, Le 5 août 2024 12:42:42 GMT+02:00, Vincent Lefevre a écrit : >This bug was closed, but has not been marked as fixed in >libwayland-client0, so that the current version is still >regarded as buggy, as reported by apt-listbugs: […] >If this is regarded as a bug in libwayland-client0, this bug should >still remain open until it is fixed *in wayland*. Otherwise it should >be reassigned to kwin-wayland. Let's say the bug it primarily and kwin and reassign/close it accordingly so we don't block the migration of wayland to testing. We unbroke things by rebuilding kwin which was more of a workaround. The real fix should be this merge request [1] in extra-cmake-modules to ensure that kwin doesn't re-export symbols generated by wayland-scanner for use in Wayland clients. It's planed for inclusion in KDE Frameworks 6.5 which should ship anytime soon. [1] uhttps://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/447 Happy hacking, -- Aurélien
Re: Libwayland update causes Plasma desktop freeze on login
Hi Enrico, Le 24 septembre 2024 09:50:54 GMT+02:00, Enrico Rivarola a écrit : >I am aware that packages in 'debian backports' may 'lead to some >incompatibility risks' Yes. > but Not sure whether "but" is appropriate. Maybe "thus" ? > from what I have been able to understand the problem seems to be due to other > packages (it seems 'kwin') not aligned with the updated packages ( see bug > 1076729 (1) and 1081941 (2) ). > >At the moment I am not able to try solutions such as rebuild KWin or other >system packages, hence my request to the maintainers if it is possible to >backport/update the packages in the bookworm-backports in order to have all >aligned and working so that we can update the system from backports without >building or pinning any packages. As I explained in #1076729 the kwin-side fix is in extra-cmake-modules to pass the correct build flags while building kwin to ensure that it doesn’t leak private symbols into the global namespace. Upstream also mentioned in an IRC discussion that there was a potential way to prefer internal symbols in wayland which would work around kwin’s leak of private symbols, but I don’t think it materialized in wayland’s code. So options include : - not using backported wayland, - using Xorg, - using testing/unstable, - convincing someone to apply the extra-cmake-modules MR linked in #1076729 to bookworm’s version and rebuild kwin with it, - convincing someone to backport extra-cmake-modules >= 6.5 to bookworm and rebuild kwin with it. I’m not doing any of this patching / backporting myself. Happy hacking, -- Aurélien
Bug#1092890:
control: affects -1 kf6-bluez-qt kf6-kquickcharts