[SeaBIOS] [PATCH 0/7] vgabios improvements

H. Peter Anvin hpa at zytor.com
Thu Apr 17 01:25:48 CEST 2014

On 04/16/2014 04:21 PM, Kevin O'Connor wrote:
> On Wed, Apr 16, 2014 at 04:00:07PM -0700, H. Peter Anvin wrote:
>> On 04/16/2014 03:47 PM, Kevin O'Connor wrote:
>>> On Wed, Apr 16, 2014 at 06:56:57PM +0200, Gerd Hoffmann wrote:
>>>> Emulating attributes would be great so you can actually navigate
>>>> bootloader menus.
>>> I took a look a closer look at this.  Some things I found:
>>> - it looks like the syslinux menu on recent Fedora versions doesn't
>>>   work correctly at all in text mode.  This can be most easily seen by
>>>   disabling CONFIG_VGA_VBE on one of the standard qemu seavgabios
>>>   builds - without vbe syslinux wont go into graphics mode and the
>>>   same broken text menu is shown.  So, this isn't a seavgabios issue
>>>   but a fedora and/or syslinux issue.
>> ?!  I would love more details...
> 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 down
> arrow I can't see which menu item is highlighted.  I'm really not sure
> if this is syslinux related though.  (This wasn't an issue in Fedora
> 15 or earlier - though they always show up as black-and-white.)  See
> 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.

> Steps to reproduce - grab latest seabios from
> git://git.seabios.org/seabios.git , run "make menuconfig" and select
> CONFIG_VGA_CIRRUS=y and CONFIG_VGA_VBE=n.  Then run "make", then
> "mkdir qemutest; cp out/bios.bin qemutest/; cp out/vgabios.bin
> qemutest/vgabios-cirrus.bin".  Then run qemu with: qemu-system-i386 -L
> qemutest/ -m 512 -cdrom Fedora-19-x86_64-DVD.iso
>>> - I took a quick look at what happens with the ati vgabios on my
>>>   e350m1 if it is forced into a graphics mode (eg, mode 0x12).  I see
>>>   similar results to what I see with coreboot native seavgabios.  So,
>>>   it looks like most of our troubles are with the standard vgabios
>>>   interface in graphics vs text mode and not something specific to
>>>   seavgabios.
> That section of my email was not related to syslinux.  As background,
> we're looking into ways to run standard boot loaders with only a
> graphical framebuffer by emulating text mode on top of a graphical
> framebuffer.  The section above was discussing how the vgabios
> interprets certain calls differently depending on whether it is text
> or graphics mode.

That it does, indeed.

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 and
text-to-graphics conversion to work.

Let me know if I can be of assistance.


More information about the SeaBIOS mailing list