[PATCH xserver 0/5] Add support for non-desktop output property

Keith Packard keithp at keithp.com
Fri Dec 8 05:56:00 UTC 2017


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.



More information about the xorg-devel mailing list