server:fixed folder named
This commit is contained in:
@@ -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
|
||||
+68
@@ -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)))
|
||||
Reference in New Issue
Block a user