[PATCH xserver v3] autobind GPUs to the screen
Timo Aaltonen
tjaalton at ubuntu.com
Thu Mar 16 10:38:36 UTC 2017
On 06.12.2016 16:22, Hans de Goede wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> This is a modified version of a patch we've been carry-ing in Fedora and
> RHEL for years now. This patch automatically adds secondary GPUs to the
> master as output sink / offload source making e.g. the use of
> slave-outputs just work, with requiring the user to manually run
> "xrandr --setprovideroutputsource" before he can hookup an external
> monitor to his hybrid graphics laptop.
>
> There is one problem with this patch, which is why it was not upstreamed
> before. What to do when a secondary GPU gets detected really is a policy
> decission (e.g. one may want to autobind PCI GPUs but not USB ones) and
> as such should be under control of the Desktop Environment.
>
> Unconditionally adding autobinding support to the xserver will result
> in races between the DE dealing with the hotplug of a secondary GPU
> and the server itself dealing with it.
>
> However we've waited for years for any Desktop Environments to actually
> start doing some sort of autoconfiguration of secondary GPUs and there
> is still not a single DE dealing with this, so I believe that it is
> time to upstream this now.
>
> To avoid potential future problems if any DEs get support for doing
> secondary GPU configuration themselves, the new autobind functionality
> is made optional. Since no DEs currently support doing this themselves it
> is enabled by default. When DEs grow support for doing this themselves
> they can disable the servers autobinding through the servers cmdline or a
> xorg.conf snippet.
>
> Signed-off-by: Dave Airlie <airlied at gmail.com>
> [hdegoede at redhat.com: Make configurable, fix with nvidia, submit upstream]
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> Changes in v2:
> -Make the default enabled instead of installing a xorg.conf
> snippet which enables it unconditionally
> Changes in v3:
> -Handle GPUScreen autoconfig in randr/rrprovider.c, looking at
> rrScrPriv->provider, rather then in hw/xfree86/modes/xf86Crtc.c
> looking at xf86CrtcConfig->provider. This fixes the autoconfig not
> working with the nvidia binary driver
Tested-by: Timo Aaltonen <tjaalton at ubuntu.com>
Ubuntu has had the old version for some years, and now this one works
with 1.19.x so would like to see it upstream.
--
t
More information about the xorg-devel
mailing list