Display / surface freeze
So this is a really weird bug.
Setup
Weston version 10.0.0 with a protocol addition (to kiosk-shell) which triggers weston_compositor_sleep
or weston_compositor_wake
via a motion sensor. For reference (soerenmeier/weston@6ddfbd67) don't think it matters particularly.
The application that is run is chromium.
Problem
So on most devices / hardware I tested everything works great, the display turns on and off chromium is always responding.
But there is one device CPU: Intel 4205U Display: ELO ET2796L (with touch) weston_startup.txt
Which sometimes just freezes, turning the display on and off still works (dpms). But the view/chromium does not get updated so if i press somewhere or use the mouse nothing happens. After debugging a bit I found out that chromium still receives the inputs and processes them correctly on my website (click events are fired). So it seems chromium or my website are still working correctly.
After adding WAYLAND_DEBUG=1 when everything works great i see after clicking, wl_surface@25.commit()
and alot more see working.txt
.
But after the freeze occurres only the following lines get outputed:
May 31 03:12:13 iron-os weston[201]: [1987568.506] -> wl_touch@3.motion(605792, 0, 225.000000, 590.359375)
May 31 03:12:13 iron-os weston[201]: [1987568.573] -> wl_touch@3.frame()
May 31 03:12:13 iron-os weston[201]: [1987578.532] -> wl_touch@3.motion(605802, 0, 229.218750, 578.496094)
May 31 03:12:13 iron-os weston[201]: [1987578.604] -> wl_touch@3.frame()
May 31 03:12:13 iron-os weston[201]: [1987588.535] -> wl_touch@3.motion(605812, 0, 230.625000, 574.277344)
May 31 03:12:13 iron-os weston[201]: [1987588.609] -> wl_touch@3.frame()
May 31 03:12:13 iron-os weston[201]: [1987598.458] -> wl_touch@3.motion(605822, 0, 233.437500, 567.687500)
May 31 03:12:13 iron-os weston[201]: [1987598.539] -> wl_touch@3.frame()
What makes this hard for me to reproduce consistently is, that it doesnt always happen, there might be no problem one day but suddenly it doesn't work, after a restart of chromium or weston everything works again.
I'm not sure this is important but the display/monitor is quit slow on startup, so if the dpms signal gets sent the display takes around 5s until something is showed. But that is hardware dependent.
I tried to debug it a bit but I'm not sure where to look for or even if it is weston's fault maybe its a chromium bug. Please let me know what i can do or look for, maybe you already have an idea what the problem could be. Thanks a lot.
Edit
So i just ran weston-debug timeline and was lucky enough that the error occured again. Here it seems that repaints still happen: timeline.txt