Merge pull request #6359 from Rmys/master

xorg-server-1.19.6
This commit is contained in:
Rmys
2019-01-30 01:10:47 +03:00
committed by GitHub
2 changed files with 57 additions and 43 deletions
+47 -37
View File
@@ -1,7 +1,7 @@
From 471289fa1dc359555ceed6302f7d9605ab6be3ea Mon Sep 17 00:00:00 2001
From 4471df41ea6e94834a2b10643ca7fcd69682d276 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
Date: Fri, 17 Aug 2012 09:49:24 +1000
Subject: [PATCH xserver v3] 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
@@ -34,6 +34,15 @@ 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>
---
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
---
hw/xfree86/common/xf86Config.c | 19 +++++++++++++++++++
hw/xfree86/common/xf86Globals.c | 2 ++
@@ -48,18 +57,18 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
10 files changed, 85 insertions(+)
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 2c1d335..d7d7c2e 100644
index 21daf1a..df3ca50 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -643,6 +643,7 @@ typedef enum {
@@ -719,6 +719,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[] = {
} FlagValues;
@@ -778,6 +779,8 @@ static OptionInfoRec FlagOptions[] = {
{0}, FALSE},
{FLAG_AUTO_ADD_GPU, "AutoAddGPU", OPTV_BOOLEAN,
{0}, FALSE},
@@ -68,7 +77,7 @@ index 2c1d335..d7d7c2e 100644
{FLAG_MAX_CLIENTS, "MaxClients", OPTV_INTEGER,
{0}, FALSE },
{FLAG_IGLX, "IndirectGLX", OPTV_BOOLEAN,
@@ -779,6 +782,22 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
@@ -857,6 +860,22 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
}
xf86Msg(from, "%sutomatically adding GPU devices\n",
xf86Info.autoAddGPU ? "A" : "Not a");
@@ -92,10 +101,10 @@ index 2c1d335..d7d7c2e 100644
* 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
index e962b75..0d1e31b 100644
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
@@ -131,6 +131,7 @@ xf86InfoRec xf86Info = {
@@ -136,6 +136,7 @@ xf86InfoRec xf86Info = {
#else
.autoAddGPU = FALSE,
#endif
@@ -103,7 +112,7 @@ index e890f05..7b27b4c 100644
};
const char *xf86ConfigFile = NULL;
@@ -191,6 +192,7 @@ Bool xf86FlipPixels = FALSE;
@@ -197,6 +198,7 @@ Bool xf86FlipPixels = FALSE;
Gamma xf86Gamma = { 0.0, 0.0, 0.0 };
Bool xf86AllowMouseOpenFail = FALSE;
@@ -112,7 +121,7 @@ index e890f05..7b27b4c 100644
#ifdef XF86VIDMODE
Bool xf86VidModeDisabled = FALSE;
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index ea42ec9..ec255b6 100644
index a544b65..b0cba3d 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -76,6 +76,7 @@
@@ -121,13 +130,12 @@ index ea42ec9..ec255b6 100644
#include "xf86InPriv.h"
+#include "xf86Crtc.h"
#include "picturestr.h"
#include "randrstr.h"
#include "glxvndabi.h"
@@ -237,6 +238,19 @@ xf86PrivsElevated(void)
return PrivsElevated();
#include "xf86Bus.h"
@@ -298,6 +299,19 @@ xf86PrivsElevated(void)
}
+static void
static void
+xf86AutoConfigOutputDevices(void)
+{
+ int i;
@@ -140,10 +148,11 @@ index ea42ec9..ec255b6 100644
+ xf86ScrnToScreen(xf86Screens[0]));
+}
+
static void
TrapSignals(void)
+static void
InstallSignalHandlers(void)
{
@@ -770,6 +784,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
/*
@@ -871,6 +885,8 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
for (i = 0; i < xf86NumGPUScreens; i++)
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
@@ -152,7 +161,7 @@ index ea42ec9..ec255b6 100644
xf86VGAarbiterWrapFunctions();
if (sigio_blocked)
input_unlock();
@@ -1278,6 +1294,10 @@ ddxProcessArgument(int argc, char **argv, int i)
@@ -1389,6 +1405,10 @@ ddxProcessArgument(int argc, char **argv, int i)
xf86Info.iglxFrom = X_CMDLINE;
return 0;
}
@@ -164,7 +173,7 @@ index ea42ec9..ec255b6 100644
/* 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
index c1f8a18..9a3d0df 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -46,6 +46,7 @@
@@ -176,22 +185,22 @@ index 4fe2b5f..6566622 100644
#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
index c29b3cc..4c5f54b 100644
--- a/hw/xfree86/common/xf86Privstr.h
+++ b/hw/xfree86/common/xf86Privstr.h
@@ -98,6 +98,7 @@ typedef struct {
@@ -102,6 +102,7 @@ typedef struct {
MessageType dri2From;
Bool autoAddGPU;
const char *debug;
+ Bool autoBindGPU;
} xf86InfoRec, *xf86InfoPtr;
/* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */
#ifdef DPMSExtension
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index cef47da..913a324 100644
index 063e81c..42789ca 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -49,6 +49,7 @@
@@ -48,6 +48,7 @@
#include "Pci.h"
#include "xf86platformBus.h"
#include "xf86Config.h"
@@ -199,7 +208,7 @@ index cef47da..913a324 100644
#include "randrstr.h"
int platformSlotClaimed;
@@ -665,6 +666,9 @@ xf86platformAddDevice(int index)
@@ -579,6 +580,9 @@ xf86platformAddDevice(int index)
}
/* attach unbound to 0 protocol screen */
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
@@ -210,7 +219,7 @@ index cef47da..913a324 100644
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
index def9bfc..8df6b7d 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
@@ -228,10 +237,10 @@ index 13a9dc3..745f986 100644
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
index 7d0c524..3e596e4 100644
--- a/hw/xfree86/man/xorg.conf.man
+++ b/hw/xfree86/man/xorg.conf.man
@@ -672,6 +672,12 @@ Enabled by default.
@@ -673,6 +673,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
@@ -245,10 +254,10 @@ index 9589262..8d51e06 100644
This option controls whether the log is flushed and/or synced to disk after
each message.
diff --git a/randr/randrstr.h b/randr/randrstr.h
index f94174b..092d726 100644
index 706e9a7..66999d5 100644
--- a/randr/randrstr.h
+++ b/randr/randrstr.h
@@ -1039,6 +1039,9 @@ RRProviderLookup(XID id, RRProviderPtr *provider_p);
@@ -976,6 +976,9 @@ RRProviderLookup(XID id, RRProviderPtr *provider_p);
extern _X_EXPORT void
RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider);
@@ -259,10 +268,10 @@ index f94174b..092d726 100644
extern _X_EXPORT void
diff --git a/randr/rrprovider.c b/randr/rrprovider.c
index e4bc2bf..e04c18f 100644
index f9df67e..abc5685 100644
--- a/randr/rrprovider.c
+++ b/randr/rrprovider.c
@@ -485,3 +485,25 @@ RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider)
@@ -482,3 +482,25 @@ RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider)
WriteEventsToClient(client, 1, (xEvent *) &pe);
}
@@ -289,4 +298,5 @@ index e4bc2bf..e04c18f 100644
+ pScrPriv->rrProviderSetOffloadSink(pScreen, provider, master_provider);
+}
--
2.16.2
2.9.3
+10 -6
View File
@@ -11,7 +11,7 @@
<License>MIT</License>
<Summary>X.Org X Server</Summary>
<Description>X server is the main application that allows a graphical interface.</Description>
<Archive sha1sum="a522cd543606b4d0509d821b8061904951171c50" type="tarbz2">mirrors://xorg/individual/xserver/xorg-server-1.20.3.tar.bz2</Archive>
<Archive sha1sum="2dd560ac49bdbda7f67166546af43541fabf517f" type="tarbz2">mirrors://xorg/individual/xserver/xorg-server-1.19.6.tar.bz2</Archive>
<BuildDependencies>
<Dependency>libbsd-devel</Dependency>
<Dependency>font-util</Dependency>
@@ -52,17 +52,15 @@
<Dependency>libXau-devel</Dependency>
<Dependency>libICE-devel</Dependency>
<Dependency>libSM-devel</Dependency>
<Dependency>openssl-devel</Dependency>
<Dependency>xorg-app-devel</Dependency>
<Dependency>wayland-devel</Dependency>
<Dependency>wayland-protocols-devel</Dependency>
</BuildDependencies>
<Patches>
<!-- <Patch level="1">nvidia-add-modulepath-support.patch</Patch> -->
<Patch level="1">nvidia-add-modulepath-support.patch</Patch>
<Patch level="1">xserver-autobind-hotplug.patch</Patch>
<Patch level="1">xorg-server-1.12-unloadsubmodule.patch</Patch>
<Patch level="1">xorg-server-1.18-support-multiple-Files-sections.patch</Patch>
<!-- <Patch level="1">xorg-server-1.19.4-sysmacros.patch</Patch> -->
<Patch level="1">xorg-server-1.19.4-sysmacros.patch</Patch>
</Patches>
</Source>
@@ -88,7 +86,6 @@
</Replaces>
<IsA>app:console</IsA>
<RuntimeDependencies>
<Dependency>libbsd</Dependency>
<Dependency>libXau</Dependency>
<Dependency>eudev</Dependency>
<Dependency>libXdmcp</Dependency>
@@ -271,6 +268,13 @@
</Package>
<History>
<Update release="10">
<Date>2019-01-30</Date>
<Version>1.20.3</Version>
<Comment>Version bump</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="9">
<Date>2019-01-07</Date>
<Version>1.20.3</Version>