Bug 510737 - Qt-based applications fail to initialize Wayland shell integration
Summary: Qt-based applications fail to initialize Wayland shell integration
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: 6.4.5
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-18 04:36 UTC by acfboyu
Modified: 2025-11-19 03:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description acfboyu 2025-10-18 04:36:30 UTC
**SUMMARY**  
Fimiliar to Bug 445259, after upgrading to KDE Plasma 6.4.5, Qt-based applications such as Chromium and Spectacle (screen recorder) fail to initialize Wayland shell integration, resulting in errors like:  
```
qt.qpa.wayland: No shell integration named "xdg-shell" found  
qt.qpa.wayland: No shell integration named "wl-shell" found  
qt.qpa.wayland: Loading shell integration failed.  
qt.qpa.wayland: Attempted to load the following shells QList("xdg-shell", "wl-shell", "ivi-shell", "qt-shell")
```  
This prevents these applications from launching properly or functioning under Wayland.

**STEPS TO REPRODUCE**  
1. Update system to KDE Plasma 6.4.5 (on Arch Linux).  
2. Log into a Plasma Wayland session.  
3. Attempt to launch Chromium (`chromium`) or start a screen recording using Spectacle(`spectacle -record -s`).  

**OBSERVED RESULT**  
Both applications either fail to start or immediately exit with the above Qt Wayland shell integration errors. No window appears. The system compositor (KWin) is running and supports xdg-shell, yet Qt cannot detect or use it.

**EXPECTED RESULT**  
Applications should launch normally under Wayland using xdg-shell, as they did before the Plasma 6.4.5 update.

**SOFTWARE/OS VERSIONS**  
- Linux/KDE Plasma: Arch Linux 
- KDE Plasma Version: 6.4.5 (Wayland)
Comment 1 David Edmundson 2025-10-18 09:47:28 UTC
Can you ensure everything is up to date and run 

Can I have output of 
WAYLAND_DEBUG=1 spectacle


