Commit ebcec450 authored by Eric Vidal's avatar Eric Vidal 💬
Browse files

upgpkg: 1.20.9.r21.g5c400cae1-3

parent 2f10c34f
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 919f1f46fc67dae93b2b3f278fcbfc77af34ec58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
Date: Mon, 31 Aug 2020 12:10:43 +0200
Subject: [PATCH] xfree86: Take second reference for SavedCursor in
xf86CursorSetCursor
The same pointer is kept in CurrentCursor as well, therefore two
RefCursor calls are needed.
Fixes use-after-free after switching VTs.
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1067
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
---
hw/xfree86/ramdac/xf86CursorRD.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/xfree86/ramdac/xf86CursorRD.c b/hw/xfree86/ramdac/xf86CursorRD.c
index 9aa3de97b..c8362d169 100644
--- a/hw/xfree86/ramdac/xf86CursorRD.c
+++ b/hw/xfree86/ramdac/xf86CursorRD.c
@@ -334,6 +334,9 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs,
ScreenPriv->HotY = cursor->bits->yhot;
if (!infoPtr->pScrn->vtSema) {
+ cursor = RefCursor(cursor);
+ if (ScreenPriv->SavedCursor)
+ FreeCursor(ScreenPriv->SavedCursor, None);
ScreenPriv->SavedCursor = cursor;
return;
}
--
2.28.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.9.r21.g5c400cae1
pkgrel=3
url="https://xorg.freedesktop.org/releases/individual/xserver"
track=commit
target=5c400cae1f9817045378966effa6bca91e45aead # server-1.20-branch 2020-11-09
source=("git+https://gitlab.freedesktop.org/xorg/xserver#${track}=${target}"
'xserver-autobind-hotplug.patch'
'0001-v2-FS-58644.patch'
'0002-fix-libshadow-2.patch'
'xvfb-run' ## with updates from FC master
'xvfb-run.1')
#-------------------------------------| 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'
'git')
#--------------------------------------| BUILD PREPARATION |------------------------------------
pkgver() {
cd xserver
git describe --tags | sed 's/^xorg.server.//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
#cd "${pkgbase}-${pkgver}"
cd xserver
## 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
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
arch-meson xserver 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
install -m644 -Dt "${pkgdir}/var/lib/xkb/" xserver/xkb/README.compiled
# license
#install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" xserver/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;