QEMU is an open-source vir­tu­al­isa­tion software that enables the emulation and vir­tu­al­isa­tion of various operating systems and ap­plic­a­tions across different hardware platforms.

Cloud Migration with IONOS
The Hy­per­visor al­tern­at­ive
  • Great price-to-per­form­ance ratio with no vir­tu­al­isa­tion costs
  • Migration as­sist­ance from IONOS Cloud experts included
  • No vendor lock-in & open source based

What is QEMU?

QEMU, short for ‘Quick Emulator’, is a vir­tu­al­isa­tion software that can be used to emulate various types of hardware. As open source software, QEMU is freely ac­cess­ible and supported by a large community of de­velopers worldwide. It enables the emulation of various hardware ar­chi­tec­tures, including x86, ARM, PowerPC, and many others. This ver­sat­il­ity makes QEMU par­tic­u­larly valuable for pro­gram­mers, testers, and system ad­min­is­trat­ors who need to test and run different operating systems or software on diverse hardware con­fig­ur­a­tions.

Re­quire­ments for the use of QEMU

In order to use QEMU ef­fect­ively, some basic re­quire­ments must be met:

  • Hardware: QEMU can run on almost any modern computer hardware, but per­form­ance is highly dependent on available resources. For the emulation of complex operating systems and ap­plic­a­tions, a powerful processor and suf­fi­cient RAM are crucial. For example, emulating x86 operating systems usually requires at least 4 GB RAM to run smoothly, while more complex scenarios such as emulating an ARM server might require more resources.
  • Operating system: QEMU is cross-platform and runs on various operating systems such as Linux, Windows and macOS. However, in­stall­a­tion and use may vary depending on the operating system. For optimal and straight­for­ward use on Linux systems, it’s re­com­men­ded to choose a Linux dis­tri­bu­tion already con­tain­ing QEMU in its package sources.
  • Software: Depending on the operating system and specific use cases, ad­di­tion­al software packages or libraries may need to be installed. On Linux systems this can be e.g. libvirt for the ad­min­is­tra­tion of virtual machines or virt-manager for a graphical user interface.
Note

For improved per­form­ance on Linux systems, QEMU can be combined with KVM, a kernel module that manages the al­loc­a­tion of resources from the host system.

How does QEMU work?

QEMU functions as both an emulator and a vir­tu­al­iser. As an emulator, it enables the execution of software designed for one hardware platform on an entirely different one by rep­lic­at­ing the hardware at the software level. For instance, QEMU can emulate an ARM processor on an x86 computer, allowing operating systems and programs developed for ARM to run seam­lessly on x86 hardware.

As a vir­tu­al­iser, QEMU uses the existing hardware to create a vir­tu­al­isa­tion layer. When QEMU is used together with KVM as a hy­per­visor, it can access the CPU ex­ten­sions to run virtual machines almost natively, resulting in greatly improved per­form­ance. This method is called para­vir­tu­al­isa­tion and helps to maximise the per­form­ance of the virtual machines by allowing them to access the physical hardware directly.

Important areas of ap­plic­a­tion for QEMU

QEMU is used in a variety of different areas:

  • Software de­vel­op­ment and testing: QEMU allows testing software on different hardware ar­chi­tec­tures without requiring physical machines, making it ideal for cross-platform de­vel­op­ment and sup­port­ing multiple ar­chi­tec­tures.
  • Vir­tu­al­isa­tion of servers and desktops: QEMU is commonly used in server en­vir­on­ments to host virtual machines running various services.
  • Research and education: QEMU allows students and re­search­ers to ex­per­i­ment with different operating systems and hardware con­fig­ur­a­tions without the need for expensive physical hardware.
  • Emulation of legacy systems: QEMU can emulate older or un­sup­por­ted operating systems and software, aiding in the main­ten­ance and operation of legacy systems.

Ad­vant­ages of QEMU

  • Flex­ib­il­ity and ver­sat­il­ity: QEMU supports a wide range of hardware ar­chi­tec­tures and can be used for both vir­tu­al­isa­tion and emulation, making it a highly versatile tool for various ap­plic­a­tions.
  • Free and open source: As open-source software, QEMU is free to use and has no license costs. It also benefits from an active community that con­tinu­ously provides im­prove­ments and security updates.
  • Cross-platform support: QEMU runs on multiple operating systems, offering high com­pat­ib­il­ity and flex­ib­il­ity for users across different platforms.
  • Com­bin­ab­il­ity with KVM: When combined with KVM, QEMU can provide near-native per­form­ance, making it an at­tract­ive choice for vir­tu­al­ising servers and desktops.

Dis­ad­vant­ages of QEMU

  • Per­form­ance in full emulation: In emulation mode, QEMU can be slower than other solutions due to the need to emulate hardware entirely in software, resulting in higher overhead and slower execution.
  • Com­plex­ity: Setting up and con­fig­ur­ing QEMU can be chal­len­ging for beginners, es­pe­cially when ad­di­tion­al com­pon­ents like KVM, libvirt or network bridges need to be added.
  • Lack of ease of use: In com­par­is­on to other vir­tu­al­isa­tion solutions, QEMU doesn’t provide a native, user-friendly graphical interface.
  • Limited support for 3D ac­cel­er­a­tion: While QEMU is capable of emulating basic graphics op­er­a­tions, its support for 3D ac­cel­er­a­tion is limited, making it less ideal for graphics-intensive ap­plic­a­tions.
Go to Main Menu