Lockup happens when wl_drm interface is not available.
id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1);
if (id == 0)
- wl_display_iterate(dri2_dpy->wl_dpy, WL_DISPLAY_READABLE);
+ force_roundtrip(dri2_dpy->wl_dpy);
id = wl_display_get_global(dri2_dpy->wl_dpy, "wl_drm", 1);
if (id == 0)
goto cleanup_dpy;
id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1);
if (id == 0)
- wl_display_iterate(drmdpy->base.dpy, WL_DISPLAY_READABLE);
+ force_roundtrip(drmdpy->base.dpy);
id = wl_display_get_global(drmdpy->base.dpy, "wl_drm", 1);
if (id == 0)
return FALSE;