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--;