console in the framebuffer in qemu-kvm is slow, breaks -curses functionality

Bug #487187 reported by Dustin Kirkland 
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
rootskel (Ubuntu)
Won't Fix
Wishlist
Unassigned

Bug Description

Binary package hint: rootskel

When running the Ubuntu server installer in a virtual machine, using the fbcon (framebuffer console) is exceptionally slow.

Additionally, it breaks qemu's -curses feature, which is really quite useful.

Revision history for this message
Dustin Kirkland  (kirkland) wrote :

The fix is quite simple. In rootskel, when loading the fbcon module, we can check if we're running in a QEMU based virtual machine.

=== modified file 'src/lib/debian-installer-startup.d/S40framebuffer-module-linux-x86'
--- src/lib/debian-installer-startup.d/S40framebuffer-module-linux-x86 2009-04-29 09:59:35 +0000
+++ src/lib/debian-installer-startup.d/S40framebuffer-module-linux-x86 2009-11-23 16:34:52 +0000
@@ -1,5 +1,6 @@
 if [ -n "$TERM_FRAMEBUFFER_TRY" ] && \
- [ "$(debconf-get debian-installer/framebuffer)" = true ]; then
+ [ "$(debconf-get debian-installer/framebuffer)" = true ] && \
+ [ ! grep -qs "^model.*QEMU Virtual CPU" /proc/cpuinfo ]; then
        echo "Trying to enable the frame buffer..."
        if grep -q VESA /proc/fb || \
           (modprobe -q vesafb >/dev/null 2>&1 && grep -q . /proc/fb) || \

Changed in rootskel (Ubuntu):
status: New → In Progress
importance: Undecided → Wishlist
assignee: nobody → Dustin Kirkland (kirkland)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package rootskel - 1.81ubuntu2

---------------
rootskel (1.81ubuntu2) lucid; urgency=low

  * src/lib/debian-installer-startup.d/S40framebuffer-module-linux-x86:
    do not use the frame buffer console, if running in a QEMU/KVM, LP: #487187
 -- Dustin Kirkland <email address hidden> Mon, 23 Nov 2009 11:22:38 -0600

Changed in rootskel (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Well, I tried to fix this, but the fix was not acceptable.

To those affected by this, you can try something like the following, to actually edit the ISO inline using sed, and turn the fb off. Note that the replacement will need to be character-for-character:

sed -i "s/initrd.gz quiet --/initrd.gz fb=0 --/" lucid-server-amd64.iso

I created a script, in my $HOME/bin/fixiso:
#!/bin/sh
sed -i "s/initrd.gz quiet --/initrd.gz fb=0 --/" $@

Changed in rootskel (Ubuntu):
status: Fix Released → Won't Fix
assignee: Dustin Kirkland (kirkland) → nobody
Revision history for this message
Ted Cabeen (ted-cabeen) wrote :

Is there any reason this fix didn't make it into Lucid Beta 1? I attempted to install lucid beta 1 on a QEMU/KVM virtual machine, and was unable to until I added the fb=0 to the boot args.

Revision history for this message
Colin Watson (cjwatson) wrote :

Because it's too big a hammer - if nothing else, disabling the framebuffer restricts the set of available languages. I'm prepared to put up with slowness for that. You say that you were *unable* to install, though, which I think must mean that you have a slightly different bug, since I haven't heard of this preventing installation for anyone else, unless you're reliant on -curses for some reason.

Revision history for this message
Dustin Kirkland  (kirkland) wrote : Re: [Bug 487187] Re: console in the framebuffer in qemu-kvm is slow, breaks -curses functionality

Like Colin says, it should be slower, but it shouldn't prevent your
installation.

Are you sure that your KVM was running with acceleration?

What is the output of the kvm-ok command?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.