xorg-server/xorg-server-1.12.1-Xorg_configure.patch

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", "fbdev", "vesa", "wsfb", "nv", 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--;