Running Monado with
```diff
diff --git a/src/xrt/compositor/main/comp_window_direct_wayland.c b/src/xrt/compositor/main/comp_window_direct_wayland.c
index c777f246c..df1d5e9e1 100644
--- a/src/xrt/compositor/main/comp_window_direct_wayland.c
+++ b/src/xrt/compositor/main/comp_window_direct_wayland.c
@@ -432,9 +432,11 @@ comp_window_direct_wayland_init(struct comp_target *w)
struct direct_wayland_lease_device *dev = w_wayland->devices;
while (dev) {
if (!dev->done) {
+ U_LOG_E("calling wl_display_dispatch on %p", dev);
wl_display_dispatch(w_wayland->display);
continue;
}
+ U_LOG_E("this device is done, going to next device");
dev = dev->next;
}
```
kwin:
[4216705.181] -> wl_display@1.get_registry(new id wl_registry@2)
[4216705.193] -> wl_display@1.sync(new id wl_callback@3)
[4216708.643] wl_display@1.delete_id(3)
[4216708.651] wl_registry@2.global(1, "wl_compositor", 5)
[4216708.655] wl_registry@2.global(2, "zwp_tablet_manager_v2", 1)
[4216708.658] wl_registry@2.global(3, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[4216708.660] wl_registry@2.global(5, "xdg_wm_base", 4)
[4216708.662] wl_registry@2.global(6, "zwlr_layer_shell_v1", 3)
[4216708.665] wl_registry@2.global(7, "zxdg_decoration_manager_v1", 1)
[4216708.668] wl_registry@2.global(8, "wp_viewporter", 1)
[4216708.673] wl_registry@2.global(9, "wl_shm", 1)
[4216708.677] wl_registry@2.global(10, "wl_seat", 7)
[4216708.682] wl_registry@2.global(11, "zwp_pointer_gestures_v1", 3)
[4216708.686] wl_registry@2.global(12, "zwp_pointer_constraints_v1", 1)
[4216708.689] wl_registry@2.global(13, "zwp_relative_pointer_manager_v1", 1)
[4216708.692] wl_registry@2.global(14, "wl_data_device_manager", 3)
[4216708.697] wl_registry@2.global(15, "zwlr_data_control_manager_v1", 2)
[4216708.701] wl_registry@2.global(16, "zwp_primary_selection_device_manager_v1", 1)
[4216708.703] wl_registry@2.global(17, "org_kde_kwin_idle", 1)
[4216708.707] wl_registry@2.global(18, "zwp_idle_inhibit_manager_v1", 1)
[4216708.712] wl_registry@2.global(19, "org_kde_plasma_shell", 7)
[4216708.716] wl_registry@2.global(20, "org_kde_kwin_appmenu_manager", 1)
[4216708.721] wl_registry@2.global(21, "org_kde_kwin_server_decoration_palette_manager", 1)
[4216708.725] wl_registry@2.global(23, "org_kde_plasma_virtual_desktop_management", 2)
[4216708.730] wl_registry@2.global(25, "org_kde_kwin_shadow_manager", 2)
[4216708.735] wl_registry@2.global(26, "org_kde_kwin_dpms_manager", 1)
[4216708.738] wl_registry@2.global(27, "org_kde_kwin_server_decoration_manager", 1)
[4216708.741] wl_registry@2.global(28, "kde_output_management_v2", 2)
[4216708.744] wl_registry@2.global(29, "kde_primary_output_v1", 2)
[4216708.748] wl_registry@2.global(30, "zxdg_output_manager_v1", 3)
[4216708.752] wl_registry@2.global(31, "wl_subcompositor", 1)
[4216708.757] wl_registry@2.global(32, "zxdg_exporter_v2", 1)
[4216708.761] wl_registry@2.global(33, "zxdg_importer_v2", 1)
[4216708.765] wl_registry@2.global(35, "xdg_activation_v1", 1)
[4216708.768] wl_registry@2.global(36, "wp_drm_lease_device_v1", 1)
[4216708.771] -> wl_registry@2.bind(36, "wp_drm_lease_device_v1", 1, new id [unknown]@4)
[4216708.774] wl_registry@2.global(37, "wp_drm_lease_device_v1", 1)
[4216708.777] -> wl_registry@2.bind(37, "wp_drm_lease_device_v1", 1, new id [unknown]@5)
[4216708.780] wl_registry@2.global(40, "wl_drm", 2)
[4216708.783] wl_registry@2.global(41, "zwp_linux_dmabuf_v1", 4)
[4216708.785] wl_registry@2.global(42, "kde_output_device_v2", 2)
[4216708.788] wl_registry@2.global(43, "wl_output", 3)
[4216708.790] wl_registry@2.global(44, "kde_output_device_v2", 2)
[4216708.793] wl_registry@2.global(45, "wl_output", 3)
[4216708.796] wl_registry@2.global(47, "zwp_text_input_manager_v2", 1)
[4216708.798] wl_registry@2.global(48, "zwp_text_input_manager_v3", 1)
[4216708.801] wl_registry@2.global(49, "org_kde_kwin_contrast_manager", 2)
[4216708.803] wl_registry@2.global(50, "org_kde_kwin_blur_manager", 1)
[4216708.806] wl_registry@2.global(51, "org_kde_kwin_slide_manager", 1)
[4216708.808] wl_callback@3.done(1613)
ERROR [comp_window_direct_wayland_init] calling wl_display_dispatch on 0x556fdc2b0790
[4216709.478] wp_drm_lease_device_v1@4.drm_fd(fd 14)
DEBUG [_drm_lease_device_drm_fd] Available DRM lease device: /dev/dri/card1
[4216709.514] wp_drm_lease_device_v1@5.drm_fd(fd 15)
DEBUG [_drm_lease_device_drm_fd] Available DRM lease device: /dev/dri/card0
[4216709.539] wp_drm_lease_device_v1@5.connector(new id wp_drm_lease_connector_v1@4278190080)
[4216709.544] wp_drm_lease_connector_v1@4278190080.connector_id(86)
[4216709.548] wp_drm_lease_connector_v1@4278190080.name("Index HMD/968092465")
[4216709.551] wp_drm_lease_connector_v1@4278190080.description("Valve Corporation Index HMD/968092465")
[4216709.553] wp_drm_lease_connector_v1@4278190080.done()
DEBUG [_lease_connector_done] [/dev/dri/card0] connector Index HMD/968092465 (Valve Corporation Index HMD/968092465) id: 86
<Hangs here>
with Sway:
[ 81209.589] -> wl_display@1.get_registry(new id wl_registry@2)
[ 81209.598] -> wl_display@1.sync(new id wl_callback@3)
[ 81209.675] wl_display@1.delete_id(3)
[ 81209.682] wl_registry@2.global(1, "wl_shm", 1)
[ 81209.685] wl_registry@2.global(2, "wl_drm", 2)
[ 81209.688] wl_registry@2.global(3, "zwp_linux_dmabuf_v1", 4)
[ 81209.690] wl_registry@2.global(4, "wl_compositor", 4)
[ 81209.692] wl_registry@2.global(5, "wl_subcompositor", 1)
[ 81209.694] wl_registry@2.global(6, "wl_data_device_manager", 3)
[ 81209.696] wl_registry@2.global(7, "zwlr_gamma_control_manager_v1", 1)
[ 81209.698] wl_registry@2.global(8, "zxdg_output_manager_v1", 3)
[ 81209.700] wl_registry@2.global(9, "org_kde_kwin_idle", 1)
[ 81209.702] wl_registry@2.global(10, "zwp_idle_inhibit_manager_v1", 1)
[ 81209.705] wl_registry@2.global(11, "zwlr_layer_shell_v1", 4)
[ 81209.707] wl_registry@2.global(12, "xdg_wm_base", 2)
[ 81209.708] wl_registry@2.global(13, "zwp_tablet_manager_v2", 1)
[ 81209.711] wl_registry@2.global(14, "org_kde_kwin_server_decoration_manager", 1)
[ 81209.713] wl_registry@2.global(15, "zxdg_decoration_manager_v1", 1)
[ 81209.715] wl_registry@2.global(16, "zwp_relative_pointer_manager_v1", 1)
[ 81209.716] wl_registry@2.global(17, "zwp_pointer_constraints_v1", 1)
[ 81209.719] wl_registry@2.global(18, "wp_presentation", 1)
[ 81209.721] wl_registry@2.global(19, "zwlr_output_manager_v1", 2)
[ 81209.723] wl_registry@2.global(20, "zwlr_output_power_manager_v1", 1)
[ 81209.725] wl_registry@2.global(21, "zwp_input_method_manager_v2", 1)
[ 81209.727] wl_registry@2.global(22, "zwp_text_input_manager_v3", 1)
[ 81209.729] wl_registry@2.global(23, "zwlr_foreign_toplevel_manager_v1", 3)
[ 81209.731] wl_registry@2.global(24, "wp_drm_lease_device_v1", 1)
[ 81209.733] -> wl_registry@2.bind(24, "wp_drm_lease_device_v1", 1, new id [unknown]@4)
[ 81209.736] wl_registry@2.global(25, "wp_drm_lease_device_v1", 1)
[ 81209.738] -> wl_registry@2.bind(25, "wp_drm_lease_device_v1", 1, new id [unknown]@5)
[ 81209.741] wl_registry@2.global(26, "zwlr_export_dmabuf_manager_v1", 1)
[ 81209.743] wl_registry@2.global(27, "zwlr_screencopy_manager_v1", 3)
[ 81209.745] wl_registry@2.global(28, "zwlr_data_control_manager_v1", 2)
[ 81209.747] wl_registry@2.global(29, "zwp_primary_selection_device_manager_v1", 1)
[ 81209.749] wl_registry@2.global(30, "wp_viewporter", 1)
[ 81209.751] wl_registry@2.global(31, "zxdg_exporter_v1", 1)
[ 81209.753] wl_registry@2.global(32, "zxdg_importer_v1", 1)
[ 81209.756] wl_registry@2.global(33, "zxdg_exporter_v2", 1)
[ 81209.758] wl_registry@2.global(34, "zxdg_importer_v2", 1)
[ 81209.760] wl_registry@2.global(35, "xdg_activation_v1", 1)
[ 81209.762] wl_registry@2.global(36, "zwp_virtual_keyboard_manager_v1", 1)
[ 81209.764] wl_registry@2.global(37, "zwlr_virtual_pointer_manager_v1", 2)
[ 81209.766] wl_registry@2.global(38, "zwlr_input_inhibit_manager_v1", 1)
[ 81209.768] wl_registry@2.global(39, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 81209.770] wl_registry@2.global(40, "wl_seat", 7)
[ 81209.772] wl_registry@2.global(41, "zwp_pointer_gestures_v1", 3)
[ 81209.774] wl_registry@2.global(42, "wl_output", 4)
[ 81209.776] wl_registry@2.global(43, "wl_output", 4)
[ 81209.778] wl_callback@3.done(178)
ERROR [comp_window_direct_wayland_init] calling wl_display_dispatch on 0x55d979c58870
[ 81210.266] wp_drm_lease_device_v1@4.drm_fd(fd 14)
DEBUG [_drm_lease_device_drm_fd] Available DRM lease device: /dev/dri/card1
[ 81210.292] wp_drm_lease_device_v1@4.done()
[ 81210.295] wp_drm_lease_device_v1@5.drm_fd(fd 15)
DEBUG [_drm_lease_device_drm_fd] Available DRM lease device: /dev/dri/card0
[ 81210.311] wp_drm_lease_device_v1@5.connector(new id wp_drm_lease_connector_v1@4278190080)
[ 81210.314] wp_drm_lease_connector_v1@4278190080.name("DP-1")
[ 81210.316] wp_drm_lease_connector_v1@4278190080.description("Valve Index HMD 0x0000FB31 (DP-1)")
[ 81210.318] wp_drm_lease_connector_v1@4278190080.connector_id(86)
[ 81210.320] wp_drm_lease_connector_v1@4278190080.done()
DEBUG [_lease_connector_done] [/dev/dri/card0] connector DP-1 (Valve Index HMD 0x0000FB31 (DP-1)) id: 86
[ 81210.325] wp_drm_lease_device_v1@5.done()
ERROR [comp_window_direct_wayland_init] this device is done, going to next device
ERROR [comp_window_direct_wayland_init] this device is done, going to next device
DEBUG [compositor_try_window] Window backend wayland-direct initialized!
<Monado continues to start up normally>