xserver-multidpi/randr
Pekka Paalanen bfb36a5806 randr: auto-bind of GPU is a config change
When a GPU is auto-bound adding more outputs to a screen, that needs to count
as a configuration change on that screen so that a WM listening for
RRScreenChangeNotify gets notified and handles it as a hotplug. This is
particularly for cases where the outputs are already connected. Otherwise
nothing might happen.

Issue #909 describes a real world case where plugging in a DisplayLink dock
with a monitor already connected is sometimes left inactive by GNOME. That
issue is a race, and requires adding a sleep(5); as the first thing in
NewGPUDeviceRequest() to reproduce reliably. With the sleep, the monitor in the
dock will never activate automatically. Add this fix over the sleep, and the
issue is gone.

This fix was originally developed on a branch replicating Ubuntu 19.04 patch
set based on xserver 1.20.4. Testing on master branch was impossible due to
xorg/xserver#910.

Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/909

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2020-02-10 16:07:41 +01:00
..
Makefile.am Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
meson.build meson: Distribute more SDK headers 2018-04-02 13:42:08 -04:00
randr.c During reset/shutdown, clean up leases in DIX instead of each driver 2018-08-02 10:15:26 -04:00
randrstr.h xf86: autobind GPUs to the screen 2019-08-07 12:26:59 +02:00
rrcrtc.c randr: Fix RRCrtcDetachScanoutPixmap() segfault during server teardown 2019-11-11 14:35:57 -08:00
rrdispatch.c Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
rrinfo.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
rrlease.c During reset/shutdown, clean up leases in DIX instead of each driver 2018-08-02 10:15:26 -04:00
rrmode.c Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
rrmonitor.c rrmonitor: allocate using the correct type 2018-01-31 14:43:56 -05:00
rroutput.c During reset/shutdown, clean up leases in DIX instead of each driver 2018-08-02 10:15:26 -04:00
rrpointer.c randr: Fix logic in RRPointerToNearestCrtc 2014-07-30 14:40:17 -07:00
rrproperty.c Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
rrprovider.c randr: auto-bind of GPU is a config change 2020-02-10 16:07:41 +01:00
rrproviderproperty.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
rrscreen.c Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
rrsdispatch.c Add RandR leases with modesetting driver support [v6] 2018-02-27 12:39:50 -05:00
rrtransform.c randr: Silence -Wshift-negative-value warnings 2015-10-19 11:51:52 -04:00
rrtransform.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
rrxinerama.c dispatch: Mark swapped dispatch as _X_COLD 2017-03-01 10:16:20 -05:00