[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