Here is a review of QEMU, a “generic and open source processor emulator which achieves a good emulation speed by using dynamic translation”: “In sum, if you have emulation or virtualization needs, before you think of any commercial products, give QEMU a try. While it may not be as feature rich as some commercial alternatives, it’s stable, fast and free. And the convenience of having the source code available is a real plus.”
Review: QEMU 0.7.1
About The Author
Follow me on Twitter @thomholwerda
2005-08-29 2:47 pmThom Holwerda
I am now testing QEMU. Built it from source on Ubuntu Hoary, first without the kqemu module (DSL was very much usable even without it), and then with the module, since my purpose is to have a WinXP install for testing purposes. It’s really a breeze to compile/make/install, and it comes with a handy .img generation tool.
It’s all cli work, but for me that’s not a problem (allthough at some point the QEMU guys might consider adding a gtk and/or qt gui to QEMU). Its speed is really remarkable!
2005-08-29 2:55 pmMark Williamson
> It’s all cli work, but for me that’s not a problem
> (allthough at some point the QEMU guys might consider
> adding a gtk and/or qt gui to QEMU). Its speed is
> really remarkable!
Work is currently underway to create a GTK GUI and a clean separation of functionality between the GUI layer and the emulator.
There are patches for the GTK interface right now, although it currently doesn’t have much of a “GUI” (menu bars, toolbars, etc) but this should be simple to add once the basic GTK support is complete.
On Windows and Linux, QEMU is usable (especially with the accelerator module), but on Mac OS X, sadly, it is still way too slow when emulating an x86 processor (and PPC emulation is still incomplete and experimental): for example, in OS X, running Linux on Virtual PC 7 is quite slow, but usable; running it on QEMU is almost unacceptably slow, at least on a G4.
That said, the “Q” Cocoa QEMU frontend is certainly (IMHO) the most advanced one for OS X, as it also allows for a seamless saving of the virtual machine’s state (an absolute necessity, given the extreme slowness of a reboot): http://www.kberg.ch/q .
Anyway, QEMU is very, very promsing – on all of its platforms… 🙂
I use it at work on my Linux box to run Windows 2000 for when I need to run something that doesn’t have a linux version. It runs ok I’d say, but noticeably slower than the ‘real’ thing, even w/kqemu. But, definitely comes in handy for me!
QEMU is nice.But !
To gain greater acceleration you STiLL need a PROPRIETARY kernel modul : kqemu.
“Be aware that unlike the rest of QEMU it is a closed source proprietary product with a specific license.”
2005-08-29 3:15 pmDittoBox
Quite honestly I don’t have any problem running propietary software in my kernel. I use the nvidia drivers so I can use my video card for 3D modeling work. In fact most anyone who uses linux and has an nvidia card employ the linux drivers.
What’s wrong with running propietary drivers in your kernel anyway?…I thought OSS was about choice…
2005-08-29 4:47 pmCelerate
“As a supporter of open source, the author accepts to open source the QEMU Accelerator Technology provided a company invests enough money to support the project and to recompense the author from the potential loss of revenue.”
Those seem like reasonable terms to me, I don’t see why the author shouldn’t make some money off his work; also I disagree with the notion that everything must be under an open source license, the people who write the code untimately get to choose the license and they have a right to earn a living. Forking for the sake of making a free version of something might not harm companies like Red Hat and Linspire, but if it’s done to freelance developers who have no reputation and few funds, it could very easily ruin their chances of getting anything back out of their hard work.
2005-08-29 6:31 pmAnonymous
If you want a non-proprietary accelerator try:
2005-08-30 4:37 amAnonymous
The qvm86 one performs pretty well too. Before I tried it I thought it would be second rate but I am happy to say I was wrong.
KDE/Qt GUI already exist:
QEmu is an excellent piece of software. However, to the best of my knowledge the machinery underlying VMware is more advanced (for now).
> QEMU is very fast. It is probably the fastest in its
> kind, beating other emulators and virtualizers
I really don’t believe that QEmu can beat current editions of VMWare in terms of performance. Unfortunately, due to VMware’s licensing terms we’re not able to get any benchmarks to prove this one way or the other so all I can do is compare the underlying technology and its theoretical limitations 🙁
Even in virtulising mode, AFAIK QEmu emulates all kernel code. VMWare is capable of executing some kernel code directly (using some very complicated binary patching techniques to ensure correctness).
VMWare should also give better device IO performance, particularly since it supports a specialised “VMWare display” and (in the Server products) a “VMWare network” that are optimised for high performance under virtualisation.
Besides the excellent “Q” for Mac OS X (a Cocoa frontend), on this page of the “FreeOSZoo” there is a list of other QEMU GUIs (for OS X, Linux and Windows): http://www.oszoo.org/download.html .
There is also a cross-platform Java frontend, called “JQEMU”: http://www.exprofesso.com/jqemu .
BTW, the Windows frontend also has a tabbed interface, similarly to VMware: very cool!
I am very impressed by the work Fabrice Bellard has done over the years…
He wrote, of course, QEMU but he also wrote FFMPEG (THE open source codec library, used by MPlayer, VideoLAN and dozens of other open source projects), a very fast, nearly C99-compliant C compiler (TCC), a complete, full-featured clone of Emacs (QEmacs) and a small, OpenGL-like library (TinyGL) plus a few other things. Oh, and he also tuned the algorithm used to calculate the 1000 billionth binary digit of Pi 🙂
You can see all his projects here : http://fabrice.bellard.free.fr
>> QEMU is very fast. It is probably the fastest in its
>> kind, beating other emulators and virtualizers
>I really don’t believe that QEmu can beat current
>editions of VMWare in terms of performance.
VMWare isn’t the some kind of software. Qemu is an emulator. The virtualization code is very young and only for x86 x86-64 architectures.
I don’t often use it, but I do have a small image of Windows 2000 which I can use for testing purposes.
It’s a little slow, but the kernel module mentioned in the article does help speed things up.
The fact that building it from source (minus the kernel object) is so simple makes using Qemu a breeze.