Date: Tue, 15 Mar 2005 00:07:09 +0800 From: Jia-Shiun Li <jiashiun@gmail.com> To: freebsd-current@freebsd.org, =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk> Subject: Re: VESA non-VGA flag Message-ID: <1d6d20bc05031408071558b6ce@mail.gmail.com> In-Reply-To: <1d6d20bc0503100101621bbee3@mail.gmail.com> References: <1d6d20bc0503100101621bbee3@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_2487_5866869.1110816429686 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Thu, 10 Mar 2005 17:01:13 +0800, Jia-Shiun Li <jiashiun@gmail.com> wrote= : > Hi, >=20 > These days I was trying to add a splash screen. I used VMWare to test, > but it cannot init VESA correctly, which is odd since VMWare claimed > its display to be VESA compliant. I then traced into > src/sys/i386/isa/vesa.c, found that it was cause by the flag V_NONVGA. > It will stop initializing if this flag is set, at line 655(v1.50). If > I comment it out, VESA will work on VMWare and I can happily use my > splash screen during booting. >=20 > I tried to google some info, but still cannot figure out if the > 'non-VGA' flag really means 'not (IBM)VGA backward-compatible' or 'not > a display device at all'. But since anything implementing VBE must be > a display device to make sense, I suppose it to be the former. The > question is, if the checking of non-VGA flag can be safely removed? I > do not know if there is any devices depending on it to work correctly. > To me it seems ok without the checking. >=20 According to VBE 3.0 page 26, the non-vga flag means 'not VGA compatible', so it should not prevent VESA from initializing. I did not found anyone responsible for this. S=F8ren and Ian could you take a look at this patch? It makes VESA work on VMWare without breaking it on other (real)hardwares. Jia-Shiun. --- sys/i386/isa/vesa.c.orig=09Mon Mar 14 23:55:19 2005 +++ sys/i386/isa/vesa.c=09Mon Mar 14 23:55:42 2005 @@ -652,8 +652,6 @@ =09=09printf("VESA: information block\n"); =09=09dump_buffer(buf, 64); =09} -=09if (vesa_adp_info->v_flags & V_NONVGA) -=09=09return 1; =09if (vesa_adp_info->v_version < 0x0102) { =09=09printf("VESA: VBE version %d.%d is not supported; " =09=09 "version 1.2 or later is required.\n", ------=_Part_2487_5866869.1110816429686 Content-Type: text/plain; name="vesa.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="vesa.patch" --- sys/i386/isa/vesa.c.orig=09Mon Mar 14 23:55:19 2005 +++ sys/i386/isa/vesa.c=09Mon Mar 14 23:55:42 2005 @@ -652,8 +652,6 @@ =09=09printf("VESA: information block\n"); =09=09dump_buffer(buf, 64); =09} -=09if (vesa_adp_info->v_flags & V_NONVGA) -=09=09return 1; =09if (vesa_adp_info->v_version < 0x0102) { =09=09printf("VESA: VBE version %d.%d is not supported; " =09=09 "version 1.2 or later is required.\n", ------=_Part_2487_5866869.1110816429686--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1d6d20bc05031408071558b6ce>