[PATCH] xfree86: Prefer fbdev to vesa

Alex Deucher alexdeucher at gmail.com
Fri Nov 15 12:24:00 PST 2013


On Fri, Nov 15, 2013 at 3:15 PM, Adam Jackson <ajax at redhat.com> wrote:
> 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.
>

Seems logical.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
>  hw/xfree86/common/xf86AutoConfig.c | 17 +++++++++--------
>  hw/xfree86/common/xf86Config.c     |  2 +-
>  2 files changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
> index 95d58fe..af2b7f8 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 74d5ed3..b5efc02 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;
> --
> 1.8.4.2
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list