Quickly create and run optimised Windows, macOS and Linux virtual machines
Go to file
Martin Wimpress 1991306df3 fix(quickget): prefer macOS-friendly hash commands in check_hash
- Prefer GNU coreutils g* hash commands on macOS when available; fall
back to native shasum/md5 otherwise
- Handle MD5 on macOS using 'md5 -r' and parse its output for comparison
- Warn and skip b2sum verification when GNU b2sum is not installed on
macOS
- Use a selected hash command variable when printing status and
performing checks

Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-25 00:54:57 +00:00
.github feat(quickget): add --check-all-arch to test amd64 and arm64 2026-01-25 00:54:57 +00:00
build-docs@c5907eae9c docs: update to reflect currently supported OSes 2026-01-23 07:34:47 +00:00
debian fix: add dependency on new qemu-system-modules-spice for noble onwards 2025-07-29 18:00:47 +00:00
docs Update docs/quickget.1 2026-01-23 07:34:47 +00:00
.editorconfig Update .editorconfig with correct spacing for quickget (4) and quickemu (2) 2022-02-23 11:50:31 +00:00
.envrc feat: add flake.nix to assist local development 2024-04-16 16:57:06 +01:00
.gitignore chore: update .gitignore 2024-05-14 11:15:29 +01:00
.gitmodules chore: use https for git submodules to use CA PKI instead of SSH TOFU (#1553) 2025-02-01 14:45:33 +00:00
AGENTS.md docs: add AGENTS.md describing agents and contribution workflow 2026-01-24 00:01:16 +00:00
CODE_OF_CONDUCT.md chore: correct a spelling mistake (#1495) 2024-11-05 12:30:07 +00:00
CONTRIBUTING.md docs: add CONTRIBUTING.md 2024-06-29 23:25:20 +01:00
LICENSE Initial commit 2020-03-15 23:11:48 +00:00
README.md docs: update to reflect currently supported OSes 2026-01-23 07:34:47 +00:00
SECURITY.md docs: update SECURITY.md 2024-06-30 00:12:20 +01:00
chunkcheck fix: add #! to chunkcheck and correct skipVerification for macOS 2024-04-17 03:54:38 +01:00
devshell.nix build(devshell): remove macOS brew and SHARE_PATH sed substitutions 2026-01-24 21:28:59 +00:00
flake.lock chore: update flake.nix 2026-01-23 16:42:42 +00:00
flake.nix chore(deps): update flake, devshell and package Nix files 2026-01-23 13:10:55 +00:00
package.nix feat(quickget): integrate OpenCore into macOS disk image by default 2026-01-24 12:42:51 +00:00
quickemu fix(quickemu): derive qemu share path from binary location 2026-01-24 21:28:59 +00:00
quickget fix(quickget): prefer macOS-friendly hash commands in check_hash 2026-01-25 00:54:57 +00:00
quickreport fix: running quickemu and quickreport in zsh. close #1268 2024-06-24 09:02:43 +01:00

README.md

Quickemu

Quickemu

Quickly create and run optimised Windows, macOS and Linux virtual machines:

Made with 💝 for Tux (Linux) & Apple (macOS)

 Discord   Mastodon   Twitter   LinkedIn 

Introduction

Quickemu is a wrapper for the excellent QEMU that automatically "does the right thing" when creating virtual machines. No requirement for exhaustive configuration options. You decide what operating system you want to run and Quickemu takes care of the rest 🤖

  • quickget automatically downloads the upstream OS and creates the configuration 📀
  • quickemu enumerates your hardware and launches the virtual machine with the optimum configuration best suited to your computer

The original objective of the project was to enable quick testing of Linux distributions where the virtual machines and their configuration can be stored anywhere (such as external USB storage or your home directory) and no elevated permissions are required to run the virtual machines.

Today, Quickemu includes comprehensive support for macOS, Windows, most of the BSDs, novel non-Linux operating systems such as FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS, and more.

Features

  • Host support for Linux and macOS
  • macOS Sequoia, Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
  • Windows 10 and 11 including TPM 2.0
  • Windows Server 2022 2019 2016
  • Ubuntu and all the official Ubuntu flavours
  • Nearly 1000 operating system editions are supported!
  • Full SPICE support including host/guest clipboard sharing
  • VirtIO-webdavd file sharing for Linux and Windows guests
  • VirtIO-9p file sharing for Linux and macOS guests
  • QEMU Guest Agent support; provides access to a system-level agent via standard QMP commands
  • Samba file sharing for Linux, macOS and Windows guests (if smbd is installed on the host)
  • VirGL acceleration
  • USB device pass-through
  • Smartcard pass-through
  • Automatic SSH port forwarding to guests
  • Network port forwarding
  • Full duplex audio
  • Braille support
  • EFI (with or without SecureBoot) and Legacy BIOS boot

The presenters of Linux Matters 🐧🎙️ are the creators of each of the principal Quickemu projects. We discussed Quickemu's 2024 reboot in Episode 30 - Quickemu Rising From the Bashes.

Linux Matters Podcast
Linux Matters Podcast

Quick start

Once Quickemu is installed, there are two simple steps to create and run a virtual machine:

  • quickget automatically downloads the ISO image for the operating system you want to run and creates a configuration file for the virtual machine.
quickget nixos unstable minimal
  • quickemu starts the virtual machine using the configuration file created by quickget.
quickemu --vm nixos-unstable-minimal.conf

Execute quickget (with no arguments) to see a list of all the supported operating systems.

Demo

Documentation

The wiki describes how to get up and running with Quickemu and also covers more advanced configuration and usage.