[SeaBIOS] S3 resume is broken on QEMU

Gleb Natapov gleb at redhat.com
Sun Jan 22 11:46:43 CET 2012


On Fri, Jan 20, 2012 at 04:23:15PM +0100, Gerd Hoffmann wrote:
>   Hi,
> 
> >> I'm 99% sure that wont work.  Option roms have to be copied from PCI
> > You 99% sure it wont work on real HW or on QEMU? IIRC QEMU puts vgabios
> > into 0xc0000 directly.
> 
> That is looooooooooooooooong history, it went away about the same time
> qemu switched from bochs bios to seabios.
> 
> These days seabios loads them from either pci rom bar or via fw_cfg.
> 
Ah yeah fw_cfg. How could I forget about it :) Still we know what our
vgabios is doing so we can make sure it works. bochs bios had to be
fixed to make S3 work too.

> > Windows is actually smart. It knows that it can support S3 resume on
> > generic VGA so it does not allow you to do S3 suspend when one is in
> > use. We managed to trick WindowsXP + cirrus to allow S3 suspend by DSDT
> > magic, but after resume GUI is not usable. Still good enough for running
> > WHQL. The only way S3 works on all Windowses is by using QXL device and
> > driver that supports S3.
> 
> If you ask the linux graphics guys the situation is simliar on linux.
Well it is obviously not :) Microsoft makes sure resume works if suspend
is allowed.

> S3 without kms driver doesn't work reliably and isn't supported[1]. Only
> difference is that linux doesn't enforce this by refusing to suspend
> without kms.
> 
If it isn't supported it should not be allowed. Why Linux graphics guys
do not send patch that disables S3 on unsupported configurations? Did
this come up in [1]?

But I want to understand their support statement a little bit better. 
Do you need kms driver for resume to be "supported" even if X is
running? Because if X is not enough we may as well remove S3 from dsdt.

BTW does QXL have kms driver?

> cheers,
>   Gerd
> 
> [1] summary of a longish discussion, don't remember where though.

--
			Gleb.



More information about the SeaBIOS mailing list