On Fri, 24 Mar 2017 20:51:56 -0400 Kevin O'Connor kevin@koconnor.net wrote:
On Fri, Mar 24, 2017 at 05:27:19PM +0100, Patrick Rudolph wrote:
This series add several fixes to coreboot's framebuffer implementation and it main purpose is to fix Microsoft's Windows as supported OS.
The series fixes the following issues:
- Windows shows no image in text-mode
- Windows NTLDR/bootmgr shows no image in VESA mode
- Windows shows no image in VESA mode
- Windows legacy Intel VGA driver requires VBT in VGA option ROM
- Clear screen broken due to INT 15h replaced by OS
I was able to boot Windows with the following configurations:
- using VgaSave driver in text-mode with a fixed display resolution of 640x480 at 4Bpp.
- using VgaSave driver in VESA mode and set a display resolution up to 1600x1200 at 24Bpp.
- using VgaSave driver in Windows's "Safe Mode" in VESA mode and set a display resolution up to 1600x1200 at 24Bpp.
- using the Intel VGA driver with up to the panel native resolution of 1680x1050 at 24Bpp.
Most likely other VESA compatible bootloaders and operating systems will be fixed, too.
Changes since v1:
Thanks, but I didn't see a response to my comments on patches 1 and 2 from the last series.
Sorry, I'll will fix the issues in patches 1 and 2.
- Add crash detection handler for INT 15h modifications.
Can you explain how this works? If int1587 is disabled, why is it a priority to not clear the screen?
To prevent a crash on the next mode change. Windows will iterate over modes and finaly end with mode 12, which isn't a compatible VESA mode.
- Copy Intel VBT to VGA option ROM if provided by ASLS
As a high level comment, I think it would be great to have further support for Intel video in SeaVGABIOS, but I wonder if extending cbvga is the right approach. Seems like we could make an intel-seavgabios and it would be a better platfrom for future intel specific features (like auto-detecting the framebuffer and maybe even switching modes).
Having a seperate vga option rom would require additional configuration overhead in coreboot. As for now autodetecting the card at runtime seems to be prefereable. I'm not planing to include any intel specific features.
Cheers, -Kevin