wlroots/backend
Christopher Snowhill 1447e00abb
backend/drm: retry drm commit when async commit fails
Asynchronous commits can fail due to property changes, but only
if they change in value. However, since the commit failed, the
compositor will continue to retry, failing each time. Fall back
to synchronous commit on async error, which should kickstart the
properties changes. Typically, this is cursor plane FB_ID changes
whenever the compositor or game changes the cursor image, and
without this fallback, it will continue to queue the FB_ID
change, breaking commits until async is disabled, such as by task
switching away from the async hinted app. The existing kernel-
side no-op check will not work if the initial property change
never goes through. This breaks the cycle.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2024-07-12 00:03:03 -07:00
..
drm backend/drm: retry drm commit when async commit fails 2024-07-12 00:03:03 -07:00
headless backend/headless: take wl_event_loop instead of wl_display 2024-01-25 15:05:36 +00:00
libinput build: require libinput v1.19 2024-07-04 22:51:07 +02:00
multi backend/multi: implement wlr_backend_impl.{test,commit} 2024-03-14 22:03:10 +00:00
session backend/session: use "KMS" instead of "DRM" in log messages 2024-06-17 09:43:38 +02:00
wayland backend/wayland: use wl_shm.release if available 2024-07-07 18:16:48 +02:00
x11 backend/x11: send correct keyboard layout 2024-05-26 12:52:42 +00:00
backend.c backend: add wlr_backend_{test,commit}() 2024-03-14 22:03:10 +00:00
meson.build backend/session: make optional 2022-11-25 16:15:29 +00:00