KMS Recovery Mechanism Being Worked On For Linux Display Drivers
([Linux Kernel] 6 Hours Ago
KMS Recovery)
- Reference: 0001611947
- News link: https://www.phoronix.com/news/KMS-Recovery-Mechanism
- Source link:
A Linux kernel engineer at Microsoft is working on a useful Linux desktop improvement. Hamza Mahfooz who previously worked for AMD on their AMDGPU Linux display driver code has been spearheading work on a KMS recovery mechanism to help kernel mode-setting display drivers recover in case of problems.
Hamza's work is trying to address the possibility of the display stalling indefinitely where a hard reset of the system is then needed to recover.
Instead of stalling indefinitely, the KMS recovery mechanism aims to force a full mode-setting to re-program the state from scratch. Or if that fails, a new optional function allowing for driver/vendor-specific handling could be called for trying to address the stall / page-flip timeout.
"There should be a mechanism for drivers to respond to flip_done timeouts. Since, as it stands it is possible for the display to stall indefinitely, necessitating a hard reset. So, introduce a new mechanism that tries various methods of recovery with increasing aggression, in the following order:
1. Force a full modeset (have the compositor reprogram the state from scratch).
3. As a last resort, have the driver attempt a vendor specific reset (assuming it provides an implementation to drm_crtc_funcs.page_flip_timeout())."
That recovery mechanism infrastructure is currently out for review on the [1]mailing list .
[1] https://lore.kernel.org/dri-devel/20260206235846.1019172-1-someguy@effective-light.com/T/#t
Hamza's work is trying to address the possibility of the display stalling indefinitely where a hard reset of the system is then needed to recover.
Instead of stalling indefinitely, the KMS recovery mechanism aims to force a full mode-setting to re-program the state from scratch. Or if that fails, a new optional function allowing for driver/vendor-specific handling could be called for trying to address the stall / page-flip timeout.
"There should be a mechanism for drivers to respond to flip_done timeouts. Since, as it stands it is possible for the display to stall indefinitely, necessitating a hard reset. So, introduce a new mechanism that tries various methods of recovery with increasing aggression, in the following order:
1. Force a full modeset (have the compositor reprogram the state from scratch).
3. As a last resort, have the driver attempt a vendor specific reset (assuming it provides an implementation to drm_crtc_funcs.page_flip_timeout())."
That recovery mechanism infrastructure is currently out for review on the [1]mailing list .
[1] https://lore.kernel.org/dri-devel/20260206235846.1019172-1-someguy@effective-light.com/T/#t