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.
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
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.
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.
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.