Non-desktop monitors are described in RandR protocol version 1.6 to be those which "shouldn't" normally be part of a desktop environment. Monitors like head-mounted displays or the Apple Touch Bar.
Linux detects these using EDID quirks and sets a connector property. We reflect that property up to X applications and then use it to control the RandR 1.6 behavior which specifies that non-desktop outputs always report as 'disconnected' so that existing RandR clients won't include them in any screen configuration. In addition, non-desktop outputs are excluded from the startup screen configuration unless there aren't any others available. The first patch in this series works to accurately track kernel property changes up into RandR properties by looking at the values fetched in the detect function, which is run when the application asks for the current state of the system. In addition, this same logic is used to get the current value of the link-status property at uevent time to drive the reconfiguration code developed for DisplayPort link training failures. I've also posted a kernel patch needed to fix an ordering issue with the amdgpu driver between computing the non-display value from EDID and updating the non-display property from that value. This X server series should work on Intel hardware without any kernel changes. _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
