5668e71e65b04e420d9236fd6b900d131c76325f
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"
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 }
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;