프로그램 사용/wayland
wayland atomic commit 패치?
구차니
2022. 8. 22. 18:04
오랫만에 생각난김에 검색했는데 8월 2일 커밋된 따끈한 녀석 발견!
[링크 : https://gitlab.freedesktop.org/wayland/weston/-/commits/main?search=atomic]
음.. 잘 해결되면 좋겠네..
backend-drm: improve atomic commit failure handling When an atomic commit fails then the output will be stuck in REPAINT_AWAITING_COMPLETION state. It is waiting for a vblank event that was never scheduled. If the error is EBUSY then it can be expected to be a transient error. So propagate the error and schedule a new repaint in the core compositor. This is necessary because there are some circumstances when the commit can fail unexpectedly: - With 'state_invalid == true' one commit will disable all planes. If another commit for a different output is triggered immediately afterwards, then this commit can temporarily fail with EBUSY because it tries to use the same planes. - At least with i915, if one commit enables an output then a second commit for a different output immediately afterwards can temporarily fail with EBUSY. This is probably caused by some hardware interdependency. Signed-off-by: Michael Olbrich's avatarMichael Olbrich <m.olbrich@pengutronix.de> |
libweston/backend-drm/drm.c의 drm_repaint_flush()와
libweston/compositor.c의 output_repaint_timer_hander() 쪽에 수정이 가해진다.
[링크 : https://gitlab.freedesktop.org/wayland/weston/-/commit/3b3fdc52c31f828ff0fb71d2c6ce7bdcc64f20a1]