26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
diff -Nru xorg-server-1.12.1.orig/hw/xfree86/common/xf86Config.c xorg-server-1.12.1/hw/xfree86/common/xf86Config.c
|
|
--- xorg-server-1.12.1.orig/hw/xfree86/common/xf86Config.c 2012-03-30 04:57:26.000000000 +0200
|
|
+++ xorg-server-1.12.1/hw/xfree86/common/xf86Config.c 2012-04-24 12:24:57.966283561 +0200
|
|
@@ -514,7 +514,7 @@
|
|
static void
|
|
fixup_video_driver_list(char **drivers)
|
|
{
|
|
- static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL };
|
|
+ static const char *fallback[6] = { "fglrx", "modesetting", "fbdev", "vesa", "wsfb", NULL };
|
|
char **end, **drv;
|
|
char *x;
|
|
int i;
|
|
@@ -528,9 +528,11 @@
|
|
* swap it with the last available non-fallback driver.
|
|
*/
|
|
for (i = 0; fallback[i]; i++) {
|
|
- for (drv = drivers; drv != end; drv++) {
|
|
+ for (drv = drivers; drv <= end; drv++) {
|
|
if (strstr(*drv, fallback[i])) {
|
|
x = *drv;
|
|
+ /* disable the faulty probe of fglrx driver */
|
|
+ if (i == 0) *end = NULL;
|
|
*drv = *end;
|
|
*end = x;
|
|
end--;
|