Skip to content

Modesetting: keep going if a modeset fails on EnterVT

Martin Roukala requested to merge mupuf/xserver:enter_vt_fix into master

There was a time when setting a mode on a CRTC would not depend on the associated connector's state. If a mode had been set successfully once, it would mean it would work later on.

This changed with the introduction of new connectors type that now require a link training sequence (DP, HDMI 2.0), and that means that some events may have happened while the X server was not master that would then prevent the mode from successfully be restored to its previous state.

This patch relaxes the requirement that all modes should be restored on EnterVT, or the entire X-Server would go down by allowing modesets to fail (with some warnings). If a modeset fails, the CRTC will be disabled, and a RandR event will be sent for the desktop environment to fix the situation as well as possible.

Additional patches might be needed to make sure that the user would never be left with all screens black in some scenarios.

Edited by Martin Roukala

Merge request reports