server:fixed folder named

This commit is contained in:
ayhanyalcinsoy
2015-06-19 14:58:24 +03:00
parent 802326e660
commit 989fceacdc
28 changed files with 0 additions and 0 deletions
@@ -0,0 +1,83 @@
From: Adam Jackson <ajax@redhat.com>
Date: Sun, 28 Oct 2007 09:37:52 +0100
Subject: [PATCH] Fedora extra modes list
---
--- a/hw/xfree86/common/extramodes
+++ b/hw/xfree86/common/extramodes
@@ -3,16 +3,75 @@
//
// $XFree86: xc/programs/Xserver/hw/xfree86/etc/extramodes,v 1.5 2002/06/05 19:43:05 dawes Exp $
//
+// NOTE: Please keep all video modes sorted in order of X res, then Y res for
+// ease of maintenance and readability.
# 832x624 @ 75Hz (74.55Hz) (fix if the official/Apple spec is different) hsync: 49.725kHz
ModeLine "832x624" 57.284 832 864 928 1152 624 625 628 667 -Hsync -Vsync
+# 1152x864 @ 60.00 Hz (GTF) hsync: 53.70 kHz; pclk: 81.62 MHz
+Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895 -HSync +Vsync
+
+# 1152x864 @ 70.00 Hz (GTF) hsync: 63.00 kHz; pclk: 96.77 MHz
+Modeline "1152x864" 96.77 1152 1224 1344 1536 864 865 868 900 -HSync +Vsync
+
+# 1152x864 @ 75.00 Hz (GTF) hsync: 67.65 kHz; pclk: 104.99 MHz
+Modeline "1152x864" 104.99 1152 1224 1352 1552 864 865 868 902 -HSync +Vsync
+
+# 1152x864 @ 85.00 Hz (GTF) hsync: 77.10 kHz; pclk: 119.65 MHz
+Modeline "1152x864" 119.65 1152 1224 1352 1552 864 865 868 907 -HSync +Vsync
+
+# 1152x864 @ 85Hz (Red Hat custom modeline)
+ModeLine "1152x864" 121.5 1152 1216 1344 1568 864 865 868 911 +hsync -vsync
+
+# 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
+Modeline "1152x864" 143.47 1152 1232 1360 1568 864 865 868 915 -HSync +Vsync
+
+# 1360x768 59.96 Hz (CVT) hsync: 47.37 kHz; pclk: 72.00 MHz
+Modeline "1360x768" 72.00 1360 1408 1440 1520 768 771 781 790 +hsync -vsync
+
+# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
+Modeline "1360x768" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
+
# 1400x1050 @ 60Hz (VESA GTF) hsync: 65.5kHz
ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync
+# 1400x1050 @ 70.00 Hz (GTF) hsync: 76.51 kHz; pclk: 145.06 MHz
+Modeline "1400x1050" 145.06 1400 1496 1648 1896 1050 1051 1054 1093 -HSync +Vsync
+
# 1400x1050 @ 75Hz (VESA GTF) hsync: 82.2kHz
ModeLine "1400x1050" 155.8 1400 1464 1784 1912 1050 1052 1064 1090 +hsync +vsync
+# 1400x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 179.26 MHz
+Modeline "1400x1050" 179.26 1400 1504 1656 1912 1050 1051 1054 1103 -HSync +Vsync
+
+# 1440x900 @ 60.00 Hz (CVT) field rate 59.89 Hz; hsync: 55.93 kHz; pclk: 106.50 MHz
+Modeline "1440x900" 106.50 1440 1520 1672 1904 900 903 909 934 -HSync +Vsync
+
+# 1600x1024 for SGI 1600 SW
+ModeLine "1600x1024" 103.125 1600 1600 1656 1664 1024 1024 1029 1030 +Hsync +Vsync
+
+# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
+Modeline "1680x1050" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync
+
+# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
+Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
+
+# 1680x1050 69.88 Hz (CVT) hsync: 76.58 kHz; pclk: 174.00 MHz
+Modeline "1680x1050" 174.00 1680 1800 1976 2272 1050 1053 1059 1096 -hsync +vsync
+
+# 1680x1050 74.89 Hz (CVT 1.76MA) hsync: 82.31 kHz; pclk: 187.00 MHz
+Modeline "1680x1050" 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync
+
+# 1680x1050 84.94 Hz (CVT 1.76MA) hsync: 93.86 kHz; pclk: 214.75 MHz
+Modeline "1680x1050" 214.75 1680 1808 1984 2288 1050 1053 1059 1105 -hsync +vsync
+
+# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz
+Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync
+
+# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz
+Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync
+
# 1920x1440 @ 85Hz (VESA GTF) hsync: 128.5kHz
Modeline "1920x1440" 341.35 1920 2072 2288 2656 1440 1441 1444 1512 -hsync +vsync
@@ -0,0 +1,17 @@
Link against static libnettle
There's no libnettle udeb.
Index: xorg-server/configure.ac
===================================================================
--- xorg-server.orig/configure.ac 2013-08-02 20:15:25.471466837 +0200
+++ xorg-server/configure.ac 2013-08-02 20:17:12.875999417 +0200
@@ -1433,7 +1433,7 @@
if test "x$with_sha1" = xlibnettle; then
AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1],
[Use libnettle SHA1 functions])
- SHA1_LIBS=-lnettle
+ SHA1_LIBS=-l:libnettle.a
fi
AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes])
if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then
@@ -0,0 +1,28 @@
From 272537ae14a04911fcf2fec51492fa0f91c4a676 Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Wed, 29 Aug 2012 20:16:40 +0200
Subject: [PATCH] Revert "Unload submodules."
This reverts commit 0d4bb5442ceb8e8e4a8de6cfc4203cae469eee72.
This doesn't seem to work quite well. See Debian bug#686152.
---
hw/xfree86/common/xf86Helper.c | 6 ++++++
1 file changed, 6 insertions(+)
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1596,7 +1596,13 @@ xf86LoadOneModule(char *name, pointer op
void
xf86UnloadSubModule(pointer mod)
{
+ /*
+ * This is disabled for now. The loader isn't smart enough yet to undo
+ * relocations.
+ */
+#if 0
UnloadSubModule(mod);
+#endif
}
Bool
@@ -0,0 +1,68 @@
From 10aaa5d2ffa62df99f03c857dc78e6ff2b33c183 Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Sun, 30 Sep 2012 12:02:11 +0200
Subject: [PATCH] Revert "fb: reorder Bresenham error correction to avoid
overshoot."
This reverts commit 3e62f48edf47a59d923ac58b6d4262b02456a556.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54168
Debian: http://buss.debian.org/688908
Signed-off-by: Julien Cristau <jcristau@debian.org>
---
fb/fbseg.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/fb/fbseg.c b/fb/fbseg.c
index 1848387..0e4e0a9 100644
--- a/fb/fbseg.c
+++ b/fb/fbseg.c
@@ -65,12 +65,6 @@ fbBresSolid(DrawablePtr pDrawable,
if (axis == X_AXIS) {
bits = 0;
while (len--) {
- if (e >= 0) {
- WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
- bits = 0;
- dst += dstStride;
- e += e3;
- }
bits |= mask;
mask = fbBresShiftMask(mask, signdx, dstBpp);
if (!mask) {
@@ -80,12 +74,21 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
e += e1;
+ if (e >= 0) {
+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
+ bits = 0;
+ dst += dstStride;
+ e += e3;
+ }
}
if (bits)
WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
}
else {
while (len--) {
+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
+ dst += dstStride;
+ e += e1;
if (e >= 0) {
e += e3;
mask = fbBresShiftMask(mask, signdx, dstBpp);
@@ -94,9 +97,6 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
}
- WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
- dst += dstStride;
- e += e1;
}
}
--
1.7.10.4
@@ -0,0 +1,53 @@
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
index 43c746b..750b425 100644
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -75,6 +75,13 @@
"\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
"EndSection\n\n"
+#define BUILTIN_SCREEN_SECTION_PROPRIETARY \
+ "Section \"Screen\"\n" \
+ "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \
+ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
+ "\tDefaultDepth\t24\n" \
+ "EndSection\n\n"
+
#define BUILTIN_LAYOUT_SECTION_PRE \
"Section \"ServerLayout\"\n" \
"\tIdentifier\t\"Builtin Default Layout\"\n"
@@ -153,7 +160,11 @@ xf86AutoConfig(void)
for (p = deviceList; *p; p++) {
snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p);
AppendToConfig(buf);
- snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
+ if (strcmp(*p, "fglrx") == 0 || strcmp(*p, "nvidia") == 0)
+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_PROPRIETARY, *p,
+ 0, *p, 0);
+ else
+ snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
AppendToConfig(buf);
}
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index e52f1da..bd62a7e 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1107,7 +1107,8 @@ videoPtrToDriverList(struct pci_device *dev,
driverList[0] = "ast";
break;
case 0x1002:
- driverList[0] = "ati";
+ driverList[0] = "fglrx";
+ driverList[1] = "ati";
break;
case 0x102c:
driverList[0] = "chips";
@@ -1143,6 +1144,7 @@ videoPtrToDriverList(struct pci_device *dev,
{
int idx = 0;
+ driverList[idx++] = "nvidia";
#ifdef __linux__
driverList[idx++] = "nouveau";
#endif
@@ -0,0 +1,20 @@
Description: Fix build failure with GCC 4.8
This patches fixes the following build failure:
../../dix/window.c:887:5: error: implicit declaration of function 'DeleteWindowFromAnySelections' [-Werror=implicit-function-declaration]
by including "selection.h", where the function is prototyped.
Author: Gerardo Malazdrewicz <gerardo@malazdrewicz.com.ar>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701372
--- xorg-server-1.12.4/dix/window.c 2012-05-17 14:09:02.000000000 -0300
+++ xorg-server-1.12.4.good/dix/window.c 2013-04-18 11:53:06.787521781 -0300
@@ -131,6 +131,8 @@
#include "xace.h"
#include "exevents.h"
+#include "selection.h"
+
#include <X11/Xatom.h> /* must come after server includes */
/******
@@ -0,0 +1,15 @@
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index e52f1da..462faa9 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -135,8 +135,8 @@ xf86PciProbe(void)
}
else {
xf86Msg(X_NOTICE,
- "More than one possible primary device found\n");
- primaryBus.type ^= (BusType) (-1);
+ "More than one possible primary device found. Using first one seen.\n");
+ break;
}
}
}
@@ -0,0 +1,78 @@
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
@@ -161,6 +161,7 @@
int xf86NumInputDrivers = 0;
int xf86NumScreens = 0;
int xf86NumGPUScreens = 0;
+Bool xf86AttemptedFallback = FALSE;
const char *xf86VisualNames[] = {
"StaticGray",
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -481,20 +481,34 @@
free(optionlist);
}
+ Fallback:
/* Load all driver modules specified in the config file */
/* If there aren't any specified in the config file, autoconfig them */
/* FIXME: Does not handle multiple active screen sections, but I'm not
* sure if we really want to handle that case*/
configured_device = xf86ConfigLayout.screens->screen->device;
- if ((!configured_device) || (!configured_device->driver)) {
+ if (xf86AttemptedFallback) {
+ configured_device->driver = NULL;
+ if (!autoConfigDevice(configured_device)) {
+ xf86Msg(X_ERROR, "Auto configuration on fallback failed\n");
+ return;
+ }
+ }
+ else if ((!configured_device) || (!configured_device->driver)) {
if (!autoConfigDevice(configured_device)) {
xf86Msg(X_ERROR, "Automatic driver configuration failed\n");
return;
}
}
if ((modulelist = xf86DriverlistFromConfig())) {
- xf86LoadModules(modulelist, NULL);
- free(modulelist);
+ if (!xf86LoadModules(modulelist, NULL) && !xf86AttemptedFallback) {
+ free(modulelist);
+ xf86AttemptedFallback = TRUE;
+ goto Fallback;
+ }
+ else {
+ free(modulelist);
+ }
}
/* Load all input driver modules specified in the config file. */
@@ -554,8 +568,15 @@
else
xf86Info.dontVTSwitch = TRUE;
- if (xf86BusConfig() == FALSE)
- return;
+ if (xf86BusConfig() == FALSE) {
+ if (!xf86AttemptedFallback) {
+ xf86AttemptedFallback = TRUE;
+ goto Fallback;
+ }
+ else {
+ return;
+ }
+ }
xf86PostProbe();
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -89,6 +89,7 @@
extern _X_EXPORT Bool xf86Resetting;
extern _X_EXPORT Bool xf86Initialising;
extern _X_EXPORT int xf86NumScreens;
+extern _X_EXPORT Bool xf86AttemptedFallback;
extern _X_EXPORT const char *xf86VisualNames[];
extern _X_EXPORT int xf86Verbose; /* verbosity level */
extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */
@@ -0,0 +1,15 @@
diff --git a/mi/midispcur.c b/mi/midispcur.c
index 24b9a70..266c7e0 100644
--- a/mi/midispcur.c
+++ b/mi/midispcur.c
@@ -466,6 +466,10 @@ miDCRestoreUnderCursor(DeviceIntPtr pDev, ScreenPtr pScreen,
GCPtr pGC;
pBuffer = miGetDCDevice(pDev, pScreen);
+
+ if (!pBuffer)
+ return FALSE;
+
pSave = pBuffer->pSave;
pWin = pScreen->root;
@@ -0,0 +1,111 @@
From 37d51acb3b6a38af1717bfaa7925043c35bfb447 Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Fri, 17 Aug 2012 09:49:24 +1000
Subject: [PATCH] autobind GPUs to the screen, (v3)
this is racy and really not what we want for hotplug going forward,
but until DE support is in GNOME its probably for the best.
v2: fix if config or slave config is NULL
v3: fix multi useful slaves
DO NOT UPSTREAM.
---
hw/xfree86/common/xf86Init.c | 12 ++++++++++++
hw/xfree86/common/xf86platformBus.c | 3 +++
hw/xfree86/modes/xf86Crtc.c | 32 ++++++++++++++++++++++++++++++++
3 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index d231ced..89629c1 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -361,6 +361,16 @@ xf86CreateRootWindow(WindowPtr pWin)
return ret;
}
+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);
+static void
+xf86AutoConfigOutputDevices(void)
+{
+ int i;
+
+ for (i = 0; i < xf86NumGPUScreens; i++)
+ xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
+}
+
static void
InstallSignalHandlers(void)
{
@@ -926,6 +936,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)
OsReleaseSIGIO();
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index 0525e39..82fef32 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -387,6 +387,8 @@ xf86platformProbeDev(DriverPtr drvp)
return foundScreen;
}
+extern void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master);
+
int
xf86platformAddDevice(int index)
{
@@ -446,6 +448,7 @@ xf86platformAddDevice(int index)
/* attach unbound to 0 protocol screen */
AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen);
+ xf86AutoConfigOutputDevice(xf86GPUScreens[i], xf86Screens[0]);
return 0;
}
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 3011f13..34c1848 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -3323,3 +3323,35 @@ xf86DetachAllCrtc(ScrnInfoPtr scrn)
crtc->x = crtc->y = 0;
}
}
+
+
+void xf86AutoConfigOutputDevice(ScrnInfoPtr pScrn, ScrnInfoPtr master)
+{
+ RRProviderPtr master_provider;
+ xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(master);
+ xf86CrtcConfigPtr slave_config = XF86_CRTC_CONFIG_PTR(pScrn);
+ Bool unbound = FALSE;
+
+ if (!config || !slave_config)
+ return;
+
+ master_provider = config->randr_provider;
+
+ if ((master->capabilities & RR_Capability_SinkOffload) &&
+ pScrn->capabilities & RR_Capability_SourceOffload) {
+ /* source offload */
+
+ DetachUnboundGPU(pScrn->pScreen);
+ unbound = TRUE;
+ AttachOffloadGPU(master->pScreen, pScrn->pScreen);
+ slave_config->randr_provider->offload_sink = master_provider;
+ }
+ if ((master->capabilities & RR_Capability_SourceOutput) &&
+ pScrn->capabilities & RR_Capability_SinkOutput) {
+ /* sink offload */
+ if (!unbound)
+ DetachUnboundGPU(pScrn->pScreen);
+ AttachOutputGPU(master->pScreen, pScrn->pScreen);
+ slave_config->randr_provider->output_source = master_provider;
+ }
+}
--
1.8.1
@@ -0,0 +1,12 @@
diff --git a/dix/window.c b/dix/window.c
index 49ef4a0..5b87238 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -110,6 +110,7 @@ Equipment Corporation.
#include "input.h"
#include "inputstr.h"
#include "resource.h"
+#include "selection.h"
#include "colormapst.h"
#include "cursorstr.h"
#include "dixstruct.h"
@@ -0,0 +1,24 @@
commit b770266fa9c3fab5374bdf109676e0b129ac4546
Author: Bryce Harrington <bryce@canonical.com>
Date: Wed Apr 3 13:36:20 2013 -0700
Don't bother probing -nv on linux.
For linux this driver is long obsolete now. It may have some relevance
on non-linux systems.
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index b2545be..73a662d 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1220,8 +1220,9 @@ xf86VideoPtrToDriverList(struct pci_device *dev,
driverList[idx++] = "nvidia";
#ifdef __linux__
driverList[idx++] = "nouveau";
-#endif
+#else
driverList[idx++] = "nv";
+#endif
break;
}
case 0x1106:
@@ -0,0 +1,26 @@
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index c790d50..a47c2d0 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -387,7 +387,7 @@ xf86platformProbeDev(DriverPtr drvp)
Bool foundScreen = FALSE;
GDevPtr *devList;
const unsigned numDevs = xf86MatchDevice(drvp->driverName, &devList);
- int i, j;
+ int i, j, flags;
/* find the main device or any device specificed in xorg.conf */
for (i = 0; i < numDevs; i++) {
@@ -415,7 +415,11 @@ xf86platformProbeDev(DriverPtr drvp)
if (j == xf86_num_platform_devices)
continue;
- foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], 0);
+ flags = 0;
+ if (!devList[i]->active)
+ flags |= PLATFORM_PROBE_GPU_SCREEN;
+
+ foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], flags);
if (!foundScreen)
continue;
}
@@ -0,0 +1,36 @@
diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c
index 92d0f6d..a33366a 100644
--- a/hw/xfree86/common/xf86xv.c
+++ b/hw/xfree86/common/xf86xv.c
@@ -234,7 +234,7 @@ xf86XVScreenInit(ScreenPtr pScreen, XF86VideoAdaptorPtr * adaptors, int num)
XF86XVScreenPtr ScreenPriv;
XvScreenPtr pxvs;
- if (num <= 0 || noXvExtension)
+ if (num <= 0 || noXvExtension || pScreen->isGPU)
return FALSE;
if (Success != XvScreenInit(pScreen))
diff --git a/hw/xfree86/common/xf86xvmc.c b/hw/xfree86/common/xf86xvmc.c
index 78a32bf..a0f6fcd 100644
--- a/hw/xfree86/common/xf86xvmc.c
+++ b/hw/xfree86/common/xf86xvmc.c
@@ -148,11 +148,15 @@ xf86XvMCScreenInit(ScreenPtr pScreen,
{
XvMCAdaptorPtr pAdapt;
xf86XvMCScreenPtr pScreenPriv;
- XvScreenPtr pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
- XF86XvScreenKey);
+ XvScreenPtr pxvs;
int i, j;
- if (noXvExtension)
+ if (noXvExtension || pScreen->isGPU || !XF86XvScreenKey)
+ return FALSE;
+
+ pxvs = (XvScreenPtr) dixLookupPrivate(&pScreen->devPrivates,
+ XF86XvScreenKey);
+ if (!pxvs)
return FALSE;
if (!(pAdapt = malloc(sizeof(XvMCAdaptorRec) * num_adaptors)))