xfree86: Prefer fbdev to vesa

On UEFI machines you'd prefer fbdev to grab efifb instead of vesa trying
to initialize and failing in a way we can't unwind from.  On BIOS
machines this is harmless: either there is an fbdev driver and it'll
probably be more capable, or there's not and vesa will kick in anyway.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Adam Jackson 2013-11-15 15:13:31 -05:00
parent 7b5d4f147f
commit c6d4c2a241
2 changed files with 10 additions and 9 deletions

View File

@ -267,14 +267,6 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
if (i < (nmatches - 1))
i = xf86PciMatchDriver(matches, nmatches);
#endif
/* Fallback to platform default hardware */
if (i < (nmatches - 1)) {
#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
matches[i++] = xnfstrdup("vesa");
#elif defined(__sparc__) && !defined(sun)
matches[i++] = xnfstrdup("sunffb");
#endif
}
#if defined(__linux__)
matches[i++] = xnfstrdup("modesetting");
@ -290,6 +282,15 @@ listPossibleVideoDrivers(char *matches[], int nmatches)
#endif
}
#endif /* !sun */
/* Fallback to platform default hardware */
if (i < (nmatches - 1)) {
#if defined(__i386__) || defined(__amd64__) || defined(__hurd__)
matches[i++] = xnfstrdup("vesa");
#elif defined(__sparc__) && !defined(sun)
matches[i++] = xnfstrdup("sunffb");
#endif
}
}
/* copy a screen section and enter the desired driver

View File

@ -507,7 +507,7 @@ xf86InputDriverlistFromConfig(void)
static void
fixup_video_driver_list(char **drivers)
{
static const char *fallback[4] = { "vesa", "fbdev", "wsfb", NULL };
static const char *fallback[4] = { "fbdev", "vesa", "wsfb", NULL };
char **end, **drv;
char *x;
int i;