

Note that headless and non-headless versions install commands with the same name (e.g. Headless This is a slimmer variant that does not require GUI (this is suitable e.g. Non-headless (default) This variant enables GUI features that require additional dependencies (like SDL or GTK). In the case of Arch Linux, full-system emulation is offered as: Statically-linked qemu-* commands can be copied to any Linux system with the same architecture.

QEMU is offered in dynamically-linked and statically-linked variants:ĭynamically-linked (default) qemu-* commands depend on the host OS libraries, so executables are smaller. QEMU commands for usermode emulation are named qemu- target_architecture, e.g. some features may not be implemented, dynamically linked executables will not work out of the box (see #Chrooting into arm/arm64 environment from x86_64 to address this) and only Linux is supported (although Wine may be used for running Windows executables). Usermode emulation In this mode, QEMU is able to invoke a Linux executable compiled for a (potentially) different architecture by leveraging the host system resources. If the target architecture matches the host CPU, this mode may still benefit from a significant speedup by using a hypervisor like KVM or Xen. qemu-system-x86_64 for emulating x86_64 CPUs, qemu-system-i386 for Intel 32-bit x86 CPUs, qemu-system-arm for ARM (32 bits), qemu-system-aarch64 for ARM64, etc. QEMU commands for full-system emulation are named qemu-system- target_architecture, e.g.

It is more accurate but slower, and does not require the emulated OS to be Linux. QEMU is offered in several variants suited for different use cases.Īs a first classification, QEMU is offered in full-system and usermode emulation modes:įull-system emulation In this mode, QEMU emulates a full system, including one or several processors and various peripherals.
