I am running wayland + libhybris + qtwayland + qml-compositor EGL_PLATFORM=hwcomposer ./qml-compositor -platform hwcomposer -plugin EvdevMouse -plugin EvdevKeyboard Then I start a nested instance of weston: EGL_PLATFORM=wayland weston -Swayland-1 --fullscreen --width=1920 --height=1080 For few seconds it runs fine, then weston freezes. No refresh of the screen, mouse doesn't move, keyboard does nothing. If I engage qml-compositor in any way - for example start another app (which results in wayland becoming a smaller window in an expose-like screen with all apps); or if I move the mouse in the right bottom corner (which again tells qml-compositor to takeFocus()) then weston unfreezes and does all the events - so all keyboard presses will be executed then. If I run some other app in weston, e.g.: EGL_PLATFORM=wayland WAYLAND_DISPLAY=wayland-1 /usr/local/lib/xbmc/xbmc.bin - which is a full-screen app - then also that app becomes "frozen"; and engaging qml-compositor will unfreeze it. Same apps running directly under qml-compositor don't have this issue. Only weston.
This is from running weston under gdb and stopping execution when weston freezes: Program received signal SIGTSTP, Stopped (user). 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6 (gdb) bt #0 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6 #1 0xb6fc31c0 in wl_event_loop_dispatch (loop=0x374f8, timeout=timeout@entry=-1) at src/event-loop.c:412 #2 0xb6fc22e0 in wl_display_run (display=display@entry=0x374b0) at src/wayland-server.c:986 #3 0x00016144 in main (argc=1, argv=<optimized out>) at src/compositor.c:4420 (gdb) c Continuing. Program received signal SIGTSTP, Stopped (user). 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6 (gdb) c Continuing. [20:59:11.399] already in the native mode [20:59:13.132] already in the native mode [20:59:14.060] already in the native mode [20:59:17.956] already in the native mode [20:59:18.132] already in the native mode
(In reply to comment #1) > This is from running weston under gdb and stopping execution when weston > freezes: > > Program received signal SIGTSTP, Stopped (user). > 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6 > (gdb) bt > #0 0xb6daeb62 in epoll_wait () from /lib/arm-linux-gnueabihf/libc.so.6 > #1 0xb6fc31c0 in wl_event_loop_dispatch (loop=0x374f8, > timeout=timeout@entry=-1) at src/event-loop.c:412 > #2 0xb6fc22e0 in wl_display_run (display=display@entry=0x374b0) at > src/wayland-server.c:986 > #3 0x00016144 in main (argc=1, argv=<optimized out>) at > src/compositor.c:4420 That is perfectly normal. In IRC you said something about a crash, and getting the backtrace from a crash could be useful.
It's not easy to reproduce the crash, it does not happen often, and only after killing weston on freeze, then start it again, killing it again etc... I would think the crash is related to some other issue maybe...
Based on what's written, I strongly suspect that qml-compositor is missing some display flushes (e.g. for frame/release events); we've never previously seen the Wayland backend hanging elsewhere. Please reopen if you can still reproduce and debug.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.