Integrating QEMU a bit with your desktop

Presently you have to run QEMU with a slightly lower resolution than your real desktop or run it in full-screen mode to get a decent experience out of it. With a patch I have written and a few tricks it can work a bit better.

Getting QEMU to occupy the entire screen

This is a bit tricky. I have made a patch (qemu-noframe.patch) that adds a -no-frame option to QEMU. Apply this patch, rebuild QEMU and add -no-frame to your command line. (This patch has now been committed to QEMU CVS)

When you start QEMU with the -no-frame option, it will open in a window without borders and window decorations. Your window manager might have a way to let you position such a window (alt + left mouse button often does this). Then you just have to place the window in the top left corner of the screen and configure the guest OS to the resolution of your screen.

If you don't want to move the window manually every time you start QEMU, you can set the SDL_VIDEO_WINDOW_POS environment variable before starting QEMU. In a bourne shell it would look like this:
export SDL_VIDEO_WINDOW_POS=0,0

Eliminating the need for mouse grabbing

When running Windows as the guest OS you can instruct QEMU to emulate a USB tablet instead of the normal PS/2 mouse. This way QEMU can use absolute coordinates to tell Windows where the pointer currently is, eliminating the need for QEMU to grab the mouse.

I haven't had success with the tablet when using Linux or FreeBSD as guest OS but Google indicates that the evtouch driver might work for this purpose.

The USB tablet is enabled by adding "-usb -usbdevice tablet" to the QEMU command line.

Guest OS tweaking

This part depends on your actual desktop configuration. Personally I have a single Xfce panel at the bottom of the screen, so I have moved the windows taskbar to the top.

If anyone can tell me how I can make an invisible bar or something like it at the bottom of the windows desktop that will prevent windows from being maximized under my Xfce panel, it would be very nice as I haven't found a way to do that yet. A screenshot showing this problem is here.

Clipboard synchronization

To conveniently allow copy and paste between the host and the guest, the easiest way is to just use one of the network based clipboard sharing programs.

I haven't found one that works well for me. The closest thing is QEMU Guest Tools. It looks unmaintained but I managed to build it on my FreeBSD host and use the prebuilt windows binary on my Windows guest.

When connecting from inside the guest you can use the IP address 10.0.2.2 to connect to the host.


E-mail Valid XHTML 1.1 Valid CSS!