qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] cirrus vga output corrupts on windows 98 after commit 2bec


From: aflist2
Subject: [Qemu-devel] cirrus vga output corrupts on windows 98 after commit 2bec46dc97571a3c34b18fe4ca198e7bfbdca41f
Date: Mon, 10 Aug 2009 13:45:45 -0700

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]