Priority: P2: Important
Affects Version/s: 5.10.0
Fix Version/s: None
Component/s: QPA: Wayland
Environment:AGL 5.0(EE) on R-Car M3
Qt apps on AGL platform freeze when they are running in background and their visibility in IVI-Shell is set to false. They can not receive any notification from D-Bus or WebSockets until visibility is set to true.
- Build AGL platform for R-Car M3 Starter Kit
- Build the example app attached
- Install the app
- Run the app
- Run another app to hide the app
- check journal log to see if the timer in the app is running or not
wl_display_read_events sometimes doesn't return because someone in the same process is doing something with wayland in other thread(i.e. drawing contents in rendering thread with EGL whose driver also does something with wayland).
wl_display_prepare_read_queue - Prepare to read events from the display's file descriptor to a queue. says that to be thread safe, the code will be something like this.
IIRC, current QPA architecture doesn't allow to run code right before poll(2), so some trick may be needed.
|For Gerrit Dashboard: QTBUG-66075|
|301712,4||Move the wayland socket polling to a separate event thread||dev||qt/qtwayland||Status: NEW||0||0|
|297975,5||Move the wayland socket polling to a separate event thread||5.15||qt/qtwayland||Status: ABANDONED||-1||0|