← Software

QEMU

A generic and open source machine emulator and virtualiser.

QEMU emulates entire computers, including processors of different architectures, and is widely used to run software built for one CPU on another (running x86 binaries on ARM, ARM firmware on x86 development hosts, and so on). When paired with the KVM kernel module on Linux, it also serves as a high- performance virtualiser for guests of the same architecture as the host, with near-native performance for most workloads.

QEMU is the hypervisor underneath libvirt, virt-manager, GNOME Boxes, Proxmox VE, OpenStack, and most cloud providers' Linux instances. The configuration surface is huge (hundreds of command-line flags) but the standard usage through libvirt or virt-manager hides most of that complexity behind a graphical front-end. The same QEMU codebase emulates everything from 1980s home computers to modern x86_64 servers.

Fabrice Bellard, who also wrote FFmpeg and Tiny C Compiler, started QEMU in 2003. The project is GPL-2.0 and is maintained by a large community team. QEMU TCG (the dynamic binary translation engine) makes architecture emulation practical for development and testing; it is what makes things like Android Emulator and Apple's Rosetta-style x86-on-ARM work.

QEMU screenshot
Screenshot: nurnware, GPL, via Wikimedia Commons.

License: GPL-2.0-only

Category: Virtualisation

Website: https://www.qemu.org/

Install

Debian/Ubuntu: sudo apt install qemu-system
Fedora/RHEL:   sudo dnf install qemu
Arch:          sudo pacman -S qemu-full
macOS:         brew install qemu

Authors

  • Fabrice Bellard (creator)
  • QEMU developers
PreviousPython NextQt

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring