Skip to contentSkip to conversation

kvm-userspace: VGA/VESA framebuffer broken

DISCUSSION Jan Kiszka 5 participants 11 messages Dec 5, 2008 – Dec 8, 2008 KVM

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

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
#1 lore raw
Quoted 8 lines · Jan Kiszka

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.

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."
#2 lore raw
In reply to Jan Kiszka
Quoted 8 lines · Jan Kiszka

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.

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.
author
#3 lore raw
Quoted 14 lines · Avi Kivity
Quoted 13 lines · Jan Kiszka

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.

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
#4 lore raw
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.
#5 lore raw
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

#6 lore raw
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.
#7 lore raw
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.

#8 lore raw
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
#9 lore raw
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

#10 lore raw
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 and
git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git) or give this patch against kvm-userspace a try:

http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=commitdiff;h=8eae225cf8cd82316fcc78569aeb1adbbc077cb8

I did the former, and I can confirm it works again.

Jan