Also confirm that dolphin is also broken.
Comment 2 acfboyu 2025-10-20 00:36:17 UTC
(In reply to David Edmundson from comment #1)
> Can you ensure everything is up to date and run 
> 
> Can I have output of 
> WAYLAND_DEBUG=1 spectacle
> 
> 
> Also confirm that dolphin is also broken.

It seems everything is indeed up to date.

the output is 
```
โฏ WAYLAND_DEBUG=1 spectacle -record -s
[ 984082.804] {Default Queue}  -> wl_display#1.get_registry(new id wl_registry#2)
[ 984083.637] {Default Queue}  -> wl_display#1.sync(new id wl_callback#3)
[ 984085.537] {Display Queue} wl_display#1.delete_id(3)
[ 984085.550] {Default Queue} wl_registry#2.global(1, "wl_compositor", 6)
[ 984085.569] {Default Queue}  -> wl_registry#2.bind(1, "wl_compositor", 6, new id [unknown]#4)
[ 984085.575] {Default Queue} wl_registry#2.global(3, "zwp_tablet_manager_v2", 2)
[ 984085.583] {Default Queue}  -> wl_registry#2.bind(3, "zwp_tablet_manager_v2", 1, new id [unknown]#5)
[ 984085.596] {Default Queue} wl_registry#2.global(4, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 984085.601] {Default Queue} wl_registry#2.global(5, "zxdg_decoration_manager_v1", 1)
[ 984085.605] {Default Queue} wl_registry#2.global(6, "wp_viewporter", 1)
[ 984085.611] {Default Queue}  -> wl_registry#2.bind(6, "wp_viewporter", 1, new id [unknown]#6)
[ 984085.615] {Default Queue} wl_registry#2.global(7, "wp_security_context_manager_v1", 1)
[ 984085.619] {Default Queue} wl_registry#2.global(8, "wp_fractional_scale_manager_v1", 1)
[ 984085.623] {Default Queue}  -> wl_registry#2.bind(8, "wp_fractional_scale_manager_v1", 1, new id [unknown]#7)
[ 984085.627] {Default Queue} wl_registry#2.global(9, "wl_shm", 2)
[ 984085.631] {Default Queue}  -> wl_registry#2.bind(9, "wl_shm", 2, new id [unknown]#8)
[ 984085.634] {Default Queue} wl_registry#2.global(10, "wl_seat", 9)
[ 984085.638] {Default Queue}  -> wl_registry#2.bind(10, "wl_seat", 9, new id [unknown]#9)
[ 984085.643] {Default Queue}  -> zwp_tablet_manager_v2#5.get_tablet_seat(new id zwp_tablet_seat_v2#10, wl_seat#9)
[ 984085.647] {Default Queue} wl_registry#2.global(11, "zwp_pointer_gestures_v1", 3)
[ 984085.651] {Default Queue}  -> wl_registry#2.bind(11, "zwp_pointer_gestures_v1", 1, new id [unknown]#11)
[ 984085.654] {Default Queue} wl_registry#2.global(12, "zwp_pointer_constraints_v1", 1)
[ 984085.660] {Default Queue} wl_registry#2.global(13, "zwp_relative_pointer_manager_v1", 1)
[ 984085.664] {Default Queue} wl_registry#2.global(14, "wl_data_device_manager", 3)
[ 984085.667] {Default Queue}  -> wl_registry#2.bind(14, "wl_data_device_manager", 3, new id [unknown]#12)
[ 984085.673] {Default Queue}  -> wl_data_device_manager#12.get_data_device(new id wl_data_device#13, wl_seat#9)
[ 984085.676] {Default Queue} wl_registry#2.global(15, "ext_data_control_manager_v1", 1)
[ 984085.680] {Default Queue} wl_registry#2.global(16, "zwlr_data_control_manager_v1", 2)
[ 984085.683] {Default Queue} wl_registry#2.global(17, "wp_cursor_shape_manager_v1", 2)
[ 984085.687] {Default Queue}  -> wl_registry#2.bind(17, "wp_cursor_shape_manager_v1", 1, new id [unknown]#14)
[ 984085.690] {Default Queue} wl_registry#2.global(18, "zwp_primary_selection_device_manager_v1", 1)
[ 984085.694] {Default Queue}  -> wl_registry#2.bind(18, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]#15)
[ 984085.700] {Default Queue}  -> zwp_primary_selection_device_manager_v1#15.get_device(new id zwp_primary_selection_device_v1#16, wl_seat#9)
[ 984085.705] {Default Queue} wl_registry#2.global(19, "org_kde_kwin_idle", 1)
[ 984085.709] {Default Queue} wl_registry#2.global(20, "zwp_idle_inhibit_manager_v1", 1)
[ 984085.712] {Default Queue} wl_registry#2.global(21, "ext_idle_notifier_v1", 2)
[ 984085.716] {Default Queue} wl_registry#2.global(22, "org_kde_plasma_shell", 8)
[ 984085.719] {Default Queue} wl_registry#2.global(23, "org_kde_kwin_appmenu_manager", 2)
[ 984085.723] {Default Queue}  -> wl_registry#2.bind(23, "org_kde_kwin_appmenu_manager", 1, new id [unknown]#17)
[ 984085.729] {Default Queue} wl_registry#2.global(24, "org_kde_kwin_server_decoration_palette_manager", 1)
[ 984085.732] {Default Queue} wl_registry#2.global(25, "org_kde_plasma_window_management", 18)
[ 984085.736] {Default Queue} wl_registry#2.global(26, "org_kde_plasma_virtual_desktop_management", 2)
[ 984085.739] {Default Queue} wl_registry#2.global(28, "org_kde_kwin_shadow_manager", 2)
[ 984085.742] {Default Queue} wl_registry#2.global(29, "org_kde_kwin_dpms_manager", 1)
[ 984085.745] {Default Queue} wl_registry#2.global(30, "org_kde_kwin_server_decoration_manager", 1)
[ 984085.749] {Default Queue} wl_registry#2.global(31, "kde_output_management_v2", 16)
[ 984085.752] {Default Queue} wl_registry#2.global(32, "zxdg_output_manager_v1", 3)
[ 984085.767] {Default Queue}  -> wl_registry#2.bind(32, "zxdg_output_manager_v1", 3, new id [unknown]#18)
[ 984085.770] {Default Queue} wl_registry#2.global(33, "wl_subcompositor", 1)
[ 984085.774] {Default Queue}  -> wl_registry#2.bind(33, "wl_subcompositor", 1, new id [unknown]#19)
[ 984085.777] {Default Queue} wl_registry#2.global(34, "zxdg_exporter_v2", 1)
[ 984085.780] {Default Queue} wl_registry#2.global(35, "zxdg_importer_v2", 1)
[ 984085.784] {Default Queue} wl_registry#2.global(38, "xdg_activation_v1", 1)
[ 984085.787] {Default Queue} wl_registry#2.global(40, "wp_content_type_manager_v1", 1)
[ 984085.790] {Default Queue} wl_registry#2.global(41, "wp_tearing_control_manager_v1", 1)
[ 984085.793] {Default Queue} wl_registry#2.global(42, "xdg_toplevel_drag_manager_v1", 1)
[ 984085.797] {Default Queue}  -> wl_registry#2.bind(42, "xdg_toplevel_drag_manager_v1", 1, new id [unknown]#20)
[ 984085.801] {Default Queue} wl_registry#2.global(43, "xdg_toplevel_icon_manager_v1", 1)
[ 984085.804] {Default Queue} wl_registry#2.global(44, "kde_screen_edge_manager_v1", 1)
[ 984085.807] {Default Queue} wl_registry#2.global(45, "frog_color_management_factory_v1", 1)
[ 984085.810] {Default Queue} wl_registry#2.global(46, "wp_presentation", 2)
[ 984085.813] {Default Queue} wl_registry#2.global(47, "wp_color_manager_v1", 1)
[ 984085.817] {Default Queue} wl_registry#2.global(48, "xdg_wm_dialog_v1", 1)
[ 984085.822] {Default Queue} wl_registry#2.global(49, "kde_external_brightness_v1", 3)
[ 984085.826] {Default Queue} wl_registry#2.global(50, "wp_alpha_modifier_v1", 1)
[ 984085.829] {Default Queue} wl_registry#2.global(51, "wl_fixes", 1)
[ 984085.832] {Default Queue} wl_registry#2.global(52, "wp_fifo_manager_v1", 1)
[ 984085.836] {Default Queue} wl_registry#2.global(53, "wp_single_pixel_buffer_manager_v1", 1)
[ 984085.839] {Default Queue} wl_registry#2.global(54, "xdg_toplevel_tag_manager_v1", 1)
[ 984085.842] {Default Queue} wl_registry#2.global(55, "wp_color_representation_manager_v1", 1)
[ 984085.845] {Default Queue} wl_registry#2.global(57, "wl_drm", 2)
[ 984085.849] {Default Queue} wl_registry#2.global(58, "zwp_linux_dmabuf_v1", 5)
[ 984085.852] {Default Queue} wl_registry#2.global(60, "xdg_wm_base", 6)
[ 984085.855] {Default Queue} wl_registry#2.global(61, "zwlr_layer_shell_v1", 5)
[ 984085.859] {Default Queue} wl_registry#2.global(63, "kde_output_device_v2", 16)
[ 984085.862] {Default Queue} wl_registry#2.global(64, "wl_output", 4)
[ 984085.866] {Default Queue}  -> wl_registry#2.bind(64, "wl_output", 4, new id [unknown]#21)
[ 984085.875] {Default Queue}  -> zxdg_output_manager_v1#18.get_xdg_output(new id zxdg_output_v1#22, wl_output#21)
[ 984085.879] {Default Queue} wl_registry#2.global(65, "wp_drm_lease_device_v1", 1)
[ 984085.883] {Default Queue} wl_registry#2.global(66, "kde_output_order_v1", 1)
[ 984085.886] {Default Queue} wl_registry#2.global(67, "zwp_text_input_manager_v1", 1)
[ 984085.890] {Default Queue} wl_registry#2.global(68, "zwp_text_input_manager_v2", 1)
[ 984085.893] {Default Queue} wl_registry#2.global(69, "zwp_text_input_manager_v3", 1)
[ 984085.897] {Default Queue} wl_registry#2.global(70, "zkde_screencast_unstable_v1", 5)
[ 984085.900] {Default Queue} wl_registry#2.global(71, "org_kde_kwin_blur_manager", 1)
[ 984085.904] {Default Queue} wl_registry#2.global(72, "org_kde_kwin_contrast_manager", 2)
[ 984085.907] {Default Queue} wl_registry#2.global(73, "org_kde_kwin_slide_manager", 1)
[ 984085.910] {Default Queue} wl_registry#2.global(74, "xdg_system_bell_v1", 1)
[ 984085.914] {Default Queue}  -> wl_registry#2.bind(74, "xdg_system_bell_v1", 1, new id [unknown]#23)
[ 984085.918] {Default Queue} wl_callback#3.done(727)
[ 984085.922] {Default Queue}  -> wl_display#1.sync(new id wl_callback#3)
[ 984086.088] {Display Queue} wl_display#1.delete_id(3)
[ 984086.095] {Default Queue} wl_shm#8.format(0)
[ 984086.110] {Default Queue} wl_shm#8.format(1)
[ 984086.114] {Default Queue} wl_shm#8.format(808669761)
[ 984086.120] {Default Queue} wl_shm#8.format(808669784)
[ 984086.124] {Default Queue} wl_shm#8.format(808665665)
[ 984086.129] {Default Queue} wl_shm#8.format(808665688)
[ 984086.132] {Default Queue} wl_shm#8.format(942948929)
[ 984086.135] {Default Queue} wl_shm#8.format(942948952)
[ 984086.139] {Default Queue} wl_shm#8.format(875710274)
[ 984086.142] {Default Queue} wl_shm#8.format(875710290)
[ 984086.150] {Default Queue} wl_seat#9.name("seat0")
[ 984086.167] {Default Queue} wl_seat#9.capabilities(3)
[ 984086.173] {Default Queue}  -> wl_seat#9.get_keyboard(new id wl_keyboard#24)
[ 984086.179] {Default Queue}  -> wl_seat#9.get_pointer(new id wl_pointer#25)
[ 984086.184] {Default Queue}  -> wp_cursor_shape_manager_v1#14.get_pointer(new id wp_cursor_shape_device_v1#26, wl_pointer#25)
[ 984086.193] {Default Queue}  -> zwp_pointer_gestures_v1#11.get_pinch_gesture(new id zwp_pointer_gesture_pinch_v1#27, wl_pointer#25)
[ 984086.198] {Default Queue}  -> zwp_pointer_gestures_v1#11.get_swipe_gesture(new id zwp_pointer_gesture_swipe_v1#28, wl_pointer#25)
[ 984086.204] {Default Queue} wl_output#21.name("DP-1")
[ 984086.209] {Default Queue} wl_output#21.description("XSL S27D1")
[ 984086.213] {Default Queue} wl_output#21.mode(1, 2560, 1440, 59951)
[ 984086.217] {Default Queue} wl_output#21.scale(2)
[ 984086.221] {Default Queue} wl_output#21.geometry(0, 0, 620, 369, 2, "XSL", "S27D1", 0)
[ 984086.227] {Default Queue} wl_output#21.done()
[ 984086.230] {Default Queue} zxdg_output_v1#22.logical_position(0, 0)
[ 984086.235] {Default Queue} zxdg_output_v1#22.logical_size(2048, 1152)
[ 984086.239] {Default Queue} zxdg_output_v1#22.name("DP-1")
[ 984086.243] {Default Queue} zxdg_output_v1#22.description("XSL S27D1")
[ 984086.247] {Default Queue} wl_output#21.done()
[ 984086.264] {Default Queue} wl_callback#3.done(727)
qt.qpa.wayland: No shell integration named "xdg-shell" found
qt.qpa.wayland: No shell integration named "wl-shell" found
qt.qpa.wayland: Loading shell integration failed.
qt.qpa.wayland: Attempted to load the following shells QList("xdg-shell", "wl-shell", "ivi-shell", "qt-shell")
[ 984097.093] {Default Queue}  -> wl_seat#9.release()
[ 984097.105] {Default Queue}  -> zwp_tablet_seat_v2#10.destroy()
[ 984097.120] {Default Queue}  -> zwp_pointer_gesture_pinch_v1#27.destroy()
[ 984097.123] {Default Queue}  -> zwp_pointer_gesture_swipe_v1#28.destroy()
[ 984097.126] {Default Queue}  -> wl_pointer#25.release()
[ 984097.131] {Default Queue}  -> wp_cursor_shape_device_v1#26.destroy()
[ 984097.135] {Default Queue}  -> wl_keyboard#24.release()
[ 984097.139] {Default Queue}  -> zwp_primary_selection_device_v1#16.destroy()
[ 984097.143] {Default Queue}  -> wl_data_device#13.release()
[ 984097.163] {Default Queue}  -> zxdg_output_v1#22.destroy()
[ 984097.168] {Default Queue}  -> wl_output#21.release()
[ 984097.174] {Default Queue}  -> wl_shm#8.release()
[ 984097.178] {Default Queue}  -> wl_subcompositor#19.destroy()
[ 984097.182] {Default Queue}  -> zwp_tablet_manager_v2#5.destroy()
[ 984097.186] {Default Queue}  -> zwp_primary_selection_device_manager_v1#15.destroy()
[ 984097.190] {Default Queue}  -> zxdg_output_manager_v1#18.destroy()
[ 984097.194] {Default Queue}  -> wp_viewporter#6.destroy()
[ 984097.198] {Default Queue}  -> wp_fractional_scale_manager_v1#7.destroy()
[ 984097.206] {Default Queue}  -> wp_cursor_shape_manager_v1#14.destroy()
[ 984097.210] {Default Queue}  -> xdg_system_bell_v1#23.destroy()
[ 984097.215] {Default Queue}  -> xdg_toplevel_drag_manager_v1#20.destroy()
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" in "" even though it was found.


```
Comment 3 Bug Janitor Service 2025-11-04 03:47:49 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Bug Janitor Service 2025-11-19 03:47:09 UTC
๐Ÿ›๐Ÿงน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME.