[SeaBIOS] Problems booting legacy OSes on Chromebook Pixel 2015 - cbmem output

John Lewis jlewis at johnlewis.ie
Tue Oct 6 17:10:05 CEST 2015


> 
>> If I disable coreboot framebuffer support in SeaBIOS and then use the
>> VGABIOS from the stock ROM in RW_LEGACY, I don't get any display from
>> SeaBIOS on Broadwell.
>> 
>> If I do the same with a Haswell Chromebook, the display works.
>> 
>> In the former case, SeaBIOS appears to find and load the VGABIOS, 
>> according
>> to cbmem, just no display.
>> 
>> I think whatever this problem is may also explain why I'm not able to 
>> get
>> display using a modified BOOT_STUB with SeaBIOS on Broadwell.
> 
> IIUC, the intel vgabios fails to work properly on some gpus if it is
> run after the hardware has already been initialized.  If that's the
> case you'd need to be careful to only init the display once (either
> native coreboot vga + SeaVGABIOS cbvga, or no video in coreboot +
> SeaBIOS run intel vgabios).

Yes, which is why I removed the intel vgabios from the coreboot part of 
the ROM, to make sure coreboot wasn't able to initialise it to begin 
with. The backlight comes on, but I don't get any display until the 
kernel loads.

> 
>> Another thing that may or may not have some bearing is that on 
>> Baytrail, if
>> I try to use RW_LEGACY with SeaBIOS, SeaBIOS initialises the display, 
>> but
>> Linux won't display anything unless I disable KMS with "nomodeset" on 
>> the
>> kernel cmdline. That unfortunately leaves me with a display resolution 
>> of
>> 1024x768 (presumably what coreboot sets the framebuffer to).
> 
> When you say "SeaBIOS initialises the display" do you mean cbvga
> SeaVGABIOS?  If so, that does not initialize the hardware - it just
> draws on the framebuffer that coreboot sets up.  I'm not sure why
> Linux wouldn't be able to use a display that coreboot setup.  Maybe
> there is some setting that will convince it to use it.

When I say initialise in that case, I mean "give some display". ;)

Yes, well, as I said, it will bring up a display if I use "nomodeset" 
but it's only 1024x768 (not 1366x768), and it won't allow me to change 
the resolution in Gnome.

> 
>> If you have some stuff I can try to get a VGABIOS working properly 
>> with
>> BOOT_STUB and RW_LEGACY on Broadwell and Baytrail Chromebooks, I would 
>> sure
>> appreciate it, Kevin.
> [...]
>> >P.S. it should be possible to implement a SeaVGABIOS with support for
>> >mode switching on Intel graphics adapters.  That should solve these
>> >problems (at least on Intel hardware), but it's a bit of work as I
>> >find the Intel graphics manuals to be basically indecipherable.  :-(
> 
> I don't have anything.  A few months ago I looked through the Intel
> gpu docs.  As near as I can tell, the Intel hardware is compatible
> with all the legacy VGA interfaces.  It seemed like the only thing
> that would need to be done to switch into true legacy modes would be
> to enable the "legacy vga mode" and to program something called a
> "panel fitter".  The docs were not much help though.
> 

Well, Matt DeVillier has some experience tweaking the Intel vgabios to 
do things like output to the HDMI port first, maybe there're some things 
I can experiment with in that area. I'll have a look anyway.

-John.



More information about the SeaBIOS mailing list