[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?
>@@ -45,6 +45,7 @@ enable_vga_console(void)
> /* Enable VGA text mode */
> memset(&br, 0, sizeof(br));
> br.ax = 0x0003;
>+ br.ax = 0x0012;
> // Write to screen.
Sent from my mobile phone. Please pardon brevity and lack of formatting.
More information about the SeaBIOS