QEMU 6.0 Is Released With A Long List Of New Features

From LinuxReviews
Jump to navigationJump to search
Cpu-icon2.png

QEMU 6.0 is a huge release with a very long list of improvements for everyone using this powerful multi-platform full system emulator to run operating systems for Arm, PowerPC, RISC-V, s390, SPARC, x86 and other systems QEMU supports on Linux, Windows or macOS.

QEMU-gentoo.jpg
Gentoo Linux in QEMU 5.2.0.

QEMU is a multi-platform full system emulator capable of hardware virtualization on Intel and AMD x86-64 machines thanks to the Linux kernel's KVM facility. It is more like DOSBox and MAME in capabilities, even though it can be used for virtualization the same way VirtualBox works. QEMU can be used to run x86-64 operating systems on x86-64 machines with virtualization or entirely foreign architectures like ARM on any machines capable of running QEMU without virtualization.

The latest QEMU 6.0 release is a big release with a pages upon pages long changelog.

Some of the highlights are:

  • The QEMU emulated NVMe controller is now compliant with NVMe version 1.4, and NVM Subsystems, multipath I/O and namespace sharing have been implemented.
  • Background RAM snapshots using the Userfaultfd-wp (UFFD-WP) feature for making memory temporarily write-protected that was introduced in Linux 5.8.
  • FUSE block device exports. This allows host systems to mount guest block devices the way the guest operating systems see them. FUSE block devices can be created witht he new QEMU Machine Protocol (QMP) qemu-storage-daemon options block-export-add or --export
  • QMP has three new features, load-snapshot, save-snapshot and delete-snapshot, for managing qcow2 snapshots.
  • Emulation of the Arm-v8.1M ARM architecture and Cortex-M55 processors, and several new ARM extensions including ARMv8.4-TTST, ARMv8.4-SEL2, FEAT_SSBS, ARMv8.5-MemTag and ARMv8.4-DIT.
  • There's a long list of improvements to RISC-V emulation
  • USB traffic can now be written to package capture filters like wireshark. A new pcap=file option can be added to all USB devices enabled in QEMU.
  • Guest operating systems in QEMU can now take advantage of AMD SEV-ES (Secure Encrypted Virtualization) to encrypt the processor registers in the guest system so the host environment can't see what's going on inside a virtual machine unless the guest explicitly grants access to it.
  • The Tiny Code Generator (TCG) for x86 emulation can now emulate the Protection Keys Supervisor (PKS) for protecting access to privileged memory pages.
  • Support for the Chinese Loongson-3 processors have been added to the MIPS architecture emulator.
  • The Tiny Code Generator (TCG) now supports macOS host environments running the Apple M1 ARM chip.

The above list of new features in QEMU 6.0 barely scratches the surface, the full QEMU 6.0 changelog is a very long read.

The QEMU download page for Linux does not list any AppImage, Snap, .deb or .rpm packages or binaries of any kind, it simply lists instructions for installing it using the major Linux distributions repositories. All of them have some recently new QEMU version like 5.2, none have the latest 6.0 release. That leaves compiling from source as the only option if you really want QEMU 6.0 now. The source is a 102 MiB tarball that extracts to 724 MiB. Building it is, in theory, as easy as ./configure && make, but there are a lot of optional dependencies to work out. You will likely need to install a number of development packages and a number of ./configure flags like --enable-kvm (kind of important if you want to run x86-64 software on x86-64 without a huge performance penalty). You may be better off waiting until your distribution makes a QEMU 6.0 package unless you really want one of the new features right now. The actual compile will only take about 15 minutes on a Ryzen 1600X with -j 12, even thought the source tree is huge, so it is doable. Make sure to get all the dependencies in place and re-run ./configure so you don't end up with a crippled QEMU if you decide to go that route.

0.00
(0 votes)


avatar

Gnu4ever

24 days ago
Score 1++
Any project that forces me to compile their stupid code with broken dependencies (such as this one) can go f'ck itself right out the window. My time's more valuable than this sh?t. VirtualBox 6.0 all the way
avatar

Danseobang

23 days ago
Score 0++
Agreed. I just want something that can run different OS iso's with a nice GUI. If I can automate it later that's fantastic, but unless I'm going to spend my whole life obsessing over one app, a low barrier of entry is a must.
avatar

Anonymous (c663f1c9)

20 days ago
Score 0
You and Danseobang are a bunch of idiots.
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.