summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2013-11-15 15:13:31 -0500
committerAdam Jackson <ajax@redhat.com>2013-12-09 13:20:36 -0500
commitc6d4c2a24140feee4ceae48c4c74fedcae9b68b3 (patch)
treec91f5f1ef580b2c9d1bb9000368c47c390c5ccc3
parent7b5d4f147fdef9edfeaa9c6565375111079efd11 (diff)
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>
-rw-r--r--hw/xfree86/common/xf86AutoConfig.c17
-rw-r--r--hw/xfree86/common/xf86Config.c2
2 files changed, 10 insertions, 9 deletions
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
index 95d58fe43..af2b7f8f2 100644
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -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
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 74d5ed3b7..b5efc02af 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -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;