On 12/12/13 20:14, Laszlo Ersek wrote:
> On 12/12/13 18:47, Jordan Justen wrote:
>> On Thu, Dec 12, 2013 at 12:44 AM, Gerd Hoffmann <[email protected]> wrote:
>
>>> Yes, we should fix drm/cirrus.
>>> Did you try cirrus S3 with seabios btw?
>>
>> Good question. Before this thread, I would have expected that seabios
>> would not try to restore this on resume.
>
> And your expectation would have been correct, according to my testing :)
>
>> And a meaner question... What happens with windows?
>
> Windows 2008 R2 (which requires a CSM build) doesn't offer me the
> Suspend option in the Start menu. Not sure why, S3 is advertised and
> enabled in DSDT/SSDT.
I have an update on this.
(1) The initial configuration of my Windows 2008 R2 SP1 UEFI guest was
the following:
(a) Cirrus VGA emulation (-device cirrus-vga)
(b) an OVMF build including the SeaBIOS CSM
(c) a vgabios-cirrus SeaVGABIOS oprom that includes seabios commit
2eeafbf5 ("Enable VGA output when setting Cirrus-specific mode"):
-device cirrus-vga,romfile=vgabios-cirrus.bin,...
(Note that the vgabios-cirrus.bin file packaged with the qemu 1.7
distribution is not such an oprom.)
This allows the guest to boot and have working display.
However, S3 suspend is not supported; when the "powercfg -a" command is
issued at the "cmd" prompt, it says
Standby (S3)
The VGAPNP.SYS display driver does not support standby.
Please consult your hardware vendor for an updated display
driver.
(2) We have to switch to QXL underneath the VGA BIOS:
(a) -device qxl-vga
(b) same OVMF build (= includes CSM)
(c) a vgabios-qxl SeaVGABIOS oprom that includes seabios commit
0069a314 ("Enable VGA output when settings bochs-specific mode").
Such an oprom can be built in the SeaBIOS directory with:
cat >.config <<EOT
CONFIG_QEMU=y
CONFIG_BUILD_VGABIOS=y
CONFIG_VGA_BOCHS=y
CONFIG_VGA_PCI=y
CONFIG_DEBUG_LEVEL=20
CONFIG_OVERRIDE_PCI_ID=y
CONFIG_VGA_VID=0x1b36
CONFIG_VGA_DID=0x0100
EOT
yes "" | make oldconfig
make -j2 out/vgabios.bin
mv out/vgabios.bin /.../vgabios-qxl.bin
This too allows the guest to boot and have working display.
VGAPNP.SYS continues to be incapable of S3 resume. However now we can
install the QXL guest driver! (This is what's missing under Windows 2012
at this moment.)
(3) Download "qxl_w7_x64.zip" from
http://www.spice-space.org/download/windows/qxl/qxl-0.1-19/
and unzip it to a directory in the guest. Then
Device Manager
Display Drivers
Update Driver Software
Browse my computer
<enter unzipped directory>
This should install the QXL driver files, and the video card's name
should change to "Red Hat QXL GPU".
Additionally, the "powercfg -a" command will now report S3 as supported
(dependent on the
-global PIIX4_PM.disable_s3=0
qemu flag).
(4) At this point I shut down the guest, and changed the OVMF build
*not* to include the CSM. Furthermore, the vgabios-qxl.bin oprom from
step (2) is not important any longer (it doesn't have to be passed extra
with the romfile=... option). IOW, the configuration is:
(a) QXL VGA (-device qxl-vga)
(b) OVMF build with S3 series, but no CSM
(c) no special oprom, QemuVideoDxe runs
There is a *short* corrupted screen during boot (the Win2k8r2 boot
progress bar, which likely uses the GOP incorrectly). Before and after
this short corrupted screen, the OVMF splash screen / menu (which use
the GOP), and the Win2k8r2 user login screen (which uses the QXL guest
driver) look fine.
(5) Log in, and set:
Control Panel
Hardware
Power Options
Edit Plan Settings
Change advanced power settings
Balanced [Active]
Power buttons and lid
Power button action
Setting: Sleep
This changes what the SCI will do (which can be triggered with the
Shutdown virt-manager button, or the "system_powerdown" qemu monitor
(HMP) command).
So, pray click that virt-manager button, or issue that monitor command.
The VM will suspend.
(6) Issue the "system_wakeup" qemu monitor command. The VM will resume
and ask you to unlock it with Ctrl+Alt+Del. I did so and then started
Firefox in the guest and loaded a website.
I also tested three (suspend, resume) pairs in a row.
Summary: if the QXL guest video driver is installed, Windows 2008 R2 SP1
- doesn't really depend on the CSM,
- can suspend and resume with the pending OVMF S3 patchset.
(This gives me hope that Windows 2012 R2 will resume just as fine, once
the QXL guest driver becomes available for it.)
Thanks,
Laszlo
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel