8 ms·
QEMU 2.0.0 Released
- djschnei 13y agoWhy would you use QEMU over virtualbox? (Serious question)
- couradical 13y agoRunning headless virtualization on a server with KVM? Sure, for a desktop system it might make sense, but headless systems might be better served with QEMU-KVM.
- uulbiy 13y agoActually you can run virtualbox in a headless server using the VBoxManage and VBoxHeadless[1]. I have been using that for years. [1]: http://www.virtualbox.org/manual/ch07.html http://www.virtualbox.org/manual/ch07.html
- kbenson 13y agoMy understanding is that portions of QEMU are used in KVM and Xen, so advancements here enhance those projects as well.
- evol262 13y agoThis is the correct answer. qemu --accelerator=kvm is the principal way KVM is used.
- octopus 13y agoQEMU lets you emulate ARM architecture on x86 for example, which is not possible with VirtualBox. I've played with a Raspbian image running on QEMU hosted on Windows 7 a few months ago.
- uulbiy 13y agoI think this is closest to the correct answer, so I will try to expand on it. Qemu, is a processor emulator[1] and can emulate processors like x86, x86_64, ppc, mips, arm etc. Qemu is usually run with kvm[2]. [1]: http://wiki.qemu.org/download/qemu-doc.html#Introduction http://wiki.qemu.org/download/qemu-doc.html#Introduction [2]: http://www.linux-kvm.org/page/Main_Page http://www.linux-kvm.org/page/Main_Page
- alok-g 13y agoHow fast does it run as compared to on Raspberry Pi itself?
- rainforest 13y agoIn addition to KVM use couradical points out, it's also used in the Bitblaze BAP tool's TEMU component[1], which does dynamic analysis (including taint tracking) over x86 programs and kernels. [1] http://bitblaze.cs.berkeley.edu/temu.html http://bitblaze.cs.berkeley.edu/temu.html
- chjj 13y agoThe VirtualBox virtualization drivers have serious issues. They're written so poorly that they're notorious for causing kernel panics on linux. The kernel devs consider your kernel tainted if you load the virtualbox modules. I've crashed so hard using virtualbox that I didn't even get a kernel panic, just a box that wouldn't even respond to alt+sysrq. On top of this, I personally prefer QEMU because it doesn't come with a clunky GUI.
- octopus 13y agoTo be fair, VirtualBox runs flawlessly on OSX and Windows. I've also used VirtualBox without problems on Ubuntu. What Linux distribution you use ?
- gtaylor 13y agoI've had Ubuntu 12.04 guests crash hard (like the commenter mentioned) on OSX and Linux hosts with VirtualBox.
- octopus 13y agoProbably has something to do with the 3D acceleration Unity needs. In my case (MacBook Air 2013 with 8GB of RAM I run Ubuntu 12.04.4 without a problem).
- gtaylor 13y agoMy installs are headless, no 3D accel or Unity needed. As originally mentioned, the VBox kernel modules are of poor quality. You may or may not trigger an edge case in your daily use, with or without a desktop environment.
- raverbashing 13y agoThis also may happen if you have another virtualization driver installed (even kvm)
- chjj 13y ago
- CSDude 13y agoVirt-manager uses QEMU and I think it is pretty good, and much faster than Virtualbox. If you wish to use a desktop though, you should configure the video card of VM manually, its performance is not that good, but if you really want to use desktop VM, I suggest VMWare, I found the interaction much faster, but Virtualbox is pretty good to. In short, QEMU with KVM is way faster, for servers, non-gui interactions.
- duaneb 13y agoIt runs non-x86 binaries.
- LukeShu 13y agoThere are several reasons I can think of: 1. Qemu supports more architectures, such as running ARM or MIPS code on x86 hardware. 2. Server use. It works with KVM, Xen, Virt-manager, etc; it plays nice with the ecosystem on GNU/Linux. I know my VPS is using Qemu as part of their stack. 3. That last point also means that improvements to KVM and whatnot also improve Qemu. 4. If you are a "freetard", these days VirtualBox uses non-free code in the BIOS. Qemu can be used totally free. 5. As petty as it sounds: It was around first, and people stick with what they know (this is the principle reason I use Qemu).
- thristian 13y agoActually, VirtualBox's BIOS code is 100% freely redistributable and modifiable. Unfortunately, the only compiler capable of building it is non-Free (OpenWatcom). It turns out there's not a whole lot of interest in writing compilers targeting 8086 real mode these days. :(
- LukeShu 13y agoOops, you are correct. Good catch! That is also the compiler required for FreeDOS; an effort towards creating a free replacement would be helping multiple projects.
- dice 13y agoQEMU/KVM are the default virtualization used in OpenStack [1], for one. I also use it on my laptop to host guests because of how much Virtual Box sucks under Linux [2], as others have mentioned. [1] https://www.openstack.org/ https://www.openstack.org/ [2] https://lkml.org/lkml/2011/10/6/317 https://lkml.org/lkml/2011/10/6/317
- venomsnake 13y agoVGA Passtrough
- jsight 13y agoThe best reason, IMO, is that the tools around KVM (using QEMU) and virt-manager are becoming much more pleasant to use than their VirtualBox counterparts. The GUI could still use some cleaning up, IMO, but overall I have found the experience much more pleasant in recent virt-manager releases than the VirtualBox way of doing things.
- bjz_ 13y agoWhat is QEMU and why do I care? It would be helpful if that had been in the first paragraph. I am going to dig deeper, but I'm sure a huge number of people didn't.
- Jtsummers 13y agoWell, to be fair it's a QEMU newsgroup and its full listing is gmane.comp.emulators.qemu. It's an emulator for a wide variety of hardware platforms. You'd care if you wanted an emulator for a platform it supported.
- adamman 13y agoQEMU (short for "Quick EMUlator") is a free and open-source hosted hypervisor that performs hardware virtualization. QEMU is a hosted virtual machine monitor: It emulates central processing units through dynamic binary translation and provides a set of device models, enabling it to run a variety of unmodified guest operating systems. It also provides an accelerated mode for supporting a mixture of binary translation (for kernel code) and native execution (for user code), in the same fashion as VMware Workstation and VirtualBox do. QEMU can also be used purely for CPU emulation for user-level processes, allowing applications compiled for one architecture to be run on another. http://en.wikipedia.org/wiki/QEMU http://en.wikipedia.org/wiki/QEMU
- sixothree 13y agohttp://en.wikipedia.org/wiki/QEMU http://en.wikipedia.org/wiki/QEMU
- Zikes 13y agoI know where you're coming from, and I've had the same reaction to a few other similar posts on HN, however before I posted that reaction I realized two things: 1. If it's on the front page of HN then a lot of other folks around here probably know what it is already. 2. If it got voted up fairly quickly, it's probably also a big or important technology that I should familiarize myself with, at least superficially.
- bjz_ 13y ago
- ausjke 13y agoThis is simply awesome. Congratulations!
- threeio 13y agoCompletely read this as QEMM and flashed back to DOS days. :)
- micro-ram 13y agohttp://en.wikipedia.org/wiki/DESQview http://en.wikipedia.org/wiki/DESQview
- awda 13y agoAnyone know if there are good tools for migrating a VMware .vmx and accompanying files to a QEMU machine? Or is this more complicated than I imagine? I'd like to ditch the VMware crap modules that break with every kernel upgrade in favor of KVM.
- ams6110 13y agoqemu-img convert http://docs.openstack.org/image-guide/content/ch_converting.html http://docs.openstack.org/image-guide/content/ch_converting....
- awda 13y agoOk, that gets me the disk image :). What about configuration?
- vegardx 13y agoOvfconverter should be able to go both ways and translate the configuration to and from what you want. Naturally there are some limitations, as not all hypervisors support what other hypervisors support, visa versa. https://www.vmware.com/support/developer/ovf/ https://www.vmware.com/support/developer/ovf/
- mgiampapa 13y agoKVM can work with VMware vmdk-flat files natively without conversion. Just make sure you have the drivers and kernel support for KVM installed beforehand and you don't even need to convert them.
- awda 13y agoOk, but what about everything else in a .vmx (memory configuration, network configuration, serial device configuration)?
- palebluedot 13y agoYou can try using virt-tools (e.g. libvirt, virt-v2v). I think virt-v2v may do what you want: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.2/html-single/V2V_Guide/index.html#subsect-convert-a-esx-guest https://access.redhat.com/site/documentation/en-US/Red_Hat_E...
- doktrin 13y agoQEMU looks interesting. I have a few questions about its intended use case. 1. My understanding is that the primary use case of QEMU is for server virtualization on Linux hosts leveraging KVM. Is there a use-case for QEMU on non-Linux hosts? 2. I have read that QEMU excels in server virtualization but lags behind VirtualBox in desktop virtualization. Is this still the case? [1] 3. Is it considered "slow" for cross-architecture virtualization? [1] [1] http://superuser.com/questions/447293/does-qemus-performance-still-lag-virtualboxs-and-is-there-a-way-to-improve-i http://superuser.com/questions/447293/does-qemus-performance...
- pm215 13y agoWhether you think it's "slow" for cross-architecture use depends on your standards. It's always going to be slower than using the native CPU, because we have to emulate everything, and even with a JIT that's not going to be fast. Empirically not much effort is being put into trying to make the emulation/JIT faster (and there are serious technical obstacles as well as mere lack of effort/time), but if your target being emulated is a 200MHz embedded dev board then we can probably manage to go as fast as that in software... In any case the QEMU target is often more convenient for debugging or simply more easily available than the real hardware.
- doktrin 13y agoThanks. That makes sense. I think I should have phrased that question (#3) differently, since there's a huge difference between relative and absolute speed & performance. What I had read as implied in the SO answer I linked to was that there was some other means of implementing cross-architecture emulation that was faster than QEMU. In other words, there's a difference between being "slow" in absolute terms vs. being "slow" relative to other virtualization solutions. From your answer, I gather that QEMU isn't under-performant relative to other emulation options.
- moyix 13y agoIt is sometimes a bit disheartening to see so much development effort go toward the virtualization/KVM/Xen side rather than seeing improvements in TCG. I realize that Redhat (and maybe others?) funds a lot of development in that area, so it's natural that that's where most of the improvements are. I mostly use QEMU as a CPU emulator, though, and it's frustrating to see so little activity on the TCG side, especially when it comes to things like bugfixes (Win7 x64 bluescreens under TCG, mipsel loadvm broken, to name two issues that have bitten me). Still, kudos to the developers for making some things better (TCG actually does seem noticeably faster in 2.0.0) and congratulations on the 2.0.0 release!