[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Emulated vgas problems with qemu upstream on Xen



Some times ago I have reported several times the problem with emulated vgas with qemu upstream on xen.
For example this was my last report about:
WIth both cirrus and stdvga under qemu upstream with xen the performance are poor even if I increase video memory, respect to qemu-only and qemu-kvm (without xen). Qxl is definitely not working under xen and conversely is ok on qemu-kvm and qemu-only.

It seem that xen need change and/or fix to have full working emulated vga on qemu upstream. At the moment all emulated vgas have problems with xen that aren't present without xen.

The performance differences are noticeable (in some case very big) with xen and without xen using resolution > 1024x768.

Probably the first link explain the change/fix necessary in xen about vga (probably in hvmloader). I tried to do that more times failing but unfortunately I do not have sufficient knowledge about this.
Can someone help me please?

I think this is important, years ago the minimal resolution used on desktop was 1024x768, and no problem with actual vga setting but now minimal resolution seems increased to up 1366x768 and many people are using even higher resolutions.
http://www.screenresolution.org/year-2013/

When I started testing qemu upstream at the end of 2011 there were critical bugs on videoram setting resolved with patches on qemu and xen. I did recently libxl patch that correctly set videoram and add qxl support but it seems that on xen with qemu upstream all the emulated vga working only as standard vga. What I mean is: even if I see the total amout of ram (i.e. 64 mb) on guest, the performances are poor in special mode when I increase the resolution even in real simple operations like screen updates.

I spent some days to find a solution, after comparative tests with qemu-kvm and qemu-only when using same build of qemu and seabios on both linux/windows domU/vm the problem seem of hvmloader.
I have tried to find what is exactly the culprit to no avail.
I don't have knownladge about bios parts.
I also tried to see the differences of seabios tables between xen and kvm or qemu-only with:

-chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios

but Xen domU doesn't show the details (probably because seabios with xen uses the tables passed by hvmloader)

Today I also tested this patches probably related to solution:

[PATCH]xen/hvmloader: define a TOM register
[PATCH] qemu: define a TOM register to report the base of PCI

The problem persists, probably this is only partial solution about hvmloader changes needed for full support upstream qemu vgas.

This is an important problem to solve, not only for support bigger resolutions and good support of a opensource vdi solution but also because with stdvga is impossible to use some resolutions, for example the actually most used 1366x768.
(screenshots of examples with windows 7 on attachment)
Screenshots show list of resolutions supported by standard vga and qxl full working.

There is also a strange difference on bios info line of qxl between xen and kvm. Someone tells that hvmloader do not cause problem with upstream qemu vgabioses, the difference is only caused by hvmloader generated tables or probably or is there another problem to found?

I also did some tests with ovmf after applied this patch:
http://lists.xen.org/archives/html/xen-devel/2013-02/msg01363.html
and using updated tianocore git, but it seems there are more work to do on hvmloader for complete integration. I think like others that a hvmloader rewrite more minimal without including firmwares in hvmloader but linking them instead and using ovmf with seabios included (for support both eufi and bios) will be the best definitive solution for future of hvm domU. Probably now the more important thing is fixes to hvmloader with seabios to have a full feature and stable qemu upstream on xen 4.3.

Is there someone that can help me to solve emulated vgas problem with upstream qemu?

Thanks for any reply and sorry for my bad english.

Attachment: smime.p7s
Description: Firma crittografica S/MIME

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.