[SeaBIOS] [PATCH 0/7] vgabios improvements

H. Peter Anvin hpa at zytor.com
Thu Apr 17 02:30:08 CEST 2014

Syslinux currently looks for a 640x480 mode unless MENU RESOLUTION is given.

On April 16, 2014 5:12:21 PM PDT, Kevin O'Connor <kevin at koconnor.net> wrote:
>On Wed, Apr 16, 2014 at 04:25:48PM -0700, H. Peter Anvin wrote:
>> On 04/16/2014 04:21 PM, Kevin O'Connor wrote:
>> > If I build SeaVGABIOS without vesa and run the Fedora 16 (or later)
>> > installer in qemu I get a menu that is not centered and the bottom
>> > line of the menu box isn't drawn.  Also, when I hit up arrow or
>> > arrow I can't see which menu item is highlighted.  I'm really not
>> > if this is syslinux related though.  (This wasn't an issue in
>> > 15 or earlier - though they always show up as black-and-white.) 
>> > the attached screenshot as an example.
>> > 
>> I wonder if they simply specify a geometry that is too large for the
>> text mode screen.  I'll have to take a look at their config file.
>Thanks.  The menu definitely looks weird even with a larger screen.
>If I disable vesa and switch into a graphics mode (eg, 0x12) prior to
>running syslinux I get a screenshot like the attached.  (Same steps to
>reproduce as in my previous email with the additional patch below to
>force SeaBIOS to switch to mode 0x12.)
>To be clear, the biggest issue is not being able to see which item is
>> For the record, Syslinux in text mode will use only BIOS calls (no
>> direct write to the screen) to allow things like serial port capture
>> text-to-graphics conversion to work.
>Yes - modern bootloaders seem quite good about using the bios
>> Let me know if I can be of assistance.
>While you're here - what conditions does syslinux require in order to
>use graphics mode?  When we use the coreboot native vga SeaVGABIOS, it
>does include vesa support and it will advertise exactly one vesa mode.
>(For example, in our qemu tests it's mode 0x0140 that is 800x600 with
>32bpp.)  However, syslinux (at least on my fedora tests) doesn't seem
>to want to go into graphics mode and instead uses its text mode.  Are
>we doing something wrong here, or is it just that a different
>resolution is required?
>--- a/src/bootsplash.c
>+++ b/src/bootsplash.c
>@@ -45,6 +45,7 @@ enable_vga_console(void)
>     /* Enable VGA text mode */
>     memset(&br, 0, sizeof(br));
>     br.ax = 0x0003;
>+    br.ax = 0x0012;
>     call16_int10(&br);
>     // Write to screen.

Sent from my mobile phone.  Please pardon brevity and lack of formatting.

More information about the SeaBIOS mailing list