Open source machine emulator and virtualizer

The QEMU Project includes the QEMU open source machine emulator and virtualizer and also acts as an umbrella organization for the KVM Linux kernel module.

When used as a machine emulator, QEMU can run operating systems and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, ARM, server and embedded PowerPC, and S390 guests.

lightbulb_outline View ideas list


  • c
  • python
  • rust
  • linux


  • Cloud
  • emulator
  • hypervisor
  • compiler
  • code generation
  • lowlevel
comment IRC Channel
email Mailing list
mail_outline Contact email

QEMU 2021 Projects

  • Lara Lazier
    Complete AMD virtualization emulation
    QEMU already includes a basic implementation of the virtualization extensions that are found in AMD processors. This implementation, however, is not...
  • Harshavardhan Unnibhavi
    Development of a vhost-user-vsock application and its integration with kata contianers
    This project aims to realize a vhost-user-vsock application that will leverage the vhost-user protocol to emulate a virtio-vsock device in an...
  • Niteesh Babu G S
    Interactive, asynchronous QEMU Machine Protocol (QMP) text user interface (TUI)
    The aim of the project is to build a Text User Interface(TUI) for issuing and receiving QEMU Monitor Protocol (QMP) commands from a running QEMU...
  • Bogdan Grigoruță
    Mocking framework for virtio queues
    This project revolves around designing a reusable framework for mocking the driver side of a VirtQueue operation. It would allow rust-vmm crates and...
  • Mahmoud Mandour
    TCG Plugin: Cache Modelling
    Since cache performance is one of the essential metrics that may bottle-neck the overall performance of the system, monitoring it and identifying...
  • Gaelan Steele
    vhost-user-scsi device in Rust
    QEMU supports exposing block devices to the guest OS over the virtio-scsi protocol. Currently, this is implemented using C code running in the main...