kvm-userspace: VGA/VESA framebuffer broken
Hi,
latest kvm-userspace git 6892f63c18a526c7b54bbde2f59287787eabe1f8 appears to have a bug /wrt VGA/VESA modes. I just fired up one of my Linux test kernels which runs a framebuffer console in mode 0x317, but the display just contains garbage. Reverting to 82daa70a1d5bcad3a93150ffc5afbcb9e77361fb makes the problem disappear again.
I also tried latest qemu with -enable-kvm against the same kernel modules, and the result is somehow better in that there is some output on the screen -- but it is horribly slow.
Glauber, Avi, is this a problem of latest qemu upstream changes to the vga emulation or a merge issue?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT SE 26 Corporate Competence Center Embedded Linux
Quoted 8 lines · Jan Kiszka
Hi,
latest kvm-userspace git
6892f63c18a526c7b54bbde2f59287787eabe1f8appears to have a bug /wrt VGA/VESA modes. I just fired up one of my Linux test kernels which runs a framebuffer console in mode0x317, but the display just contains garbage. Reverting to82daa70a1d5bcad3a93150ffc5afbcb9e77361fbmakes the problem disappear again.
Quoted 6 lines
I also tried latest qemu with -enable-kvm against the same kernel modules, and the result is somehow better in that there is some output on the screen -- but it is horribly slow.
Glauber, Avi, is this a problem of latest qemu upstream changes to the vga emulation or a merge issue?
There's a bit of each here.
There are some bits that differ because kvm upstream still does things a little bit different, and some
problems arose. I spoke to avi yesterday, and he intends to release fixes today (I think, he can confirm that)
Also, in the process of getting the vga optimization cleaned up for qemu, I found a bug in kvm.ko that would
prevent it from working. If you can, please try the latest git kernel to see if it fixes for you.
As much as I know, there's the intent to release compatibility code for people running older kernels for this bug fix specifically
Signature · 5 lines
Glauber Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act."
Quoted 8 lines · Jan Kiszka
Hi,
latest kvm-userspace git
6892f63c18a526c7b54bbde2f59287787eabe1f8appears to have a bug /wrt VGA/VESA modes. I just fired up one of my Linux test kernels which runs a framebuffer console in mode0x317, but the display just contains garbage. Reverting to82daa70a1d5bcad3a93150ffc5afbcb9e77361fbmakes the problem disappear again.
Quoted 7 lines
I also tried latest qemu with -enable-kvm against the same kernel modules, and the result is somehow better in that there is some output on the screen -- but it is horribly slow.
Glauber, Avi, is this a problem of latest qemu upstream changes to the vga emulation or a merge issue?
It's caused by the recent merge; qemu upstream now has vga dirty bit tracking, done in a different way from kvm-userspace.git.
I've got it fixed here, just need to test a bit more.
Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
Quoted 14 lines · Avi Kivity
Quoted 13 lines · Jan Kiszka
Hi,
latest kvm-userspace git
6892f63c18a526c7b54bbde2f59287787eabe1f8appears to have a bug /wrt VGA/VESA modes. I just fired up one of my Linux test kernels which runs a framebuffer console in mode0x317, but the display just contains garbage. Reverting to82daa70a1d5bcad3a93150ffc5afbcb9e77361fbmakes the problem disappear again.I also tried latest qemu with -enable-kvm against the same kernel modules, and the result is somehow better in that there is some output on the screen -- but it is horribly slow.
Quoted 8 lines
Quoted 3 lines
Glauber, Avi, is this a problem of latest qemu upstream changes to the vga emulation or a merge issue?
It's caused by the recent merge; qemu upstream now has vga dirty bit tracking, done in a different way from kvm-userspace.git.
I've got it fixed here, just need to test a bit more.
That's good. If you want me to test as well, just throw something over.
Thanks,
Jan
PS: I was on latest kernel.git, Glauber.
Signature · 2 lines
Siemens AG, Corporate Technology, CT SE 26 Corporate Competence Center Embedded Linux
Quoted 3 lines · Jan Kiszka
That's good. If you want me to test as well, just throw something over.
It's pushed as tag kvm-80rc3 on kernel.org (will push as master once it passes the regression tests). Thanks.
Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
Quoted 7 lines · Avi Kivity
Quoted 3 lines · Jan Kiszka
That's good. If you want me to test as well, just throw something over.
It's pushed as tag kvm-80rc3 on kernel.org (will push as master once it passes the regression tests). Thanks.
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
Jan
Quoted 4 lines · Jan Kiszka
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
That was indeed a symptom during the brokenness. Which guest are you running? also, please supply commit hashes you're working with so I can check I didn't push the wrong thing.
Signature · 2 lines
I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
Quoted 8 lines · Avi Kivity
Quoted 4 lines · Jan Kiszka
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
That was indeed a symptom during the brokenness. Which guest are you running?
Various home-brewed or openSuse kernels from 2.6.23 to 27.
Quoted 2 lines
also, please supply commit hashes you're working with so I can
check I didn't push the wrong thing.
58e235dc112a8d0cc309af0f2e526087235ab633 (kernel) and 38fb92b29d43f8503fd78a30158f93d40cd88de2 (userspace).
Jan
PS: fc94d163d1e3424199166cf50449e03447400579 (fold vcpu_info into CPUState) broke -kvm-no-irqchip. Currently trying to understand why.
Quoted 9 lines · Jan Kiszka
Quoted 7 lines · Avi Kivity
Quoted 5 lines · Jan Kiszka
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
Quoted 6 lines
Quoted 3 lines
That was indeed a symptom during the brokenness. Which guest are you running?
Various home-brewed or openSuse kernels from 2.6.23 to 27.
I reproduced this on opensuse 11, and applied a fix. Unfortunately kvm-80 is broken wrt this bug. Will release kvm-81 sooner than usual.
Signature · 1 line
error compiling committee.c: too many arguments to function
Quoted 8 lines · Avi Kivity
Quoted 7 lines · Jan Kiszka
Quoted 5 lines · Avi Kivity
Quoted 3 lines · Jan Kiszka
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
[]
Quoted 2 lines
I reproduced this on opensuse 11, and applied a fix. Unfortunately kvm-80 is broken wrt this bug. Will release kvm-81 sooner than usual.
Oh, it's not just framebuffer, and not just opensuse. It also is broken on X window and windows(xp) -- see my reply to the release announcement.
Is this fix available as a patchch somewhere, for me to try please? :)
Thanks!
/mjt
Quoted 10 lines · Michael Tokarev
Quoted 8 lines · Avi Kivity
Quoted 7 lines · Jan Kiszka
Quoted 5 lines · Avi Kivity
Quoted 3 lines · Jan Kiszka
Garbage is gone, but update does not happen automatically. I have to switch to the monitor or some other SDL console in back in order to see the latest framebuffer updates.
[]
Quoted 8 lines
Quoted 2 lines
I reproduced this on opensuse 11, and applied a fix. Unfortunately kvm-80 is broken wrt this bug. Will release kvm-81 sooner than usual.
Oh, it's not just framebuffer, and not just opensuse. It also is broken on X window and windows(xp) -- see my reply to the release announcement.
Is this fix available as a patchch somewhere, for me to try please? :)
You should either pull the latest git versions from kernel.org
(git://git.kernel.org/pub/scm/virt/kvm/kvm-userspace.git andgit://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git) or give this patch against kvm-userspace a try:
I did the former, and I can confirm it works again.
Jan