]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/xserver.git/blob - debian/patches/105_nvidia_fglrx_autodetect.patch
Applied all debian/patches from glsdk-6_00_00_07 release
[glsdk/xserver.git] / debian / patches / 105_nvidia_fglrx_autodetect.patch
1 From 0366a844c36bf8424a2625425c181b9b97f35bee Mon Sep 17 00:00:00 2001
2 From: Robert Hooker <sarvatt@ubuntu.com>
3 Date: Wed, 1 Sep 2010 13:23:21 -0400
4 Subject: [PATCH] Attempt to get nvidia and fglrx working without an xorg.conf.
6 Signed-off-by: Robert Hooker <sarvatt@ubuntu.com>
7 ---
8  hw/xfree86/common/xf86AutoConfig.c |   12 +++++++++++-
9  hw/xfree86/common/xf86pciBus.c     |   14 +++++++++-----
10  2 files changed, 20 insertions(+), 6 deletions(-)
12 Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
13 ===================================================================
14 --- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2011-08-24 12:52:45.775647148 +0300
15 +++ xorg-server/hw/xfree86/common/xf86AutoConfig.c      2011-08-24 12:58:12.485651804 +0300
16 @@ -75,6 +75,13 @@
17         "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
18         "EndSection\n\n"
19  
20 +#define BUILTIN_SCREEN_SECTION_PROPRIETARY \
21 +       "Section \"Screen\"\n" \
22 +       "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \
23 +       "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \
24 +       "\tDefaultDepth\t24\n" \
25 +       "EndSection\n\n"
26 +
27  #define BUILTIN_LAYOUT_SECTION_PRE \
28         "Section \"ServerLayout\"\n" \
29         "\tIdentifier\t\"Builtin Default Layout\"\n"
30 @@ -153,7 +160,10 @@
31      for (p = deviceList; *p; p++) {
32         snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p);
33         AppendToConfig(buf);
34 -       snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
35 +       if( strcmp(*p, "fglrx") == 0 || strcmp(*p, "nvidia") == 0)
36 +               snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_PROPRIETARY, *p, 0, *p, 0);
37 +       else
38 +               snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0);
39         AppendToConfig(buf);
40      }
41  
42 Index: xorg-server/hw/xfree86/common/xf86pciBus.c
43 ===================================================================
44 --- xorg-server.orig/hw/xfree86/common/xf86pciBus.c     2011-08-24 12:56:49.535650619 +0300
45 +++ xorg-server/hw/xfree86/common/xf86pciBus.c  2011-08-24 12:57:52.775651523 +0300
46 @@ -1107,7 +1107,10 @@
47         case 0x1142:                driverList[0] = "apm"; break;
48         case 0xedd8:                driverList[0] = "ark"; break;
49         case 0x1a03:                driverList[0] = "ast"; break;
50 -       case 0x1002:                driverList[0] = "ati"; break;
51 +       case 0x1002:
52 +           driverList[0] = "fglrx";
53 +           driverList[1] = "ati";
54 +           break;
55         case 0x102c:                driverList[0] = "chips"; break;
56         case 0x1013:                driverList[0] = "cirrus"; break;
57         case 0x3d3d:                driverList[0] = "glint"; break;
58 @@ -1124,20 +1127,21 @@
59         case 0x102b:                driverList[0] = "mga";      break;
60         case 0x10c8:                driverList[0] = "neomagic"; break;
61         case 0x10de: case 0x12d2:
62 +           driverList[0] = "nvidia";
63             switch (dev->device_id) {
64             /* NV1 */
65             case 0x0008:
66             case 0x0009:
67 -               driverList[0] = "vesa";
68 +               driverList[1] = "vesa";
69                 break;
70             /* NV3 */
71             case 0x0018:
72             case 0x0019:
73 -               driverList[0] = "nv";
74 +               driverList[1] = "nv";
75                 break;
76             default:
77 -               driverList[0] = "nouveau";
78 -               driverList[1] = "nv";
79 +               driverList[1] = "nouveau";
80 +               driverList[2] = "nv";
81                 break;
82             }
83             break;