Cheap VPS & Xen Server

Residential Proxy Network - Hourly & Monthly Packages

How To Force virt-manager To Use kqemu On Fedora 10

When you use virt-manager to create and manage virtual machines using QEMU as hypervisor you may notice a poor performance on a no virtualization capable processor; this is because by default libvirt (an opensource virtualization API for Xen, KVM, Qemu) ignores the kqemu module (qemu acceleration kernel module). This mini-howto tries to workaround this problem.

1 Install virt-manager and kqemu:

The easier way to install kqemu on Fedora 10 is to add rpm fusion repository.

# rpm -ivh

After that you can install virt-manager and kqemu for your kernel.

# yum install kqemu virt-manager


2 The workaround:

Now, rename /usr/bin/qemu to /usr/bin/qemu-original.

# mv  /usr/bin/qemu /usr/bin/qemu-original

Create a new file /usr/bin/qemu with the content listed below.

# touch /usr/bin/qemu
# chmod +x /usr/bin/qemu

Listing of /usr/bin/qemu:

#!/usr/bin/env python
from sys import argv
from os import system, execv
from os.path import exists
original_file = "/usr/bin/qemu-original"
if not exists('/dev/kqemu'):
    print "Cannot run kqemu - the device does not exist!"
    if '-no-kqemu' in argv:
        argv[argv.index('-no-kqemu')] = '-kernel-kqemu'
execv(original_file, argv)

Now you can load the kqemu module and enjoy the speed!

# modprobe kqemu

To autoload the kqemu module at the system start:

# touch   /etc/sysconfig/modules/kqemu.modules
# chmod +x  /etc/sysconfig/modules/kqemu.modules

Listing of kqemu.modules:

modprobe kqemu