qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] cirrus vga output corrupts on windows 98 after commit 2bec46dc97571a3c34b18fe4ca198e7bfbdca41f
@ 2009-08-10 20:45 aflist2
  0 siblings, 0 replies; only message in thread
From: aflist2 @ 2009-08-10 20:45 UTC (permalink / raw)
  To: qemu-devel

hello,

when i run windows 98 with cirrus graphics, a corrupted version of the
boot graphic appears and the vm freezes. a picture of the screen is at
http://i31.tinypic.com/23sd5dd.jpg

according to git-bisect, this is the commit that breaks it:
http://git.savannah.gnu.org/cgit/qemu.git/commit/?id=2bec46dc97571a3c34b18fe4ca198e7bfbdca41f

vga optimization
Hypervisors like KVM perform badly while doing mmio on a loop, because
it'll generate an exit on each access. This is the case with VGA,
which results in very bad performance.
In this patch, we map the linear frame buffer as RAM, make sure it has
dirty region tracking enabled, and then just let the region to be
written.

notes:
* after this commit, it behaves as if i have less video ram. smaller
available modes, in less color depth. i have not found any software
that can display windows 98 detected video ram in 16 colors mode, so i
can't say how much the broken version finds. the working version
detects 4MB.
* qemu's window is resized to the correct resolution selected before
graphic corruption.
* i can reproduce this bug on latest git, 0.11.0-rc1, and 0.10.6.
0.9.1 is unaffected.
* anything greater than 640x480x16 colors freezes

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-08-10 20:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-10 20:45 [Qemu-devel] cirrus vga output corrupts on windows 98 after commit 2bec46dc97571a3c34b18fe4ca198e7bfbdca41f aflist2

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).