26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
diff -Nru xorg-server-1.16.0.orig/hw/xfree86/common/xf86Config.c xorg-server-1.16.0/hw/xfree86/common/xf86Config.c
|
|
--- xorg-server-1.16.0.orig/hw/xfree86/common/xf86Config.c 2014-07-14 11:52:32.000000000 +0200
|
|
+++ xorg-server-1.16.0/hw/xfree86/common/xf86Config.c 2014-08-31 16:32:58.084764780 +0200
|
|
@@ -519,7 +519,7 @@
|
|
static void
|
|
fixup_video_driver_list(const char **drivers)
|
|
{
|
|
- static const char *fallback[5] = { "modesetting", "fbdev", "vesa", "wsfb", NULL };
|
|
+ static const char *fallback[6] = { "fglrx", "modesetting", "fbdev", "vesa", "wsfb", NULL };
|
|
const char **end, **drv;
|
|
const char *x;
|
|
int i;
|
|
@@ -533,9 +533,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--;
|