I need little bit more information.  Does it respond to ping when it 
happens?  Can you switch to other modes?  Can you please try the 
attached patch?

BTW, your VESA BIOS is reporting all modes are VGA compatible, which 
is impossible.

Thanks,

Jung-uk Kim
Index: sys/dev/fb/vesa.c
===================================================================
--- sys/dev/fb/vesa.c   (revision 205172)
+++ sys/dev/fb/vesa.c   (working copy)
@@ -1241,7 +1241,6 @@ vesa_set_mode(video_adapter_t *adp, int mode)
 
        if ((vesa_adp_info->v_flags & V_DAC8) != 0 &&
            (info.vi_flags & V_INFO_GRAPHICS) != 0 &&
-           (info.vi_flags & V_INFO_NONVGA) != 0 &&
            vesa_bios_set_dac(8) > 6)
                adp->va_flags |= V_ADP_DAC8;
 
@@ -1322,8 +1321,7 @@ vesa_save_palette(video_adapter_t *adp, u_char *pa
 {
        int bits;
 
-       if (adp == vesa_adp && VESA_MODE(adp->va_mode) &&
-           (adp->va_info.vi_flags & V_INFO_NONVGA) != 0) {
+       if (adp == vesa_adp && VESA_MODE(adp->va_mode)) {
                bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
                return (vesa_bios_save_palette(0, 256, palette, bits));
        }
@@ -1336,8 +1334,7 @@ vesa_load_palette(video_adapter_t *adp, u_char *pa
 {
        int bits;
 
-       if (adp == vesa_adp && VESA_MODE(adp->va_mode) &&
-           (adp->va_info.vi_flags & V_INFO_NONVGA) != 0) {
+       if (adp == vesa_adp && VESA_MODE(adp->va_mode)) {
                bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
                return (vesa_bios_load_palette(0, 256, palette, bits));
        }
@@ -1544,8 +1541,6 @@ get_palette(video_adapter_t *adp, int base, int co
                return (1);
        if (!VESA_MODE(adp->va_mode))
                return (1);
-       if ((adp->va_info.vi_flags & V_INFO_NONVGA) == 0)
-               return (1);
 
        bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
        r = malloc(count * 3, M_DEVBUF, M_WAITOK);
@@ -1582,8 +1577,6 @@ set_palette(video_adapter_t *adp, int base, int co
                return (1);
        if (!VESA_MODE(adp->va_mode))
                return (1);
-       if ((adp->va_info.vi_flags & V_INFO_NONVGA) == 0)
-               return (1);
 
        bits = (adp->va_flags & V_ADP_DAC8) != 0 ? 8 : 6;
        r = malloc(count * 3, M_DEVBUF, M_WAITOK);
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to