What is QEMU? An overview of the emulation software
QEMU is an open-source virtualisation software that enables the emulation and virtualisation of various operating systems and applications across different hardware platforms.
- Great price-to-performance ratio with no virtualisation costs
- Migration assistance from IONOS Cloud experts included
- No vendor lock-in & open source based
What is QEMU?
QEMU, short for ‘Quick Emulator’, is a virtualisation software that can be used to emulate various types of hardware. As open source software, QEMU is freely accessible and supported by a large community of developers worldwide. It enables the emulation of various hardware architectures, including x86, ARM, PowerPC, and many others. This versatility makes QEMU particularly valuable for programmers, testers, and system administrators who need to test and run different operating systems or software on diverse hardware configurations.
Requirements for the use of QEMU
In order to use QEMU effectively, some basic requirements must be met:
- Hardware: QEMU can run on almost any modern computer hardware, but performance is highly dependent on available resources. For the emulation of complex operating systems and applications, a powerful processor and sufficient 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, installation and use may vary depending on the operating system. For optimal and straightforward use on Linux systems, it’s recommended to choose a Linux distribution already containing QEMU in its package sources.
- Software: Depending on the operating system and specific use cases, additional software packages or libraries may need to be installed. On Linux systems this can be e.g.
libvirt
for the administration of virtual machines orvirt-manager
for a graphical user interface.
For improved performance on Linux systems, QEMU can be combined with KVM, a kernel module that manages the allocation of resources from the host system.
How does QEMU work?
QEMU functions as both an emulator and a virtualiser. As an emulator, it enables the execution of software designed for one hardware platform on an entirely different one by replicating 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 seamlessly on x86 hardware.
As a virtualiser, QEMU uses the existing hardware to create a virtualisation layer. When QEMU is used together with KVM as a hypervisor, it can access the CPU extensions to run virtual machines almost natively, resulting in greatly improved performance. This method is called paravirtualisation and helps to maximise the performance of the virtual machines by allowing them to access the physical hardware directly.
Important areas of application for QEMU
QEMU is used in a variety of different areas:
- Software development and testing: QEMU allows testing software on different hardware architectures without requiring physical machines, making it ideal for cross-platform development and supporting multiple architectures.
- Virtualisation of servers and desktops: QEMU is commonly used in server environments to host virtual machines running various services.
- Research and education: QEMU allows students and researchers to experiment with different operating systems and hardware configurations without the need for expensive physical hardware.
- Emulation of legacy systems: QEMU can emulate older or unsupported operating systems and software, aiding in the maintenance and operation of legacy systems.
Advantages of QEMU
- Flexibility and versatility: QEMU supports a wide range of hardware architectures and can be used for both virtualisation and emulation, making it a highly versatile tool for various applications.
- 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 continuously provides improvements and security updates.
- Cross-platform support: QEMU runs on multiple operating systems, offering high compatibility and flexibility for users across different platforms.
- Combinability with KVM: When combined with KVM, QEMU can provide near-native performance, making it an attractive choice for virtualising servers and desktops.
Disadvantages of QEMU
- Performance 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.
- Complexity: Setting up and configuring QEMU can be challenging for beginners, especially when additional components like KVM,
libvirt
or network bridges need to be added. - Lack of ease of use: In comparison to other virtualisation solutions, QEMU doesn’t provide a native, user-friendly graphical interface.
- Limited support for 3D acceleration: While QEMU is capable of emulating basic graphics operations, its support for 3D acceleration is limited, making it less ideal for graphics-intensive applications.