On 10/18/12 10:12, Gleb Natapov wrote: > On Thu, Oct 18, 2012 at 03:38:37AM +0200, Laszlo Ersek wrote: >> I have no idea why the UEFI-booted kernel tries to initialize the >> display with Int10h, since that is a (VGA) BIOS interrupt. > Looks like google knows something about it. Search for "INT 10" here: > http://www.uefi.org/events/UEFI-Plugfest-WindowsBootEnvironment.pdf > > * VGA support still requires INT 10h support > * Windows Server 2008 supports headless systems with no VGA
I did some digging. I. First, let's recall the debug message FRAMEBUF: DISP bInitPDEV failed - no valid modes from [1]. Similar source code is (legally) available on the web, see [2]. Apparently it's FRAMEBUF.dll that should work (not VGA.dll), but it finds no acceptable mode. II. The current video modes provided by OVMF's GOP are (OvmfPkg/QemuVideoDxe/Initialize.c): /// /// Table of supported video modes /// QEMU_VIDEO_VIDEO_MODES QemuVideoVideoModes[] = { // { 640, 480, 8, 60, Crtc_640_480_256_60, Seq_640_480_256_60, 0xe3 }, // { 800, 600, 8, 60, Crtc_800_600_256_60, Seq_800_600_256_60, 0xef }, { 640, 480, 32, 60, Crtc_640_480_32bpp_60, Seq_640_480_32bpp_60, 0xef }, { 800, 600, 32, 60, Crtc_800_600_32bpp_60, Seq_800_600_32bpp_60, 0xef }, // { 1024, 768, 8, 60, Crtc_1024_768_256_60, Seq_1024_768_256_60, 0xef } { 1024, 768, 24, 60, Crtc_1024_768_24bpp_60, Seq_1024_768_24bpp_60, 0xef } // { 1024, 768, 32, 60, Crtc_1024_768_32bpp_60, Seq_1024_768_32bpp_60, 0xef } // { 960, 720, 32, 60, Crtc_960_720_32bpp_60, Seq_1024_768_32bpp_60, 0xef } }; In summary, 640x480x32, 800x600x32, 1024x768x24. According to the link posted by Gleb above (slide 23), any mode in the four-element set {800x600, 1024x768} x {24bpp, 32bpp} is acceptable (if BGR). All 24bpp and 32bpp modes exported by OVMF are BGR, see QemuVideoCompleteModeInfo() and the PIXEL24_* macros. Therefore according to the presentation above, two modes from the listed three should work. They don't. III. Other documentation exists! Page 5 of [3] says Either 1024x768 display resolution with 32-bit pixel color or 800x600 display resolution with 24-bit pixel color. This narrows the acceptable set from 4 elements down to 2, and those are exactly not present in the QemuVideoVideoModes array. Then, slide 9 of [4] restricts it to 1024x768x32 only. (When I tried to uncomment it in the array, it didn't work -- as I've just learned from Jordan, the register dumps "Crtc_1024_768_32bpp_60" and "Seq_1024_768_32bpp_60" are not finished for that mode.) IV. Regarding the big picture of after-ExitBootServices() video initialization, see forum / blog posts [5] [6] [7]. There appears to be a big difference in this aspect between Windows 7 (~ Windows 2008 R2) and Windows 8. (I assume the commenter(s) referred to Windows 8 as "Windows.Next" in May/Aug 2011.) I'll try to see if I can connect to the win2k8r2sp1 guest with "rdesktop", but I believe we should get the 1024x768x32bpp mode working. ("We" as in "I don't have the slightest idea" :)) Alternatively, 800x600x24. Additionally, IIRC Paolo suggested hacking in the VGA BIOS (from SeaBIOS I think?...) into OVMF as a CSM. I think it might not be co-distributable (SeaBIOS's licenses appear more restrictive than the 2-clause BSDL), but maybe worth an experiment. (Of course I don't know how to do that either, and the CSM spec looks intimidating.) Thanks! Laszlo [1] http://article.gmane.org/gmane.comp.bios.tianocore.devel/763 [2] http://doxygen.reactos.org/dc/d8b/win32ss_2drivers_2displays_2vga__new_2screen_8c_source.html [3] http://www.feishare.com/attachments/083_UEFIrequirements.pdf [4] http://www.uefi.org/learning_center/UPFS11_P4_UEFI_GOP_AMD.pdf [5] http://blogs.technet.com/b/askcore/archive/2011/05/31/installing-windows-7-on-uefi-based-computer.aspx#3447148 -- comment from "Răzvan Corneliu C.R. VILT" [6] http://forums.macrumors.com/showpost.php?p=13255278&postcount=47 [7] http://forums.macrumors.com/showpost.php?p=13331676&postcount=68 ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel