Commit 4ab8bda9 authored by Eric Vidal's avatar Eric Vidal 💬
Browse files

upgpkg: 1.20.7-2

parent 558e2346
From 17584285d296acaa80f131ca0e8b75eff675962b Mon Sep 17 00:00:00 2001
From: fafryd <dz1125.bug.tracker@gmail.com>
Date: Sun, 20 May 2018 14:30:43 +0200
Subject: [PATCH] v2 FS#58644
---
hw/xfree86/common/meson.build | 13 +++++++++++++
hw/xfree86/meson.build | 12 +++++++-----
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/hw/xfree86/common/meson.build b/hw/xfree86/common/meson.build
index 514999ff6..0eff6e488 100644
--- a/hw/xfree86/common/meson.build
+++ b/hw/xfree86/common/meson.build
@@ -1,3 +1,16 @@
+if get_option('suid_wrapper')
+ x_sh = configure_file(
+ input: '../Xorg.sh.in',
+ output: 'Xorg',
+ configuration: conf_data,
+ )
+ install_data(
+ x_sh,
+ install_mode: 'rwxr-xr-x',
+ install_dir: join_paths(get_option('prefix'), get_option('bindir')),
+ )
+endif
+
srcs_xorg_common = [
'xf86fbBus.c',
'xf86noBus.c',
diff --git a/hw/xfree86/meson.build b/hw/xfree86/meson.build
index cacf56d4c..d1295d404 100644
--- a/hw/xfree86/meson.build
+++ b/hw/xfree86/meson.build
@@ -145,11 +145,13 @@ if get_option('suid_wrapper')
install_dir: get_option('libexecdir'),
# install_mode: ['r-sr-xr-x', 0, 0],
)
- configure_file(
- input: 'Xorg.sh.in',
- output: 'Xorg',
- configuration: conf_data,
- install_dir: join_paths(get_option('prefix'), get_option('bindir')),
+ meson.add_install_script(
+ 'sh', '-c',
+ 'chmod u+s @0@@1@/@2@'.format(
+ '${DESTDIR}',
+ join_paths(get_option('prefix'), get_option('libexecdir')),
+ 'Xorg.wrap'
+ )
)
endif
--
2.17.0
From a530b6e8923f2b9153a773c8618a1e2f41619288 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 30 Apr 2019 18:01:27 -0400
Subject: [PATCH] meson: Fix libshadow.so linkage
Don't link against fb, it's the driver's responsibility to load that
first. Underlinking like this is unpleasant but this matches what
autotools does.
Fixes: xorg/xserver#540
---
hw/xfree86/dixmods/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/xfree86/dixmods/meson.build b/hw/xfree86/dixmods/meson.build
index 835d23215..0562b630f 100644
--- a/hw/xfree86/dixmods/meson.build
+++ b/hw/xfree86/dixmods/meson.build
@@ -34,7 +34,7 @@ shared_module(
c_args: xorg_c_args,
dependencies: common_dep,
link_whole: libxserver_miext_shadow,
- link_with: [fb, e],
+ link_with: e,
install: true,
install_dir: module_dir,
--
2.22.0
# Obarun : 66 init/supervisor
# Maintainer : Eric Vidal <eric@obarun.org>
# Maintainer : Jean-Michel T.Dydak <jean-michel@obarun.org>
# PkgSource : url="https://framagit.org/pkg/obextra/xorg-server-rootless"
#-----------------------------------------------------------------------------------------------
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=xorg-server
pkgname=(
'xorg-server-rootless'
'xorg-server-xephyr-rootless'
'xorg-server-xvfb-rootless'
'xorg-server-xnest-rootless'
'xorg-server-xwayland-rootless'
'xorg-server-common-rootless'
'xorg-server-devel-rootless')
pkgver=1.20.7
pkgrel=2
track=
target="${pkgbase}-${pkgver}.tar.bz2"
url="http://xorg.freedesktop.org"
source=(https://xorg.freedesktop.org/releases/individual/xserver/${target}
xserver-autobind-hotplug.patch
xvfb-run # with updates from FC master
xvfb-run.1
0001-v2-FS-58644.patch
0002-fix-libshadow-2.patch)
#-------------------------------------| BUILD CONFIGURATION |-----------------------------------
makedepends=(
'xorgproto'
'pixman'
'libx11'
'mesa'
'mesa-libgl'
'xtrans'
'libxkbfile'
'libxfont2'
'libpciaccess'
'libxv'
'libxmu'
'libxrender'
'libxi'
'libxaw'
'libxtst'
'libxres'
'xorg-xkbcomp'
'xorg-util-macros'
'xorg-font-util'
'libepoxy'
'xcb-util'
'xcb-util-image'
'xcb-util-renderutil'
'xcb-util-wm'
'xcb-util-keysyms'
'libxshmfence'
'libunwind'
'wayland-protocols'
'egl-wayland'
'meson')
#--------------------------------------| BUILD PREPARATION |------------------------------------
prepare() {
#cd xserver
cd "${pkgbase}-${pkgver}"
# patch from Fedora, not yet merged
patch -Np1 -i ../xserver-autobind-hotplug.patch
# https://bugs.freedesktop.org/show_bug.cgi?id=106588
patch -Np1 -i ../0001-v2-FS-58644.patch
# Fix libshadow.so: libfb.so => not found - FS#58731
# https://bugs.freedesktop.org/show_bug.cgi?id=106656
patch -Np1 -i ../0002-fix-libshadow-2.patch
}
#--------------------------------------------| BUILD |------------------------------------------
build() {
# Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
# With them, module fail to load with undefined symbol.
# See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
export CFLAGS=${CFLAGS/-fno-plt}
export CXXFLAGS=${CXXFLAGS/-fno-plt}
export LDFLAGS=${LDFLAGS/,-z,now}
arch-meson ${pkgbase}-$pkgver build \
-D os_vendor="Obarun" \
-D ipv6=true \
-D xvfb=true \
-D xnest=true \
-D xcsecurity=true \
-D xorg=true \
-D xephyr=true \
-D xwayland=true \
-D xwayland_eglstream=true \
-D glamor=true \
-D udev=true \
-D suid_wrapper=false \
-D xkb_dir=/usr/share/X11/xkb \
-D xkb_output_dir=/var/lib/xkb \
-D systemd_logind=false
# Print config
meson configure build
ninja -C build
# fake installation to be seperated into packages
DESTDIR="${srcdir}/fakeinstall" ninja -C build install
}
#--------------------------------------------| CHECK |------------------------------------------
#-------------------------------------------| PACKAGE |-----------------------------------------
_install() {
local src f dir
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
mv -v "${src}" "${dir}/"
done
}
package_xorg-server-common-rootless() {
pkgdesc="Xorg server common files"
depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
conflicts=('xorg-server-common')
provides=('xorg-server-common')
_install fakeinstall/usr/lib/xorg/protocol.txt
_install fakeinstall/usr/share/man/man1/Xserver.1
install -m644 -Dt "${pkgdir}/var/lib/xkb/" "${pkgbase}-${pkgver}"/xkb/README.compiled
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-rootless() {
pkgdesc="Xorg X server"
depends=(libepoxy libxfont2 pixman xorg-server-common-rootless libunwind
dbus libgl xf86-input-libinput nettle
libpciaccess libdrm libxshmfence) # FS#52949
# see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions - we provide major numbers that drivers can depend on
# and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
provides=('X-ABI-VIDEODRV_VERSION=24.0' 'X-ABI-XINPUT_VERSION=24.1' 'X-ABI-EXTENSION_VERSION=10.0' 'x-server' 'xorg-server')
conflicts=('nvidia-utils<=331.20' 'glamor-egl' 'xf86-video-modesetting' 'xorg-server')
replaces=('glamor-egl' 'xf86-video-modesetting')
install=xorg-server-rootless.install
_install fakeinstall/usr/bin/{Xorg,cvt,gtf}
ln -s /usr/bin/Xorg "${pkgdir}/usr/bin/X"
#_install fakeinstall/usr/lib/Xorg{,.wrap}
_install fakeinstall/usr/lib/xorg/modules/*
_install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf
_install fakeinstall/usr/share/man/man1/{Xorg,cvt,gtf}.1
_install fakeinstall/usr/share/man/man4/{exa,fbdevhw,modesetting}.4
_install fakeinstall/usr/share/man/man5/{xorg.conf,xorg.conf.d}.5
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xephyr-rootless() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont2 libgl libepoxy libunwind libxv pixman xorg-server-common-rootless
xcb-util-image xcb-util-renderutil xcb-util-wm xcb-util-keysyms
nettle libtirpc)
conflicts=('xorg-server-xephyr')
provides=('xorg-server-xephyr')
_install fakeinstall/usr/bin/Xephyr
_install fakeinstall/usr/share/man/man1/Xephyr.1
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xvfb-rootless() {
pkgdesc="Virtual framebuffer X server"
depends=(libxfont2 libunwind pixman xorg-server-common-rootless xorg-xauth libgl nettle libtirpc)
conflicts=('xorg-server-xvfb')
provides=('xorg-server-xvfb')
_install fakeinstall/usr/bin/Xvfb
_install fakeinstall/usr/share/man/man1/Xvfb.1
install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" # outda
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xnest-rootless() {
pkgdesc="A nested X server that runs as an X application"
depends=(libxfont2 libxext pixman xorg-server-common-rootless nettle libtirpc)
conflicts=('xorg-server-xnest')
provides=('xorg-server-xnest')
_install fakeinstall/usr/bin/Xnest
_install fakeinstall/usr/share/man/man1/Xnest.1
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-xwayland-rootless() {
pkgdesc="run X clients under wayland"
depends=(libxfont2 libepoxy libunwind libgl pixman xorg-server-common-rootless
nettle libtirpc)
conflicts=('xorg-server-xwayland')
provides=('xorg-server-xwayland')
_install fakeinstall/usr/bin/Xwayland
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
}
package_xorg-server-devel-rootless() {
pkgdesc="Development files for the X.Org X server"
depends=('xorgproto' 'mesa' 'libpciaccess'
# not technically required but almost every Xorg pkg needs it to build
'xorg-util-macros')
conflicts=('xorg-server-devel')
provides=('xorg-server-devel')
_install fakeinstall/usr/include/xorg/*
_install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
_install fakeinstall/usr/share/aclocal/xorg-server.m4
# license
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
# make sure there are no files left to install
find fakeinstall -depth -print0 | xargs -0 rmdir
}
#------------------------------------| INSTALL CONFIGURATION |----------------------------------
arch=('x86_64')
groups=('xorg')
#-------------------------------------| SECURITY AND LICENCE |----------------------------------
license=('custom')
validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
'C383B778255613DFDB409D91DB221A6900000011'
'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3'
'995ED5C8A6138EB0961F18474C09DD83CAAA50B2')
sha512sums=('625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631'
'd707e0870367de2665c3b82f09564d17ed3f62c9e8b4bd471c11af1fb1e9249e306e92c7961a04e355756eec9f5271bc8e66999e56c73c31bc9da4127ff30a8e'
'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22'
'55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6'
'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22'
'f05c18354a3cf5b5b0fa97c4a887cfd688297e39d7ddc93b5900357119a689a060321019aeec9ca9c1366ea4b65b7875b2a9cadb84e46d2c193c15e6df22fcd8'
'9cb9a979dfc2de4fac384a1044b368bb97c8b0b524523aa2a96ef55c673ab5350c50cc79ad103655f40c2e0002cdcc2e1646fade3ac78641616d182e7c500be7')
post_install() {
chown -v :input /usr/bin/Xorg
chmod -v g+s /usr/bin/Xorg
cat <<MSG
>>> Xserver will fail to run if not launched from the same virtual
terminal as was used to log in.
Without root rights, log files will be in ~/.local/share/xorg/ directory.
MSG
}
post_upgrade() {
post_install $1
}
From 471289fa1dc359555ceed6302f7d9605ab6be3ea Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Mon, 2 Apr 2018 16:49:02 -0400
Subject: [PATCH] autobind GPUs to the screen
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@gmail.com>
[hdegoede@redhat.com: Make configurable, fix with nvidia, submit upstream]
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
hw/xfree86/common/xf86Config.c | 19 +++++++++++++++++++
hw/xfree86/common/xf86Globals.c | 2 ++
hw/xfree86/common/xf86Init.c | 20 ++++++++++++++++++++
hw/xfree86/common/xf86Priv.h | 1 +
hw/xfree86/common/xf86Privstr.h | 1 +
hw/xfree86/common/xf86platformBus.c | 4 ++++
hw/xfree86/man/Xorg.man | 7 +++++++
hw/xfree86/man/xorg.conf.man | 6 ++++++
randr/randrstr.h | 3 +++
randr/rrprovider.c | 22 ++++++++++++++++++++++
10 files changed, 85 insertions(+)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 2c1d335..d7d7c2e 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -643,6 +643,7 @@ typedef enum {
FLAG_DRI2,
FLAG_USE_SIGIO,
FLAG_AUTO_ADD_GPU,
+ FLAG_AUTO_BIND_GPU,
FLAG_MAX_CLIENTS,
FLAG_IGLX,
FLAG_DEBUG,
@@ -699,6 +700,8 @@ static OptionInfoRec FlagOptions[] = {
{0}, FALSE},
{FLAG_AUTO_ADD_GPU, "AutoAddGPU", OPTV_BOOLEAN,
{0}, FALSE},
+ {FLAG_AUTO_BIND_GPU, "AutoBindGPU", OPTV_BOOLEAN,
+ {0}, FALSE},
{FLAG_MAX_CLIENTS, "MaxClients", OPTV_INTEGER,
{0}, FALSE },
{FLAG_IGLX, "IndirectGLX", OPTV_BOOLEAN,
@@ -779,6 +782,22 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
}
xf86Msg(from, "%sutomatically adding GPU devices\n",
xf86Info.autoAddGPU ? "A" : "Not a");
+
+ if (xf86AutoBindGPUDisabled) {
+ xf86Info.autoBindGPU = FALSE;
+ from = X_CMDLINE;
+ }
+ else if (xf86IsOptionSet(FlagOptions, FLAG_AUTO_BIND_GPU)) {
+ xf86GetOptValBool(FlagOptions, FLAG_AUTO_BIND_GPU,
+ &xf86Info.autoBindGPU);
+ from = X_CONFIG;
+ }
+ else {
+ from = X_DEFAULT;
+ }
+ xf86Msg(from, "%sutomatically binding GPU devices\n",
+ xf86Info.autoBindGPU ? "A" : "Not a");
+
/*
* Set things up based on the config file information. Some of these
* settings may be overridden later when the command line options are
diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
index e890f05..7b27b4c 100644
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
@@ -131,6 +131,7 @@ xf86InfoRec xf86Info = {
#else
.autoAddGPU = FALSE,
#endif
+ .autoBindGPU = TRUE,
};
const char *xf86ConfigFile = NULL;
@@ -191,6 +192,7 @@ Bool xf86FlipPixels = FALSE;
Gamma xf86Gamma = { 0.0, 0.0, 0.0 };
Bool xf86AllowMouseOpenFail = FALSE;
+Bool xf86AutoBindGPUDisabled = FALSE;
#ifdef XF86VIDMODE
Bool xf86VidModeDisabled = FALSE;
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index ea42ec9..ec255b6 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -76,6 +76,7 @@
#include "xf86DDC.h"
#include "xf86Xinput.h"
#include "xf86InPriv.h"
+#include "xf86Crtc.h"
#include "picturestr.h"
#include "randrstr.h"
#include "glxvndabi.h"
@@ -237,6 +238,19 @@ xf86PrivsElevated(void)
return PrivsElevated();
}
+static void
+xf86AutoConfigOutputDevices(void)
+{
+ int i;
+
+ if (!xf86Info.autoBindGPU)
+ return;
+
+ for (i = 0; i < xf86NumGPUScreens; i++)
+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]),
+ xf86ScrnToScreen(xf86Screens[0]));
+}
+
static void
TrapSignals(void)
{
@@ -770,6 +784,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
for (i = 0; i < xf86NumGPUScreens; i++)
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
+ xf86AutoConfigOutputDevices();
+
xf86VGAarbiterWrapFunctions();
if (sigio_blocked)
input_unlock();
@@ -1278,6 +1294,10 @@ ddxProcessArgument(int argc, char **argv, int i)
xf86Info.iglxFrom = X_CMDLINE;
return 0;
}
+ if (!strcmp(argv[i], "-noautoBindGPU")) {
+ xf86AutoBindGPUDisabled = TRUE;
+ return 1;
+ }
/* OS-specific processing */
return xf86ProcessArgument(argc, argv, i);
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
index 4fe2b5f..6566622 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -46,6 +46,7 @@
extern _X_EXPORT const char *xf86ConfigFile;
extern _X_EXPORT const char *xf86ConfigDir;
extern _X_EXPORT Bool xf86AllowMouseOpenFail;
+extern _X_EXPORT Bool xf86AutoBindGPUDisabled;
#ifdef XF86VIDMODE
extern _X_EXPORT Bool xf86VidModeDisabled;
diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
index 21c2e1f..6c71863 100644
--- a/hw/xfree86/common/xf86Privstr.h
+++ b/hw/xfree86/common/xf86Privstr.h
@@ -98,6 +98,7 @@ typedef struct {
Bool autoAddGPU;
const char *debug;
+ Bool autoBindGPU;
} xf86InfoRec, *xf86InfoPtr;
/* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index cef47da..913a324 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -49,6 +49,7 @@
#include "Pci.h"
#include "xf86platformBus.h"
#include "xf86Config.h"
+#include "xf86Crtc.h"
#include "randrstr.h"
int platformSlotClaimed;
@@ -665,6 +666,9 @@ xf86platformAddDevice(int index)
}
/* attach unbound to 0 protocol screen */
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
+ if (xf86Info.autoBindGPU)
+ RRProviderAutoConfigGpuScreen(xf86ScrnToScreen(xf86GPUScreens[i]),
+ xf86ScrnToScreen(xf86Screens[0]));
RRResourcesChanged(xf86Screens[0]->pScreen);
RRTellChanged(xf86Screens[0]->pScreen);
diff --git a/hw/xfree86/man/Xorg.man b/hw/xfree86/man/Xorg.man
index 13a9dc3..745f986 100644
--- a/hw/xfree86/man/Xorg.man
+++ b/hw/xfree86/man/Xorg.man
@@ -283,6 +283,13 @@ is a comma separated list of directories to search for
server modules. This option is only available when the server is run
as root (i.e, with real-uid 0).
.TP 8
+.B \-noautoBindGPU
+Disable automatically setting secondary GPUs up as output sinks and offload
+sources. This is equivalent to setting the
+.B AutoBindGPU
+xorg.conf(__filemansuffix__) file option. To
+.B false.
+.TP 8
.B \-nosilk
Disable Silken Mouse support.
.TP 8
diff --git a/hw/xfree86/man/xorg.conf.man b/hw/xfree86/man/xorg.conf.man
index 9589262..8d51e06 100644
--- a/hw/xfree86/man/xorg.conf.man
+++ b/hw/xfree86/man/xorg.conf.man
@@ -672,6 +672,12 @@ Enabled by default.
If this option is disabled, then no GPU devices will be added from the udev
backend. Enabled by default. (May need to be disabled to setup Xinerama).
.TP 7
+.BI "Option \*qAutoBindGPU\*q \*q" boolean \*q
+If enabled then secondary GPUs will be automatically set up as output-sinks and
+offload-sources. Making e.g. laptop outputs connected only to the secondary
+GPU directly available for use without needing to run
+"xrandr --setprovideroutputsource". Enabled by default.
+.TP 7
.BI "Option \*qLog\*q \*q" string \*q
This option controls whether the log is flushed and/or synced to disk after