mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-31 14:37:59 +00:00
xorg-server: update to xorg-server-1.9.99.903
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
050b64a1b8
commit
aeeee06176
@ -42,7 +42,7 @@ cd $PKG_BUILD
|
|||||||
--disable-static \
|
--disable-static \
|
||||||
--enable-shared \
|
--enable-shared \
|
||||||
--disable-debug \
|
--disable-debug \
|
||||||
--disable-builddocs \
|
--disable-silent-rules \
|
||||||
--disable-strict-compilation \
|
--disable-strict-compilation \
|
||||||
--enable-largefile \
|
--enable-largefile \
|
||||||
--enable-visibility \
|
--enable-visibility \
|
||||||
@ -93,6 +93,8 @@ cd $PKG_BUILD
|
|||||||
--enable-xfbdev \
|
--enable-xfbdev \
|
||||||
--disable-install-setuid \
|
--disable-install-setuid \
|
||||||
--disable-secure-rpc \
|
--disable-secure-rpc \
|
||||||
|
--disable-docs \
|
||||||
|
--disable-devel-docs \
|
||||||
--with-int10=x86emu \
|
--with-int10=x86emu \
|
||||||
--disable-ipv6 \
|
--disable-ipv6 \
|
||||||
--with-gnu-ld \
|
--with-gnu-ld \
|
||||||
@ -102,9 +104,8 @@ cd $PKG_BUILD
|
|||||||
--with-xkb-path=$XORG_PATH_XKB \
|
--with-xkb-path=$XORG_PATH_XKB \
|
||||||
--with-xkb-output=/var/cache/xkb \
|
--with-xkb-output=/var/cache/xkb \
|
||||||
--with-log-dir=/var/log \
|
--with-log-dir=/var/log \
|
||||||
--with-dri-driver-path=$XORG_PATH_DRI \
|
|
||||||
--with-fontrootdir=/usr/share/fonts \
|
--with-fontrootdir=/usr/share/fonts \
|
||||||
--with-default-font-path="/usr/share/fonts/misc,built-ins"
|
--with-default-font-path="/usr/share/fonts/misc,built-ins" \
|
||||||
|
|
||||||
make
|
make
|
||||||
$MAKEINSTALL
|
$MAKEINSTALL
|
@ -43,7 +43,6 @@ mkdir -p $XORG_DST
|
|||||||
cp -P $XORG_SRC/vgahw/.libs/libvgahw.so $XORG_DST
|
cp -P $XORG_SRC/vgahw/.libs/libvgahw.so $XORG_DST
|
||||||
cp -P $XORG_SRC/dixmods/.libs/libwfb.so $XORG_DST
|
cp -P $XORG_SRC/dixmods/.libs/libwfb.so $XORG_DST
|
||||||
cp -P $XORG_SRC/xaa/.libs/libxaa.so $XORG_DST
|
cp -P $XORG_SRC/xaa/.libs/libxaa.so $XORG_DST
|
||||||
cp -P $XORG_SRC/xf8_16bpp/.libs/libxf8_16bpp.so $XORG_DST
|
|
||||||
|
|
||||||
mkdir -p $XORG_DST/extensions
|
mkdir -p $XORG_DST/extensions
|
||||||
cp -P $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions
|
cp -P $XORG_SRC/dixmods/.libs/libdbe.so $XORG_DST/extensions
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xorg-server"
|
PKG_NAME="xorg-server"
|
||||||
PKG_VERSION="1.9.4"
|
PKG_VERSION="1.9.99.903"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="OSS"
|
PKG_LICENSE="OSS"
|
||||||
|
@ -5,9 +5,9 @@ Signed-off-by: Bryce Harrington <bryce@canonical.com>
|
|||||||
|
|
||||||
Index: xorg-server/configure.ac
|
Index: xorg-server/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xorg-server.orig/configure.ac 2010-07-14 14:02:00.000000000 +1000
|
--- xorg-server.orig/configure.ac 2011-01-31 15:12:21.000000000 +1100
|
||||||
+++ xorg-server/configure.ac 2010-07-14 14:18:57.201453001 +1000
|
+++ xorg-server/configure.ac 2011-01-31 15:13:26.563659152 +1100
|
||||||
@@ -540,9 +540,9 @@
|
@@ -537,9 +537,9 @@
|
||||||
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
|
AC_ARG_WITH(xkb-path, AS_HELP_STRING([--with-xkb-path=PATH], [Path to XKB base dir (default: ${datadir}/X11/xkb)]),
|
||||||
[ XKBPATH="$withval" ],
|
[ XKBPATH="$withval" ],
|
||||||
[ XKBPATH="${datadir}/X11/xkb" ])
|
[ XKBPATH="${datadir}/X11/xkb" ])
|
||||||
@ -19,7 +19,7 @@ Index: xorg-server/configure.ac
|
|||||||
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
|
AC_ARG_WITH(default-xkb-rules, AS_HELP_STRING([--with-default-xkb-rules=RULES],
|
||||||
[Keyboard ruleset (default: base/evdev)]),
|
[Keyboard ruleset (default: base/evdev)]),
|
||||||
[ XKB_DFLT_RULES="$withval" ],
|
[ XKB_DFLT_RULES="$withval" ],
|
||||||
@@ -1175,7 +1175,7 @@
|
@@ -1165,7 +1165,7 @@
|
||||||
dnl Make sure XKM_OUTPUT_DIR is an absolute path
|
dnl Make sure XKM_OUTPUT_DIR is an absolute path
|
||||||
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
|
XKBOUTPUT_FIRSTCHAR=`echo $XKBOUTPUT | cut -b 1`
|
||||||
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
|
if [[ x$XKBOUTPUT_FIRSTCHAR != x/ -a x$XKBOUTPUT_FIRSTCHAR != 'x$' ]] ; then
|
||||||
@ -30,8 +30,8 @@ Index: xorg-server/configure.ac
|
|||||||
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
|
dnl XKM_OUTPUT_DIR (used in code) must end in / or file names get hosed
|
||||||
Index: xorg-server/xkb/README.compiled
|
Index: xorg-server/xkb/README.compiled
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xorg-server.orig/xkb/README.compiled 2010-06-18 12:58:19.000000000 +1000
|
--- xorg-server.orig/xkb/README.compiled 2011-01-28 12:31:51.000000000 +1100
|
||||||
+++ xorg-server/xkb/README.compiled 2010-07-14 14:18:57.201453001 +1000
|
+++ xorg-server/xkb/README.compiled 2011-01-31 15:13:26.563659152 +1100
|
||||||
@@ -4,10 +4,10 @@
|
@@ -4,10 +4,10 @@
|
||||||
or some other tool might destroy or replace the files in this directory,
|
or some other tool might destroy or replace the files in this directory,
|
||||||
so it is not a safe place to store compiled keymaps for long periods of
|
so it is not a safe place to store compiled keymaps for long periods of
|
||||||
@ -49,8 +49,8 @@ Index: xorg-server/xkb/README.compiled
|
|||||||
different hosts could cause problems.
|
different hosts could cause problems.
|
||||||
Index: xorg-server/xkb/ddxLoad.c
|
Index: xorg-server/xkb/ddxLoad.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- xorg-server.orig/xkb/ddxLoad.c 2010-07-14 13:21:02.000000000 +1000
|
--- xorg-server.orig/xkb/ddxLoad.c 2011-01-31 14:28:22.000000000 +1100
|
||||||
+++ xorg-server/xkb/ddxLoad.c 2010-07-14 14:51:09.761453001 +1000
|
+++ xorg-server/xkb/ddxLoad.c 2011-01-31 15:17:50.814046721 +1100
|
||||||
@@ -30,6 +30,12 @@
|
@@ -30,6 +30,12 @@
|
||||||
|
|
||||||
#include <xkb-config.h>
|
#include <xkb-config.h>
|
||||||
@ -64,17 +64,13 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <X11/X.h>
|
#include <X11/X.h>
|
||||||
@@ -43,24 +49,13 @@
|
@@ -43,20 +49,9 @@
|
||||||
#define XKBSRV_NEED_FILE_FUNCS
|
#define XKBSRV_NEED_FILE_FUNCS
|
||||||
#include <xkbsrv.h>
|
#include <xkbsrv.h>
|
||||||
#include <X11/extensions/XI.h>
|
#include <X11/extensions/XI.h>
|
||||||
+#include <errno.h>
|
+#include <errno.h>
|
||||||
#include "xkb.h"
|
#include "xkb.h"
|
||||||
|
|
||||||
#if defined(CSRG_BASED) || defined(linux) || defined(__GNU__)
|
|
||||||
#include <paths.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- /*
|
- /*
|
||||||
- * If XKM_OUTPUT_DIR specifies a path without a leading slash, it is
|
- * If XKM_OUTPUT_DIR specifies a path without a leading slash, it is
|
||||||
- * relative to the top-level XKB configuration directory.
|
- * relative to the top-level XKB configuration directory.
|
||||||
@ -90,7 +86,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
|
#define PRE_ERROR_MSG "\"The XKEYBOARD keymap compiler (xkbcomp) reports:\""
|
||||||
#define ERROR_PREFIX "\"> \""
|
#define ERROR_PREFIX "\"> \""
|
||||||
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
|
#define POST_ERROR_MSG1 "\"Errors from xkbcomp are not fatal to the X server\""
|
||||||
@@ -174,6 +169,47 @@
|
@@ -170,6 +165,47 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -138,7 +134,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
static Bool
|
static Bool
|
||||||
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
|
XkbDDXCompileKeymapByNames( XkbDescPtr xkb,
|
||||||
XkbComponentNamesPtr names,
|
XkbComponentNamesPtr names,
|
||||||
@@ -183,7 +219,11 @@
|
@@ -179,7 +215,11 @@
|
||||||
int nameRtrnLen)
|
int nameRtrnLen)
|
||||||
{
|
{
|
||||||
FILE * out;
|
FILE * out;
|
||||||
@ -151,7 +147,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
|
|
||||||
const char *emptystring = "";
|
const char *emptystring = "";
|
||||||
char *xkbbasedirflag = NULL;
|
char *xkbbasedirflag = NULL;
|
||||||
@@ -194,14 +234,67 @@
|
@@ -190,14 +230,67 @@
|
||||||
/* WIN32 has no popen. The input must be stored in a file which is
|
/* WIN32 has no popen. The input must be stored in a file which is
|
||||||
used as input for xkbcomp. xkbcomp does not read from stdin. */
|
used as input for xkbcomp. xkbcomp does not read from stdin. */
|
||||||
char tmpname[PATH_MAX];
|
char tmpname[PATH_MAX];
|
||||||
@ -160,8 +156,9 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
#else
|
#else
|
||||||
- const char *xkmfile = "-";
|
- const char *xkmfile = "-";
|
||||||
+ const char *xkbfile = "-";
|
+ const char *xkbfile = "-";
|
||||||
+#endif
|
#endif
|
||||||
+
|
|
||||||
|
- snprintf(keymap, sizeof(keymap), "server-%s", display);
|
||||||
+ /* Write keymap source (xkbfile) to memory buffer `xkbKeyMapBuf',
|
+ /* Write keymap source (xkbfile) to memory buffer `xkbKeyMapBuf',
|
||||||
+ of which SHA1 is generated and used as result xkm file name */
|
+ of which SHA1 is generated and used as result xkm file name */
|
||||||
+ memset(xkbKeyMapBuf, 0, sizeof(xkbKeyMapBuf));
|
+ memset(xkbKeyMapBuf, 0, sizeof(xkbKeyMapBuf));
|
||||||
@ -181,13 +178,12 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
+ ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n");
|
+ ErrorF("[xkb] XkbDDXCompileKeymapByNames compiling keymap:\n");
|
||||||
+ fputs(xkbKeyMapBuf, stderr);
|
+ fputs(xkbKeyMapBuf, stderr);
|
||||||
+ }
|
+ }
|
||||||
#endif
|
+#endif
|
||||||
+ if (!ret) {
|
+ if (!ret) {
|
||||||
+ ErrorF("[xkb] Generating XKB Keymap failed, giving up compiling keymap\n");
|
+ ErrorF("[xkb] Generating XKB Keymap failed, giving up compiling keymap\n");
|
||||||
+ return FALSE;
|
+ return FALSE;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
- snprintf(keymap, sizeof(keymap), "server-%s", display);
|
|
||||||
+ DebugF("[xkb] computing SHA1 of keymap\n");
|
+ DebugF("[xkb] computing SHA1 of keymap\n");
|
||||||
+ if (Success == Sha1Asc(sha1Asc, xkbKeyMapBuf)) {
|
+ if (Success == Sha1Asc(sha1Asc, xkbKeyMapBuf)) {
|
||||||
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", sha1Asc);
|
+ snprintf(xkmfile, sizeof(xkmfile), "server-%s", sha1Asc);
|
||||||
@ -222,7 +218,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
strcpy(tmpname, Win32TempDir());
|
strcpy(tmpname, Win32TempDir());
|
||||||
@@ -225,14 +318,20 @@
|
@@ -222,15 +315,21 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,21 +228,22 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
+ goto _ret;
|
+ goto _ret;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
buf = Xprintf("\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
|
if (asprintf(&buf,
|
||||||
|
"\"%s%sxkbcomp\" -w %d %s -xkm \"%s\" "
|
||||||
- "-em1 %s -emp %s -eml %s \"%s%s.xkm\"",
|
- "-em1 %s -emp %s -eml %s \"%s%s.xkm\"",
|
||||||
+ "-em1 %s -emp %s -eml %s \"%s\"",
|
+ "-em1 %s -emp %s -eml %s \"%s\"",
|
||||||
xkbbindir, xkbbindirsep,
|
xkbbindir, xkbbindirsep,
|
||||||
( (xkbDebugFlags < 2) ? 1 :
|
((xkbDebugFlags < 2) ? 1 :
|
||||||
((xkbDebugFlags > 10) ? 10 : (int)xkbDebugFlags) ),
|
((xkbDebugFlags > 10) ? 10 : (int) xkbDebugFlags)),
|
||||||
- xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
|
- xkbbasedirflag ? xkbbasedirflag : "", xkmfile,
|
||||||
+ xkbbasedirflag ? xkbbasedirflag : "", xkbfile,
|
+ xkbbasedirflag ? xkbbasedirflag : "", xkbfile,
|
||||||
PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
|
PRE_ERROR_MSG, ERROR_PREFIX, POST_ERROR_MSG1,
|
||||||
- xkm_output_dir, keymap);
|
- xkm_output_dir, keymap) == -1)
|
||||||
+ tmpXkmFile);
|
+ tmpXkmFile) == -1)
|
||||||
|
buf = NULL;
|
||||||
|
|
||||||
free(xkbbasedirflag);
|
free(xkbbasedirflag);
|
||||||
|
@@ -240,6 +339,11 @@
|
||||||
@@ -241,6 +340,11 @@
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,7 +255,7 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
out= Popen(buf,"w");
|
out= Popen(buf,"w");
|
||||||
#else
|
#else
|
||||||
@@ -248,31 +352,42 @@
|
@@ -247,30 +351,42 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (out!=NULL) {
|
if (out!=NULL) {
|
||||||
@ -284,28 +281,29 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
{
|
{
|
||||||
+ /* xkbcomp success */
|
+ /* xkbcomp success */
|
||||||
if (xkbDebugFlags)
|
if (xkbDebugFlags)
|
||||||
DebugF("[xkb] xkb executes: %s\n",buf);
|
- DebugF("[xkb] xkb executes: %s\n",buf);
|
||||||
- if (nameRtrn) {
|
- if (nameRtrn) {
|
||||||
- strncpy(nameRtrn,keymap,nameRtrnLen);
|
- strncpy(nameRtrn,keymap,nameRtrnLen);
|
||||||
- nameRtrn[nameRtrnLen-1]= '\0';
|
- nameRtrn[nameRtrnLen-1]= '\0';
|
||||||
|
- }
|
||||||
|
- free(buf);
|
||||||
|
- return TRUE;
|
||||||
|
+ DebugF("[xkb] xkb executes: %s\n",buf);
|
||||||
+
|
+
|
||||||
+ /* if canonicalXkmFileName already exists now, we simply
|
+ /* if canonicalXkmFileName already exists now, we simply
|
||||||
+ overwrite it, this is OK */
|
+ overwrite it, this is OK */
|
||||||
+ ret = rename(tmpXkmFile, canonicalXkmFileName);
|
+ ret = rename(tmpXkmFile, canonicalXkmFileName);
|
||||||
+ if (0 != ret) {
|
+ if (0 != ret) {
|
||||||
+ ErrorF("[xkb] Can't rename %s to %s, error: %s\n",
|
+ ErrorF("[xkb] Can't rename %s to %s, error: %s\n",
|
||||||
+ tmpXkmFile, canonicalXkmFileName,
|
+ tmpXkmFile, canonicalXkmFileName,
|
||||||
+ strerror(errno));
|
+ strerror(errno));
|
||||||
+
|
+
|
||||||
+ /* in case of error, don't unlink tmpXkmFile, leave it
|
+ /* in case of error, don't unlink tmpXkmFile, leave i
|
||||||
+ for debugging */
|
+ for debugging */
|
||||||
+
|
+
|
||||||
+ result = FALSE;
|
+ result = FALSE;
|
||||||
+ goto _ret;
|
+ goto _ret;
|
||||||
}
|
+ }
|
||||||
- if (buf != NULL)
|
|
||||||
- free(buf);
|
|
||||||
- return TRUE;
|
|
||||||
+ result = TRUE;
|
+ result = TRUE;
|
||||||
+ goto _ret;
|
+ goto _ret;
|
||||||
}
|
}
|
||||||
@ -315,12 +313,11 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
/* remove the temporary file */
|
/* remove the temporary file */
|
||||||
unlink(tmpname);
|
unlink(tmpname);
|
||||||
@@ -287,9 +402,17 @@
|
@@ -285,8 +401,17 @@
|
||||||
}
|
}
|
||||||
if (nameRtrn)
|
if (nameRtrn)
|
||||||
nameRtrn[0]= '\0';
|
nameRtrn[0]= '\0';
|
||||||
- if (buf != NULL)
|
- free(buf);
|
||||||
- free(buf);
|
|
||||||
- return FALSE;
|
- return FALSE;
|
||||||
+ result = FALSE;
|
+ result = FALSE;
|
||||||
+
|
+
|
||||||
@ -332,11 +329,11 @@ Index: xorg-server/xkb/ddxLoad.c
|
|||||||
+ if (buf)
|
+ if (buf)
|
||||||
+ free(buf);
|
+ free(buf);
|
||||||
+
|
+
|
||||||
+ return result;
|
+ return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static FILE *
|
static FILE *
|
||||||
@@ -373,7 +496,6 @@
|
@@ -370,7 +495,6 @@
|
||||||
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
|
DebugF("Loaded XKB keymap %s, defined=0x%x\n",fileName,(*xkbRtrn)->defined);
|
||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
@ -1,20 +1,18 @@
|
|||||||
From 9edb8ba5f8217f6f8ed80e064d57a97f4f3e9201 Mon Sep 17 00:00:00 2001
|
From a685b5cf34532cef96fc9b05f735088ac0c0c7ad Mon Sep 17 00:00:00 2001
|
||||||
From: Fedora X Ninjas <x@fedoraproject.org>
|
From: Fedora X Ninjas <x@fedoraproject.org>
|
||||||
Date: Tue, 16 Feb 2010 11:38:17 +1000
|
Date: Tue, 16 Feb 2010 11:38:17 +1000
|
||||||
Subject: [PATCH 07/17] autoconfig: select nouveau by default for NVIDIA GPUs
|
Subject: [PATCH 08/17] autoconfig: select nouveau by default for NVIDIA GPUs
|
||||||
|
|
||||||
Also, don't treat DRI setup failure as an error for nouveau.
|
Also, don't treat DRI setup failure as an error for nouveau.
|
||||||
---
|
---
|
||||||
glx/glxdri.c | 7 +++++--
|
glx/glxdri.c | 7 +++++--
|
||||||
glx/glxdri2.c | 7 +++++--
|
glx/glxdri2.c | 7 +++++--
|
||||||
hw/xfree86/common/xf86pciBus.c | 18 +++++++++++++++++-
|
hw/xfree86/common/xf86AutoConfig.c | 19 ++++++++++++++++++-
|
||||||
3 files changed, 27 insertions(+), 5 deletions(-)
|
3 files changed, 28 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/glx/glxdri.c b/glx/glxdri.c
|
|
||||||
index 32b35db..f3a501e 100644
|
|
||||||
--- a/glx/glxdri.c
|
--- a/glx/glxdri.c
|
||||||
+++ b/glx/glxdri.c
|
+++ b/glx/glxdri.c
|
||||||
@@ -968,6 +968,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -979,6 +979,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
const __DRIconfig **driConfigs;
|
const __DRIconfig **driConfigs;
|
||||||
const __DRIextension **extensions;
|
const __DRIextension **extensions;
|
||||||
int i;
|
int i;
|
||||||
@ -22,7 +20,7 @@ index 32b35db..f3a501e 100644
|
|||||||
|
|
||||||
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
|
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable") ||
|
||||||
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
|
!DRIQueryDirectRenderingCapable(pScreen, &isCapable) ||
|
||||||
@@ -1047,7 +1048,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -1058,7 +1059,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
|
|
||||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||||
if (screen->driver == NULL) {
|
if (screen->driver == NULL) {
|
||||||
@ -33,7 +31,7 @@ index 32b35db..f3a501e 100644
|
|||||||
filename, dlerror());
|
filename, dlerror());
|
||||||
goto handle_error;
|
goto handle_error;
|
||||||
}
|
}
|
||||||
@@ -1185,7 +1188,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -1196,7 +1199,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
|
|
||||||
free(screen);
|
free(screen);
|
||||||
|
|
||||||
@ -42,11 +40,9 @@ index 32b35db..f3a501e 100644
|
|||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
diff --git a/glx/glxdri2.c b/glx/glxdri2.c
|
|
||||||
index 970a51a..c78d4b3 100644
|
|
||||||
--- a/glx/glxdri2.c
|
--- a/glx/glxdri2.c
|
||||||
+++ b/glx/glxdri2.c
|
+++ b/glx/glxdri2.c
|
||||||
@@ -696,6 +696,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -709,6 +709,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
const __DRIextension **extensions;
|
const __DRIextension **extensions;
|
||||||
const __DRIconfig **driConfigs;
|
const __DRIconfig **driConfigs;
|
||||||
int i;
|
int i;
|
||||||
@ -54,7 +50,7 @@ index 970a51a..c78d4b3 100644
|
|||||||
|
|
||||||
screen = calloc(1, sizeof *screen);
|
screen = calloc(1, sizeof *screen);
|
||||||
if (screen == NULL)
|
if (screen == NULL)
|
||||||
@@ -722,7 +723,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -735,7 +736,9 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
|
|
||||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||||
if (screen->driver == NULL) {
|
if (screen->driver == NULL) {
|
||||||
@ -65,7 +61,7 @@ index 970a51a..c78d4b3 100644
|
|||||||
filename, dlerror());
|
filename, dlerror());
|
||||||
goto handle_error;
|
goto handle_error;
|
||||||
}
|
}
|
||||||
@@ -816,7 +819,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
@@ -829,7 +832,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
|
||||||
|
|
||||||
free(screen);
|
free(screen);
|
||||||
|
|
||||||
@ -74,11 +70,9 @@ index 970a51a..c78d4b3 100644
|
|||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
|
|
||||||
index 74016af..9c296f5 100644
|
|
||||||
--- a/hw/xfree86/common/xf86pciBus.c
|
--- a/hw/xfree86/common/xf86pciBus.c
|
||||||
+++ b/hw/xfree86/common/xf86pciBus.c
|
+++ b/hw/xfree86/common/xf86pciBus.c
|
||||||
@@ -1118,7 +1118,23 @@ videoPtrToDriverList(struct pci_device *dev,
|
@@ -1118,7 +1118,24 @@ videoPtrToDriverList(struct pci_device *
|
||||||
break;
|
break;
|
||||||
case 0x102b: driverList[0] = "mga"; break;
|
case 0x102b: driverList[0] = "mga"; break;
|
||||||
case 0x10c8: driverList[0] = "neomagic"; break;
|
case 0x10c8: driverList[0] = "neomagic"; break;
|
||||||
@ -97,12 +91,10 @@ index 74016af..9c296f5 100644
|
|||||||
+ break;
|
+ break;
|
||||||
+ default:
|
+ default:
|
||||||
+ driverList[0] = "nouveau";
|
+ driverList[0] = "nouveau";
|
||||||
|
+ driverList[1] = "nv";
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+ break;
|
+ break;
|
||||||
case 0x1106: driverList[0] = "openchrome"; break;
|
case 0x1106: driverList[0] = "openchrome"; break;
|
||||||
case 0x1b36: driverList[0] = "qxl"; break;
|
case 0x1b36: driverList[0] = "qxl"; break;
|
||||||
case 0x1163: driverList[0] = "rendition"; break;
|
case 0x1163: driverList[0] = "rendition"; break;
|
||||||
--
|
|
||||||
1.7.1
|
|
||||||
|
|
@ -0,0 +1,86 @@
|
|||||||
|
From 0366a844c36bf8424a2625425c181b9b97f35bee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robert Hooker <sarvatt@ubuntu.com>
|
||||||
|
Date: Wed, 1 Sep 2010 13:23:21 -0400
|
||||||
|
Subject: [PATCH] Attempt to get nvidia and fglrx working without an xorg.conf.
|
||||||
|
|
||||||
|
Signed-off-by: Robert Hooker <sarvatt@ubuntu.com>
|
||||||
|
---
|
||||||
|
hw/xfree86/common/xf86AutoConfig.c | 12 +++++++++++-
|
||||||
|
hw/xfree86/common/xf86pciBus.c | 14 +++++++++-----
|
||||||
|
2 files changed, 20 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
|
||||||
|
index 8ef602d..a8f04b9 100644
|
||||||
|
--- a/hw/xfree86/common/xf86AutoConfig.c
|
||||||
|
+++ b/hw/xfree86/common/xf86AutoConfig.c
|
||||||
|
@@ -81,6 +81,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"
|
||||||
|
@@ -159,7 +166,10 @@ 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 930ed83..a6aa4f4 100644
|
||||||
|
--- a/hw/xfree86/common/xf86pciBus.c
|
||||||
|
+++ b/hw/xfree86/common/xf86pciBus.c
|
||||||
|
@@ -1102,7 +1102,10 @@ videoPtrToDriverList(struct pci_device *dev,
|
||||||
|
case 0x1142: driverList[0] = "apm"; break;
|
||||||
|
case 0xedd8: driverList[0] = "ark"; break;
|
||||||
|
case 0x1a03: driverList[0] = "ast"; break;
|
||||||
|
- case 0x1002: driverList[0] = "ati"; break;
|
||||||
|
+ case 0x1002:
|
||||||
|
+ driverList[0] = "fglrx";
|
||||||
|
+ driverList[1] = "ati";
|
||||||
|
+ break;
|
||||||
|
case 0x102c: driverList[0] = "chips"; break;
|
||||||
|
case 0x1013: driverList[0] = "cirrus"; break;
|
||||||
|
case 0x3d3d: driverList[0] = "glint"; break;
|
||||||
|
@@ -1119,20 +1122,21 @@ videoPtrToDriverList(struct pci_device *dev,
|
||||||
|
case 0x102b: driverList[0] = "mga"; break;
|
||||||
|
case 0x10c8: driverList[0] = "neomagic"; break;
|
||||||
|
case 0x10de: case 0x12d2:
|
||||||
|
+ driverList[0] = "nvidia";
|
||||||
|
switch (dev->device_id) {
|
||||||
|
/* NV1 */
|
||||||
|
case 0x0008:
|
||||||
|
case 0x0009:
|
||||||
|
- driverList[0] = "vesa";
|
||||||
|
+ driverList[1] = "vesa";
|
||||||
|
break;
|
||||||
|
/* NV3 */
|
||||||
|
case 0x0018:
|
||||||
|
case 0x0019:
|
||||||
|
- driverList[0] = "nv";
|
||||||
|
+ driverList[1] = "nv";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
- driverList[0] = "nouveau";
|
||||||
|
- driverList[1] = "nv";
|
||||||
|
+ driverList[1] = "nouveau";
|
||||||
|
+ driverList[2] = "nv";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
1.7.2
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user