diff --git a/README.md b/README.md
index 358adb7..8eeda6a 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ required to run the virtual machines.
# Features
- Host support for **Linux and macOS**
-- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
+- **macOS** Sequoia, Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
- **Windows** 10 and 11 including TPM 2.0
- **Windows Server** 2022 2019 2016
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
@@ -66,9 +66,11 @@ required to run the virtual machines.
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](https://linuxmatters.sh/30).
-

-
-
Linux Matters Podcast
+
+

+
+
Linux Matters Podcast
+
# Quick start
diff --git a/build-docs b/build-docs
index 3125ddc..c5907ea 160000
--- a/build-docs
+++ b/build-docs
@@ -1 +1 @@
-Subproject commit 3125ddc21a91440cd6f1f70aa40081d760c10a4e
+Subproject commit c5907eae9c0bd9364b4a91a3f449f1d1dbbc58c9
diff --git a/docs/quickemu.1 b/docs/quickemu.1
index e74c237..da9fbd1 100644
--- a/docs/quickemu.1
+++ b/docs/quickemu.1
@@ -1,6 +1,6 @@
-.\" Automatically generated by Pandoc 3.6.1
+.\" Automatically generated by Pandoc 3.7.0.2
.\"
-.TH "QUICKEMU" "1" "December 30, 2024" "quickemu" "Quickemu User Manual"
+.TH "QUICKEMU" "1" "July 31, 2025" "quickemu" "Quickemu User Manual"
.SH NAME
quickemu \- A quick VM builder and manager
.SH SYNOPSIS
@@ -17,7 +17,7 @@ You can also pass optional parameters
.TP
\f[B]\-\-access\f[R]
Enable remote spice access support.
-\[aq]local\[aq] (default), \[aq]remote\[aq], \[aq]clientipaddress\[aq]
+\(aqlocal\(aq (default), \(aqremote\(aq, \(aqclientipaddress\(aq
.TP
\f[B]\-\-braille\f[R]
Enable braille support.
@@ -31,8 +31,8 @@ Delete the entire VM and its configuration
.TP
\f[B]\-\-display\f[R]
Select display backend.
-\[aq]sdl\[aq] (default), \[aq]gtk\[aq], \[aq]none\[aq], \[aq]spice\[aq]
-or \[aq]spice\-app\[aq]
+\(aqsdl\(aq (default), \(aqgtk\(aq, \(aqnone\(aq, \(aqspice\(aq or
+\(aqspice\-app\(aq
.TP
\f[B]\-\-fullscreen\f[R]
Starts VM in full screen mode (Ctl+Alt+f to exit)
@@ -66,14 +66,14 @@ Do not commit any changes to disk/snapshot.
.TP
\f[B]\-\-viewer \f[R]
Choose an alternative viewer.
-\[at]Options: \[aq]spicy\[aq] (default), \[aq]remote\-viewer\[aq],
-\[aq]none\[aq]
+\(atOptions: \(aqspicy\(aq (default), \(aqremote\-viewer\(aq,
+\(aqnone\(aq
.TP
\f[B]\-\-width \f[R]
-Set VM screen width; requires \[aq]\-\-height\[aq]
+Set VM screen width; requires \(aq\-\-height\(aq
.TP
\f[B]\-\-height \f[R]
-Set VM screen height; requires \[aq]\-\-width\[aq]
+Set VM screen height; requires \(aq\-\-width\(aq
.TP
\f[B]\-\-ssh\-port \f[R]
Set SSH port manually
@@ -83,21 +83,20 @@ Set SPICE port manually
.TP
\f[B]\-\-public\-dir \f[R]
Expose share directory.
-\[at]Options: \[aq]\[aq] (default: xdg\-user\-dir PUBLICSHARE),
-\[aq]\[aq], \[aq]none\[aq]
+\(atOptions: \(aq\(aq (default: xdg\-user\-dir PUBLICSHARE), \(aq\(aq,
+\(aqnone\(aq
.TP
\f[B]\-\-monitor \f[R]
Set monitor connection type.
-\[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq],
-\[aq]none\[aq]
+\(atOptions: \(aqsocket\(aq (default), \(aqtelnet\(aq, \(aqnone\(aq
.TP
\f[B]\-\-monitor\-telnet\-host \f[R]
Set telnet host for monitor.
-(default: \[aq]localhost\[aq])
+(default: \(aqlocalhost\(aq)
.TP
\f[B]\-\-monitor\-telnet\-port \f[R]
Set telnet port for monitor.
-(default: \[aq]4440\[aq])
+(default: \(aq4440\(aq)
.TP
\f[B]\-\-monitor\-cmd \f[R]
Send command to monitor if available.
@@ -105,37 +104,36 @@ Send command to monitor if available.
.TP
\f[B]\-\-serial \f[R]
Set serial connection type.
-\[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq],
-\[aq]none\[aq]
+\(atOptions: \(aqsocket\(aq (default), \(aqtelnet\(aq, \(aqnone\(aq
.TP
\f[B]\-\-serial\-telnet\-host \f[R]
Set telnet host for serial.
-(default: \[aq]localhost\[aq])
+(default: \(aqlocalhost\(aq)
.TP
\f[B]\-\-serial\-telnet\-port \f[R]
Set telnet port for serial.
-(default: \[aq]6660\[aq])
+(default: \(aq6660\(aq)
.TP
\f[B]\-\-keyboard \f[R]
Set keyboard.
-\[at]Options: \[aq]usb\[aq] (default), \[aq]ps2\[aq], \[aq]virtio\[aq]
+\(atOptions: \(aqusb\(aq (default), \(aqps2\(aq, \(aqvirtio\(aq
.TP
\f[B]\-\-keyboard_layout \f[R]
-Set keyboard layout: \[aq]en\-us\[aq] (default)
+Set keyboard layout: \(aqen\-us\(aq (default)
.TP
\f[B]\-\-mouse \f[R]
Set mouse.
-\[at]Options: \[aq]tablet\[aq] (default), \[aq]ps2\[aq], \[aq]usb\[aq],
-\[aq]virtio\[aq]
+\(atOptions: \(aqtablet\(aq (default), \(aqps2\(aq, \(aqusb\(aq,
+\(aqvirtio\(aq
.TP
\f[B]\-\-usb\-controller \f[R]
Set usb\-controller.
-\[at]Options: \[aq]ehci\[aq] (default), \[aq]xhci\[aq], \[aq]none\[aq]
+\(atOptions: \(aqehci\(aq (default), \(aqxhci\(aq, \(aqnone\(aq
.TP
\f[B]\-\-sound\-card \f[R]
Set sound card.
-\[at]Options: \[aq]intel\-hda\[aq] (default), \[aq]ac97\[aq],
-\[aq]es1370\[aq], \[aq]sb16\[aq], \[aq]none\[aq]
+\(atOptions: \(aqintel\-hda\(aq (default), \(aqac97\(aq, \(aqes1370\(aq,
+\(aqsb16\(aq, \(aqnone\(aq
.TP
\f[B]\-\-extra_args \f[R]
Pass additional arguments to qemu
@@ -151,15 +149,15 @@ Launches the VM specified in the file \f[I]ubuntu\-mate\-22.04.conf\f[R]
.UR https://www.qemu.org/
QEMU
.UE \c
-\ that automatically \f[I]\[dq]does the right thing\[dq]\f[R] when
+\ that automatically \f[I]\(dqdoes the right thing\(dq\f[R] 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 🤖
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]quickget\f[R] \f[B]automatically downloads the upstream OS\f[R]
and creates the configuration 📀
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]quickemu\f[R] enumerates your hardware and launches the virtual
machine with the \f[B]optimum configuration best suited to your
computer\f[R] ⚡️
@@ -183,15 +181,16 @@ Windows
\f[R], most of the BSDs, novel non\-Linux operating systems such as
FreeDOS, Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
.SH Features
-.IP \[bu] 2
+.IP \(bu 2
Host support for \f[B]Linux and macOS\f[R]
-.IP \[bu] 2
-\f[B]macOS\f[R] Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
-.IP \[bu] 2
+.IP \(bu 2
+\f[B]macOS\f[R] Sequoia, Sonoma, Ventura, Monterey, Big Sur, Catalina &
+Mojave
+.IP \(bu 2
\f[B]Windows\f[R] 10 and 11 including TPM 2.0
-.IP \[bu] 2
+.IP \(bu 2
\f[B]Windows Server\f[R] 2022 2019 2016
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://ubuntu.com/desktop
Ubuntu
@@ -201,38 +200,38 @@ Ubuntu
official Ubuntu flavours
.UE \c
\f[R]
-.IP \[bu] 2
+.IP \(bu 2
\f[B]Nearly 1000 operating system editions are supported!\f[R]
-.IP \[bu] 2
+.IP \(bu 2
Full SPICE support including host/guest clipboard sharing
-.IP \[bu] 2
+.IP \(bu 2
VirtIO\-webdavd file sharing for Linux and Windows guests
-.IP \[bu] 2
+.IP \(bu 2
VirtIO\-9p file sharing for Linux and macOS guests
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://wiki.qemu.org/Features/GuestAgent
QEMU Guest Agent support
.UE \c
; provides access to a system\-level agent via standard QMP commands
-.IP \[bu] 2
+.IP \(bu 2
Samba file sharing for Linux, macOS and Windows guests (\f[I]if
\f[CI]smbd\f[I] is installed on the host\f[R])
-.IP \[bu] 2
+.IP \(bu 2
VirGL acceleration
-.IP \[bu] 2
+.IP \(bu 2
USB device pass\-through
-.IP \[bu] 2
+.IP \(bu 2
Smartcard pass\-through
-.IP \[bu] 2
+.IP \(bu 2
Automatic SSH port forwarding to guests
-.IP \[bu] 2
+.IP \(bu 2
Network port forwarding
-.IP \[bu] 2
+.IP \(bu 2
Full duplex audio
-.IP \[bu] 2
+.IP \(bu 2
Braille support
-.IP \[bu] 2
+.IP \(bu 2
EFI (with or without SecureBoot) and Legacy BIOS boot
.SS As featured on \c
.UR https://linuxmatters.sh
@@ -240,8 +239,8 @@ Linux Matters
.UE \c
\ podcast!
The presenters of Linux Matters 🐧🎙️ are the creators of each of the
-principle Quickemu projects.
-We discussed Quickemu\[aq]s 2024 reboot in \c
+principal Quickemu projects.
+We discussed Quickemu\(aqs 2024 reboot in \c
.UR https://linuxmatters.sh/30
Episode 30 \- Quickemu Rising From the Bashes
.UE \c
@@ -251,132 +250,133 @@ Episode 30 \- Quickemu Rising From the Bashes
.PP
When installing from source, you will need to install the following
requirements manually:
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.qemu.org/
QEMU
.UE \c
\ (\f[I]6.0.0 or newer\f[R]) \f[B]with GTK, SDL, SPICE & VirtFS
support\f[R]
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.gnu.org/software/bash/
bash
.UE \c
\ (\f[I]4.0 or newer\f[R])
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.gnu.org/software/coreutils/
Coreutils
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://curl.se/
curl
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/tianocore/edk2
EDK II
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.gnu.org/software/gawk/
gawk
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.gnu.org/software/grep/
grep
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://gitlab.freedesktop.org/mesa/demos
glxinfo
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://stedolan.github.io/jq/
jq
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://wiki.linuxfoundation.org/lsb/start
LSB
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/pciutils/pciutils
pciutils
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://gitlab.com/procps-ng/procps
procps
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.python.org/
python3
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://cdrtools.sourceforge.net/private/cdrecord.html
mkisofs
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/gregkh/usbutils
usbutils
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/karelzak/util-linux
util\-linux
.UE \c
; including \f[CR]uuidgen\f[R]
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.gnu.org/software/sed/
sed
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://www.dest-unreach.org/socat/
socat
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://gitlab.freedesktop.org/spice/spice-gtk
spicy
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/stefanberger/swtpm
swtpm
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.freedesktop.org/wiki/Software/xdg-user-dirs/
xdg\-user\-dirs
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://gitlab.freedesktop.org/xorg/app/xrandr
xrandr
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://zsync.moria.org.uk/
zsync
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://www.info-zip.org/UnZip.html
unzip
.UE \c
.PP
-For Ubuntu, Arch and NixOS hosts, the \c
+For Ubuntu, Debian, Fedora, Arch and NixOS hosts the native packaging or
+\c
.UR https://launchpad.net/~flexiondotorg/+archive/ubuntu/quickemu
ppa
.UE \c
@@ -394,12 +394,15 @@ to install the above requirements or their equivalents.
.PP
These examples may save a little typing:
.SS Install requirements on Debian hosts
-This also applies to derivatives:
+These should be handled by dependencies in Trixie and later.
+For earlier versions (and their derivatives):
.IP
.EX
sudo apt\-get install bash coreutils curl genisoimage grep jq mesa\-utils ovmf pciutils procps python3 qemu sed socat spice\-client\-gtk swtpm\-tools unzip usbutils util\-linux xdg\-user\-dirs xrandr zsync
.EE
.SS Install requirements on Fedora hosts
+These are handled natively for Fedora 41 on.
+For earlier versions:
.IP
.EX
sudo dnf install bash coreutils curl edk2\-tools genisoimage grep jq mesa\-demos pciutils procps python3 qemu sed socat spice\-gtk\-tools swtpm unzip usbutils util\-linux uuidgen\-runtime xdg\-user\-dirs xrandr zsync
@@ -410,27 +413,27 @@ instead of \f[CR]sys\-firmware/edk2\-ovmf\-bin\f[R] \- depending on how
your system is configured.
.IP
.EX
-sudo emerge \-\-ask \-\-noreplace app\-emulation/qemu \[rs]
- app\-shells/bash \[rs]
- sys\-apps/coreutils \[rs]
- net\-misc/curl \[rs]
- sys\-firmware/edk2\-ovmf\-bin \[rs]
- sys\-apps/gawk \[rs]
- sys\-apps/grep \[rs]
- x11\-apps/mesa\-progs \[rs]
- app\-misc/jq \[rs]
- sys\-apps/pciutils \[rs]
- sys\-process/procps \[rs]
- app\-cdr/cdrtools \[rs]
- sys\-apps/usbutils \[rs]
- sys\-apps/util\-linux \[rs]
- sys\-apps/sed \[rs]
- net\-misc/socat \[rs]
- app\-emulation/spice \[rs]
- app\-crypt/swtpm \[rs]
- x11\-misc/xdg\-user\-dirs \[rs]
- x11\-apps/xrandr \[rs]
- net\-misc/zsync \[rs]
+sudo emerge \-\-ask \-\-noreplace app\-emulation/qemu \(rs
+ app\-shells/bash \(rs
+ sys\-apps/coreutils \(rs
+ net\-misc/curl \(rs
+ sys\-firmware/edk2\-ovmf\-bin \(rs
+ sys\-apps/gawk \(rs
+ sys\-apps/grep \(rs
+ x11\-apps/mesa\-progs \(rs
+ app\-misc/jq \(rs
+ sys\-apps/pciutils \(rs
+ sys\-process/procps \(rs
+ app\-cdr/cdrtools \(rs
+ sys\-apps/usbutils \(rs
+ sys\-apps/util\-linux \(rs
+ sys\-apps/sed \(rs
+ net\-misc/socat \(rs
+ app\-emulation/spice \(rs
+ app\-crypt/swtpm \(rs
+ x11\-misc/xdg\-user\-dirs \(rs
+ x11\-apps/xrandr \(rs
+ net\-misc/zsync \(rs
app\-arch/unzip
.EE
.SS Install requirements on macOS hosts
@@ -453,7 +456,7 @@ Alternative Frontends
.SS Quickgui
While \f[CR]quickemu\f[R] and \f[CR]quickget\f[R] are designed for the
terminal, a graphical user interface is also available:
-.IP \[bu] 2
+.IP \(bu 2
\f[B]\c
.UR https://github.com/quickemu-project/quickgui
Quickgui
@@ -498,23 +501,23 @@ create the virtual machine configuration.
quickget ubuntu 22.04
quickemu \-\-vm ubuntu\-22.04.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as normal.
-.IP \[bu] 2
+.IP \(bu 2
Post\-install:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE agent (\f[CR]spice\-vdagent\f[R]) in the guest to
enable copy/paste and USB redirection
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]sudo apt install spice\-vdagent\f[R]
.RE
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE WebDAV agent (\f[CR]spice\-webdavd\f[R]) in the guest
to enable file sharing.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]sudo apt install spice\-webdavd\f[R]
.RE
.RE
@@ -539,29 +542,29 @@ The project \c
wiki
.UE \c
\ may have further information.
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]edubuntu\f[R] (Edubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kubuntu\f[R] (Kubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]lubuntu\f[R] (Lubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-budgie\f[R] (Ubuntu Budgie)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntucinnamon\f[R] (Ubuntu Cinnamon)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntukylin\f[R] (Ubuntu Kylin)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-mate\f[R] (Ubuntu MATE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-server\f[R] (Ubuntu Server)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntustudio\f[R] (Ubuntu Studio)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\f[R] (Ubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-unity\f[R] (Ubuntu Unity)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]xubuntu\f[R] (Xubuntu)
.PP
You can also use \f[CR]quickget\f[R] with advanced options :
@@ -604,173 +607,171 @@ wiki
.UE \c
.SS Other Operating Systems
\f[CR]quickget\f[R] also supports:
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]alma\f[R] (AlmaLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]alpine\f[R] (Alpine Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]android\f[R] (Android x86)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]antix\f[R] (Antix)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]archcraft\f[R] (Archcraft)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]archlinux\f[R] (Arch Linux)
-.IP \[bu] 2
-\f[CR]arcolinux\f[R] (Arco Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]artixlinux\f[R] (Artix Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]athenaos\f[R] (Athena OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]batocera\f[R] (Batocera)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bazzite\f[R] (Bazzite)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]biglinux\f[R] (BigLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]blendos\f[R] (BlendOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bodhi\f[R] (Bodhi)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bunsenlabs\f[R] (BunsenLabs)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]cachyos\f[R] (CachyOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]centos\-stream\f[R] (CentOS Stream)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]chimeralinux\f[R] (Chimera Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]crunchbang++\f[R] (Crunchbangplusplus)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]debian\f[R] (Debian)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]deepin\f[R] (Deepin)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]devuan\f[R] (Devuan)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]dragonflybsd\f[R] (DragonFlyBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]easyos\f[R] (EasyOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]elementary\f[R] (elementary OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]endeavouros\f[R] (EndeavourOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]endless\f[R] (Endless OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]fedora\f[R] (Fedora)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]freebsd\f[R] (FreeBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]freedos\f[R] (FreeDOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]garuda\f[R] (Garuda Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]gentoo\f[R] (Gentoo)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ghostbsd\f[R] (GhostBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]gnomeos\f[R] (GNOME OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]guix\f[R] (Guix)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]haiku\f[R] (Haiku)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]holoiso\f[R] (HoloISO)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kali\f[R] (Kali)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kdeneon\f[R] (KDE Neon)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kolibrios\f[R] (KolibriOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]linuxlite\f[R] (Linux Lite)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]linuxmint\f[R] (Linux Mint)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]lmde\f[R] (Linux Mint Debian Edition)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]maboxlinux\f[R] (Mabox Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]mageia\f[R] (Mageia)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]manjaro\f[R] (Manjaro)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]mxlinux\f[R] (MX Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]netboot\f[R] (netboot.xyz)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]netbsd\f[R] (NetBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nitrux\f[R] (Nitrux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nixos\f[R] (NixOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nwg\-shell\f[R] (nwg\-shell)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]openbsd\f[R] (OpenBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]openindiana\f[R] (OpenIndiana)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]opensuse\f[R] (openSUSE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]oraclelinux\f[R] (Oracle Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]parrotsec\f[R] (Parrot Security)
-.IP \[bu] 2
+.IP \(bu 2
+\f[CR]pclinuxos\f[R] (PCLinuxOS)
+.IP \(bu 2
\f[CR]peppermint\f[R] (PeppermintOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]popos\f[R] (Pop!_OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]porteus\f[R] (Porteus)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]primtux\f[R] (PrimTux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]proxmox\-ve\f[R] (Proxmox VE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]pureos\f[R] (PureOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]reactos\f[R] (ReactOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]rebornos\f[R] (RebornOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]rockylinux\f[R] (Rocky Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]siduction\f[R] (Siduction)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slackware\f[R] (Slackware)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slax\f[R] (Slax)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slint\f[R] (Slint)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slitaz\f[R] (SliTaz)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]solus\f[R] (Solus)
-.IP \[bu] 2
-\f[CR]sparkylinux\f[R] (SparkyLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]spirallinux\f[R] (SpiralLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tails\f[R] (Tails)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tinycore\f[R] (Tiny Core Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]trisquel\f[R] (Trisquel\-)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]truenas\-core\f[R] (TrueNAS Core)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]truenas\-scale\f[R] (TrueNAS Scale)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tuxedo\-os\f[R] (Tuxedo OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]vanillaos\f[R] (Vanilla OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]void\f[R] (Void Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]vxlinux\f[R] (VX Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]zorin\f[R] (Zorin OS)
.SS \c
.UR https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines#manually-create-linux-guests
@@ -778,32 +779,32 @@ Custom Linux guests
.UE \c
Or you can download a Linux image and manually create a VM
configuration.
-.IP \[bu] 2
+.IP \(bu 2
Download a .iso image of a Linux distribution
-.IP \[bu] 2
+.IP \(bu 2
Create a VM configuration file; for example
\f[CR]debian\-bullseye.conf\f[R]
.IP
.EX
-guest_os=\[dq]linux\[dq]
-disk_img=\[dq]debian\-bullseye/disk.qcow2\[dq]
-iso=\[dq]debian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\[dq]
+guest_os=\(dqlinux\(dq
+disk_img=\(dqdebian\-bullseye/disk.qcow2\(dq
+iso=\(dqdebian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\(dq
.EE
-.IP \[bu] 2
+.IP \(bu 2
Use \f[CR]quickemu\f[R] to start the virtual machine:
.IP
.EX
quickemu \-\-vm debian\-bullseye.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as normal.
-.IP \[bu] 2
+.IP \(bu 2
Post\-install:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE agent (\f[CR]spice\-vdagent\f[R]) in the guest to
enable copy/paste and USB redirection.
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE WebDAV agent (\f[CR]spice\-webdavd\f[R]) in the guest
to enable file sharing.
.RE
@@ -835,54 +836,54 @@ quickemu \-\-vm macos\-big\-sur.conf
macOS \f[CR]mojave\f[R], \f[CR]catalina\f[R], \f[CR]big\-sur\f[R],
\f[CR]monterey\f[R], \f[CR]ventura\f[R] and \f[CR]sonoma\f[R] are
supported.
-.IP \[bu] 2
+.IP \(bu 2
Use cursor keys and enter key to select the \f[B]macOS Base System\f[R]
-.IP \[bu] 2
+.IP \(bu 2
From \f[B]macOS Utilities\f[R]
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Disk Utility\f[R] and \f[B]Continue\f[R]
.RS 2
-.IP \[bu] 2
-Select \f[CR]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list (on
+.IP \(bu 2
+Select \f[CR]QEMU HARDDISK Media\f[R] (\(ti103.08GB) from the list (on
Big Sur and above use \f[CR]Apple Inc. VirtIO Block Device\f[R]) and
click \f[B]Erase\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Enter a \f[CR]Name:\f[R] for the disk
-.IP \[bu] 2
+.IP \(bu 2
If you are installing macOS Mojave or later (Catalina, Big Sur,
Monterey, Ventura and Sonoma), choose any of the APFS options as the
filesystem.
MacOS Extended may not work.
.RE
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Erase\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Done\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Close Disk Utility
.RE
-.IP \[bu] 2
+.IP \(bu 2
From \f[B]macOS Utilities\f[R]
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Reinstall macOS\f[R] and \f[B]Continue\f[R]
.RE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as you normally would.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
On the first reboot use cursor keys and enter key to select \f[B]macOS
Installer\f[R]
-.IP \[bu] 2
+.IP \(bu 2
On the subsequent reboots use cursor keys and enter key to select the
disk you named
.RE
-.IP \[bu] 2
+.IP \(bu 2
Once you have finished installing macOS you will be presented with an
the out\-of\-the\-box first\-start wizard to configure various options
and set up your username and password
-.IP \[bu] 2
+.IP \(bu 2
OPTIONAL: After you have concluded the out\-of\-the\-box wizard, you may
want to enable the TRIM feature that the computer industry created for
SSD disks.
@@ -892,7 +893,7 @@ Virtual Machine.
Without this step your macOS disk image will only ever get larger and
will not shrink even when you delete lots of data inside macOS.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
To enable TRIM, open the Terminal application and type the following
command followed by pressing enter to tell macos to use the TRIM command
on the hard disk when files are deleted:
@@ -902,21 +903,21 @@ on the hard disk when files are deleted:
sudo trimforce enable
.EE
.PP
-You will be prompted to enter your account\[aq]s password to gain the
+You will be prompted to enter your account\(aqs password to gain the
privilege needed.
-Once you\[aq]ve entered your password and pressed enter the command will
+Once you\(aqve entered your password and pressed enter the command will
request confirmation in the form of two questions that require you to
-type y (for a \[dq]yes\[dq] response) followed by enter to confirm.
+type y (for a \(dqyes\(dq response) followed by enter to confirm.
.PP
If you press enter without first typing y the system will consider that
-a negative response as though you said \[dq]no\[dq]:
+a negative response as though you said \(dqno\(dq:
.IP
.EX
-IMPORTANT NOTICE: This tool force\-enables TRIM for all relevant attached devices, even though such devices may not have been validated for data integrity while using TRIM. Use of this tool to enable TRIM may result in unintended data loss or data corruption. It should not be used in a commercial operating environment or with important data. Before using this tool, you should back up all of your data and regularly back up data while TRIM is enabled. This tool is provided on an \[dq]as is\[dq] basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON\-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THIS TOOL OR ITS USE ALONE OR IN COMBINATION WITH YOUR DEVICES, SYSTEMS, OR SERVICES. BY USING THIS TOOL TO ENABLE TRIM, YOU AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE TOOL IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.
+IMPORTANT NOTICE: This tool force\-enables TRIM for all relevant attached devices, even though such devices may not have been validated for data integrity while using TRIM. Use of this tool to enable TRIM may result in unintended data loss or data corruption. It should not be used in a commercial operating environment or with important data. Before using this tool, you should back up all of your data and regularly back up data while TRIM is enabled. This tool is provided on an \(dqas is\(dq basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON\-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THIS TOOL OR ITS USE ALONE OR IN COMBINATION WITH YOUR DEVICES, SYSTEMS, OR SERVICES. BY USING THIS TOOL TO ENABLE TRIM, YOU AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE TOOL IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.
Are you sure you with to proceed (y/N)?
.EE
.PP
-And a second confirmation once you\[aq]ve confirmed the previous one:
+And a second confirmation once you\(aqve confirmed the previous one:
.IP
.EX
Your system will immediately reboot when this is complete.
@@ -929,44 +930,44 @@ soon as the command completes.
The default macOS configuration looks like this:
.IP
.EX
-guest_os=\[dq]macos\[dq]
-img=\[dq]macos\- big\-sur/RecoveryImage.img\[dq]
-disk_img=\[dq]macos\- big\-sur/disk.qcow2\[dq]
-macos_release=\[dq] big\-sur\[dq]
+guest_os=\(dqmacos\(dq
+img=\(dqmacos\- big\-sur/RecoveryImage.img\(dq
+disk_img=\(dqmacos\- big\-sur/disk.qcow2\(dq
+macos_release=\(dq big\-sur\(dq
.EE
-.IP \[bu] 2
-\f[CR]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
+.IP \(bu 2
+\f[CR]guest_os=\(dqmacos\(dq\f[R] instructs Quickemu to optimise for
macOS.
-.IP \[bu] 2
-\f[CR]macos_release=\[dq] big\-sur\[dq]\f[R] instructs Quickemu to
+.IP \(bu 2
+\f[CR]macos_release=\(dq big\-sur\(dq\f[R] instructs Quickemu to
optimise for a particular macOS release.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
For example VirtIO Network and Memory Ballooning are available in Big
Sur and newer, but not previous releases.
-.IP \[bu] 2
+.IP \(bu 2
And VirtIO Block Media (disks) are supported/stable in Catalina and
newer.
.RE
.SH macOS compatibility
There are some considerations when running macOS via Quickemu.
-.IP \[bu] 2
+.IP \(bu 2
Supported macOS releases:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Mojave
-.IP \[bu] 2
+.IP \(bu 2
Catalina
-.IP \[bu] 2
+.IP \(bu 2
Big Sur
-.IP \[bu] 2
+.IP \(bu 2
Monterey
-.IP \[bu] 2
+.IP \(bu 2
Ventura
-.IP \[bu] 2
+.IP \(bu 2
Sonoma
.RE
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]quickemu\f[R] will automatically download the required \c
.UR https://github.com/acidanthera/OpenCorePkg
OpenCore
@@ -976,49 +977,49 @@ OpenCore
OSX\-KVM
.UE \c
\&.
-.IP \[bu] 2
+.IP \(bu 2
Optimised by default, but no GPU acceleration is available.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Host CPU vendor is detected and guest CPU is optimised accordingly.
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.kraxel.org/blog/2019/06/macos-qemu-guest/
VirtIO Block Media
.UE \c
\ is used for the system disk where supported.
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://philjordan.eu/osx-virt/
VirtIO \f[CR]usb\-tablet\f[R]
.UE \c
\ is used for the mouse.
-.IP \[bu] 2
+.IP \(bu 2
VirtIO Network (\f[CR]virtio\-net\f[R]) is supported and enabled on
macOS Big Sur and newer, but earlier releases use \f[CR]vmxnet3\f[R].
-.IP \[bu] 2
+.IP \(bu 2
VirtIO Memory Ballooning is supported and enabled on macOS Big Sur and
newer but disabled for other support macOS releases.
.RE
-.IP \[bu] 2
+.IP \(bu 2
USB host and SPICE pass\-through is:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
UHCI (USB 2.0) on macOS Catalina and earlier.
-.IP \[bu] 2
+.IP \(bu 2
XHCI (USB 3.0) on macOS Big Sur and newer.
.RE
-.IP \[bu] 2
+.IP \(bu 2
Display resolution can be changed via \f[CR]quickemu\f[R] using
\f[CR]\-\-width\f[R] and \f[CR]\-\-height\f[R] command line arguments.
-.IP \[bu] 2
+.IP \(bu 2
\f[B]Full Duplex audio requires \c
.UR https://github.com/chris1111/VoodooHDA-OC
VoodooHDA OC
.UE \c
\ or pass\-through a USB audio\-device to the macOS guest VM\f[R].
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
NOTE!
\c
.UR https://disable-gatekeeper.github.io/
@@ -1030,7 +1031,7 @@ System Integrity Protection (SIP)
.UE \c
\ need to be disabled to install VoodooHDA OC
.RE
-.IP \[bu] 2
+.IP \(bu 2
File sharing between guest and host is available via \c
.UR https://wiki.qemu.org/Documentation/9psetup
virtio\-9p
@@ -1040,12 +1041,12 @@ virtio\-9p
SPICE webdavd
.UE \c
\&.
-.IP \[bu] 2
+.IP \(bu 2
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
.SH macOS App Store
-If you see \f[I]\[dq]Your device or computer could not be
-verified\[dq]\f[R] when you try to login to the App Store, make sure
-that your wired ethernet device is \f[CR]en0\f[R].
+If you see \f[I]\(dqYour device or computer could not be
+verified\(dq\f[R] when you try to login to the App Store, make sure that
+your wired ethernet device is \f[CR]en0\f[R].
Use \f[CR]ifconfig\f[R] in a terminal to verify this.
.PP
If the wired ethernet device is not \f[CR]en0\f[R], then then go to
@@ -1085,7 +1086,7 @@ VirtIO drivers for Windows
.UE \c
\&.
.PP
-\f[B]Windows 8.1\f[R] is also supported but doesn\[aq]t feature any
+\f[B]Windows 8.1\f[R] is also supported but doesn\(aqt feature any
automated installation or driver optimisation.
.PP
\f[CR]quickget\f[R] can also download \c
@@ -1115,17 +1116,17 @@ No automated installation is supported for these releases.
quickget windows 11
quickemu \-\-vm windows\-11.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as you normally would.
-.IP \[bu] 2
+.IP \(bu 2
All relevant drivers and services should be installed automatically.
-.IP \[bu] 2
+.IP \(bu 2
A local administrator user account is automatically created, with these
credentials:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Username: \f[CR]Quickemu\f[R]
-.IP \[bu] 2
+.IP \(bu 2
Password: \f[CR]quickemu\f[R]
.RE
.PP
@@ -1141,11 +1142,11 @@ Usage
quickemu \-\-vm ubuntu.conf
Arguments
- \-\-access : Enable remote spice access support. \[aq]local\[aq] (default), \[aq]remote\[aq], \[aq]clientipaddress\[aq]
+ \-\-access : Enable remote spice access support. \(aqlocal\(aq (default), \(aqremote\(aq, \(aqclientipaddress\(aq
\-\-braille : Enable braille support. Requires SDL.
\-\-delete\-disk : Delete the disk image and EFI variables
\-\-delete\-vm : Delete the entire VM and its configuration
- \-\-display : Select display backend. \[aq]sdl\[aq] (default), \[aq]cocoa\[aq], \[aq]gtk\[aq], \[aq]none\[aq], \[aq]spice\[aq] or \[aq]spice\-app\[aq]
+ \-\-display : Select display backend. \(aqsdl\(aq (default), \(aqcocoa\(aq, \(aqgtk\(aq, \(aqnone\(aq, \(aqspice\(aq or \(aqspice\-app\(aq
\-\-fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
\-\-ignore\-msrs\-always : Configure KVM to always ignore unhandled machine\-specific registers
\-\-kill : Kill the VM process if it is running
@@ -1156,31 +1157,31 @@ Arguments
\-\-snapshot delete : Delete a snapshot.
\-\-snapshot info : Show disk/snapshot info.
\-\-status\-quo : Do not commit any changes to disk/snapshot.
- \-\-viewer : Choose an alternative viewer. \[at]Options: \[aq]spicy\[aq] (default), \[aq]remote\-viewer\[aq], \[aq]none\[aq]
- \-\-width : Set VM screen width; requires \[aq]\-\-height\[aq]
- \-\-height : Set VM screen height; requires \[aq]\-\-width\[aq]
+ \-\-viewer : Choose an alternative viewer. \(atOptions: \(aqspicy\(aq (default), \(aqremote\-viewer\(aq, \(aqnone\(aq
+ \-\-width : Set VM screen width; requires \(aq\-\-height\(aq
+ \-\-height : Set VM screen height; requires \(aq\-\-width\(aq
\-\-ssh\-port : Set SSH port manually
\-\-spice\-port : Set SPICE port manually
- \-\-public\-dir : Expose share directory. \[at]Options: \[aq]\[aq] (default: xdg\-user\-dir PUBLICSHARE), \[aq]\[aq], \[aq]none\[aq]
- \-\-monitor : Set monitor connection type. \[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq], \[aq]none\[aq]
- \-\-monitor\-telnet\-host : Set telnet host for monitor. (default: \[aq]localhost\[aq])
- \-\-monitor\-telnet\-port : Set telnet port for monitor. (default: \[aq]4440\[aq])
+ \-\-public\-dir : Expose share directory. \(atOptions: \(aq\(aq (default: xdg\-user\-dir PUBLICSHARE), \(aq\(aq, \(aqnone\(aq
+ \-\-monitor : Set monitor connection type. \(atOptions: \(aqsocket\(aq (default), \(aqtelnet\(aq, \(aqnone\(aq
+ \-\-monitor\-telnet\-host : Set telnet host for monitor. (default: \(aqlocalhost\(aq)
+ \-\-monitor\-telnet\-port : Set telnet port for monitor. (default: \(aq4440\(aq)
\-\-monitor\-cmd : Send command to monitor if available. (Example: system_powerdown)
- \-\-serial : Set serial connection type. \[at]Options: \[aq]socket\[aq] (default), \[aq]telnet\[aq], \[aq]none\[aq]
- \-\-serial\-telnet\-host : Set telnet host for serial. (default: \[aq]localhost\[aq])
- \-\-serial\-telnet\-port : Set telnet port for serial. (default: \[aq]6660\[aq])
- \-\-keyboard : Set keyboard. \[at]Options: \[aq]usb\[aq] (default), \[aq]ps2\[aq], \[aq]virtio\[aq]
- \-\-keyboard_layout : Set keyboard layout: \[aq]en\-us\[aq] (default)
- \-\-mouse : Set mouse. \[at]Options: \[aq]tablet\[aq] (default), \[aq]ps2\[aq], \[aq]usb\[aq], \[aq]virtio\[aq]
- \-\-usb\-controller : Set usb\-controller. \[at]Options: \[aq]ehci\[aq] (default), \[aq]xhci\[aq], \[aq]none\[aq]
- \-\-sound\-card : Set sound card. \[at]Options: \[aq]intel\-hda\[aq] (default), \[aq]ac97\[aq], \[aq]es1370\[aq], \[aq]sb16\[aq], \[aq]usb\-audio\[aq], \[aq]none\[aq]
- \-\-sound\-duplex : Set sound card duplex. \[at]Options: \[aq]hda\-micro\[aq] (default: speaker/mic), \[aq]hda\-duplex\[aq] (line\-in/line\-out), \[aq]hda\-output\[aq] (output\-only)
+ \-\-serial : Set serial connection type. \(atOptions: \(aqsocket\(aq (default), \(aqtelnet\(aq, \(aqnone\(aq
+ \-\-serial\-telnet\-host : Set telnet host for serial. (default: \(aqlocalhost\(aq)
+ \-\-serial\-telnet\-port : Set telnet port for serial. (default: \(aq6660\(aq)
+ \-\-keyboard : Set keyboard. \(atOptions: \(aqusb\(aq (default), \(aqps2\(aq, \(aqvirtio\(aq
+ \-\-keyboard_layout : Set keyboard layout: \(aqen\-us\(aq (default)
+ \-\-mouse : Set mouse. \(atOptions: \(aqtablet\(aq (default), \(aqps2\(aq, \(aqusb\(aq, \(aqvirtio\(aq
+ \-\-usb\-controller : Set usb\-controller. \(atOptions: \(aqehci\(aq (default), \(aqxhci\(aq, \(aqnone\(aq
+ \-\-sound\-card : Set sound card. \(atOptions: \(aqintel\-hda\(aq (default), \(aqac97\(aq, \(aqes1370\(aq, \(aqsb16\(aq, \(aqusb\-audio\(aq, \(aqnone\(aq
+ \-\-sound\-duplex : Set sound card duplex. \(atOptions: \(aqhda\-micro\(aq (default: speaker/mic), \(aqhda\-duplex\(aq (line\-in/line\-out), \(aqhda\-output\(aq (output\-only)
\-\-extra_args : Pass additional arguments to qemu
\-\-version : Print version
.EE
.SS Desktop shortcuts
Desktop shortcuts can be created for a VM, the shortcuts are saved in
-\f[CR]\[ti]/.local/share/applications\f[R].
+\f[CR]\(ti/.local/share/applications\f[R].
Here is an example of how to create a shortcut.
.IP
.EX
@@ -1188,132 +1189,132 @@ quickemu \-\-vm ubuntu\-22.04\-desktop.conf \-\-shortcut
.EE
.SS References
Useful reference that assisted the development of Quickemu.
-.IP \[bu] 2
+.IP \(bu 2
General
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://qemu.readthedocs.io/en/latest/
-QEMU\[aq]s documentation!
+QEMU\(aqs documentation!
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.kraxel.org/blog/2020/01/qemu-sound-audiodev/
.UE \c
.RE
-.IP \[bu] 2
+.IP \(bu 2
macOS
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://passthroughpo.st/mac-os-adds-early-support-for-virtio-qemu/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/kholia/OSX-KVM
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/thenickdude/KVM-Opencore
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://gist.github.com/MCJack123/943eaca762730ca4b7ae460b731b68e7
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macrecovery
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.kraxel.org/blog/2017/09/running-macos-as-guest-in-kvm/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.nicksherlock.com/2017/10/passthrough-of-advanced-cpu-features-for-macos-high-sierra-guests/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://philjordan.eu/osx-virt/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/Dids/clover-builder
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://mackie100projects.altervista.org
OpenCore Configurator
.UE \c
.RE
-.IP \[bu] 2
+.IP \(bu 2
Windows
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://leduccc.medium.com/improving-the-performance-of-a-windows-10-guest-on-qemu-a5b3f54d9cf5
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://frontpagelinux.com/tutorials/how-to-use-linux-kvm-to-optimize-your-windows-10-virtual-machine/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://turlucode.com/qemu-command-line-args/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://github.com/pbatard/Fido
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.catapultsystems.com/blogs/create-zero-touch-windows-10-iso/
.UE \c
.RE
-.IP \[bu] 2
+.IP \(bu 2
TPM
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://qemu-project.gitlab.io/qemu/specs/tpm.html
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.tecklyfe.com/how-to-create-a-windows-11-virtual-machine-in-qemu/
.UE \c
.RE
-.IP \[bu] 2
+.IP \(bu 2
9p & virtiofs
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://wiki.qemu.org/Documentation/9p
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://wiki.qemu.org/Documentation/9psetup
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.kraxel.org/blog/2019/06/macos-qemu-guest/
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://superuser.com/questions/628169/how-to-share-a-directory-with-the-host-without-networking-in-qemu
.UE \c
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://virtio-fs.gitlab.io/
.UE \c
diff --git a/docs/quickemu.1.md b/docs/quickemu.1.md
index 7b7144e..cdf0b99 100644
--- a/docs/quickemu.1.md
+++ b/docs/quickemu.1.md
@@ -1,6 +1,6 @@
---
author: Martin Wimpress
-date: December 30, 2024
+date: July 31, 2025
footer: quickemu
header: Quickemu User Manual
section: 1
@@ -173,7 +173,8 @@ Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
# Features
- Host support for **Linux and macOS**
-- **macOS** Sonoma, Ventura, Monterey, Big Sur, Catalina & Mojave
+- **macOS** Sequoia, Sonoma, Ventura, Monterey, Big Sur, Catalina &
+ Mojave
- **Windows** 10 and 11 including TPM 2.0
- **Windows Server** 2022 2019 2016
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
@@ -198,7 +199,7 @@ Haiku, KolibriOS, OpenIndiana, ReactOS, and more.
## As featured on [Linux Matters](https://linuxmatters.sh) podcast!
The presenters of Linux Matters 🐧🎙️ are the creators of each of the
-principle Quickemu projects. We discussed Quickemu's 2024 reboot in
+principal Quickemu projects. We discussed Quickemu's 2024 reboot in
[Episode 30 - Quickemu Rising From the
Bashes](https://linuxmatters.sh/30).
@@ -240,7 +241,7 @@ requirements manually:
- [zsync](http://zsync.moria.org.uk/)
- [unzip](http://www.info-zip.org/UnZip.html)
-For Ubuntu, Arch and NixOS hosts, the
+For Ubuntu, Debian, Fedora, Arch and NixOS hosts the native packaging or
[ppa](https://launchpad.net/~flexiondotorg/+archive/ubuntu/quickemu),
[AUR](https://aur.archlinux.org/packages/quickemu) or
[nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/quickemu)
@@ -252,7 +253,8 @@ These examples may save a little typing:
#### Install requirements on Debian hosts
-This also applies to derivatives:
+These should be handled by dependencies in Trixie and later. For earlier
+versions (and their derivatives):
``` shell
sudo apt-get install bash coreutils curl genisoimage grep jq mesa-utils ovmf pciutils procps python3 qemu sed socat spice-client-gtk swtpm-tools unzip usbutils util-linux xdg-user-dirs xrandr zsync
@@ -260,6 +262,8 @@ sudo apt-get install bash coreutils curl genisoimage grep jq mesa-utils ovmf pci
#### Install requirements on Fedora hosts
+These are handled natively for Fedora 41 on. For earlier versions:
+
``` shell
sudo dnf install bash coreutils curl edk2-tools genisoimage grep jq mesa-demos pciutils procps python3 qemu sed socat spice-gtk-tools swtpm unzip usbutils util-linux uuidgen-runtime xdg-user-dirs xrandr zsync
```
@@ -436,7 +440,6 @@ Further information is available from the project
- `antix` (Antix)
- `archcraft` (Archcraft)
- `archlinux` (Arch Linux)
-- `arcolinux` (Arco Linux)
- `artixlinux` (Artix Linux)
- `athenaos` (Athena OS)
- `batocera` (Batocera)
@@ -487,6 +490,7 @@ Further information is available from the project
- `opensuse` (openSUSE)
- `oraclelinux` (Oracle Linux)
- `parrotsec` (Parrot Security)
+- `pclinuxos` (PCLinuxOS)
- `peppermint` (PeppermintOS)
- `popos` (Pop!\_OS)
- `porteus` (Porteus)
@@ -502,7 +506,6 @@ Further information is available from the project
- `slint` (Slint)
- `slitaz` (SliTaz)
- `solus` (Solus)
-- `sparkylinux` (SparkyLinux)
- `spirallinux` (SpiralLinux)
- `tails` (Tails)
- `tinycore` (Tiny Core Linux)
diff --git a/docs/quickemu_conf.5 b/docs/quickemu_conf.5
index 7155b7d..ca983f2 100644
--- a/docs/quickemu_conf.5
+++ b/docs/quickemu_conf.5
@@ -1,6 +1,6 @@
-.\" Automatically generated by Pandoc 3.6.1
+.\" Automatically generated by Pandoc 3.7.0.2
.\"
-.TH "QUICKEMU_CONF" "5" "December 30, 2024" "quickemu_conf" "Quickemu Configuration Manual"
+.TH "QUICKEMU_CONF" "5" "July 31, 2025" "quickemu_conf" "Quickemu Configuration Manual"
.SH NAME
quickemu_conf \- Options and parameters in the quickemu .conf
.SH DESCRIPTION
@@ -15,72 +15,72 @@ These are the options and defaults for the .conf file
.IP
.EX
# Lowercase variables are used in the VM config file only
-boot=\[dq]efi\[dq]
-cpu_cores=\[dq]\[dq]
-disk_img=\[dq]\[dq]
-disk_size=\[dq]\[dq]
-display=\[dq]\[dq]
-extra_args=\[dq]\[dq]
-fixed_iso=\[dq]\[dq]
-floppy=\[dq]\[dq]
-guest_os=\[dq]linux\[dq]
-img=\[dq]\[dq]
-iso=\[dq]\[dq]
-macaddr=\[dq]\[dq]
-macos_release=\[dq]\[dq]
-network=\[dq]\[dq]
+boot=\(dqefi\(dq
+cpu_cores=\(dq\(dq
+disk_img=\(dq\(dq
+disk_size=\(dq\(dq
+display=\(dq\(dq
+extra_args=\(dq\(dq
+fixed_iso=\(dq\(dq
+floppy=\(dq\(dq
+guest_os=\(dqlinux\(dq
+img=\(dq\(dq
+iso=\(dq\(dq
+macaddr=\(dq\(dq
+macos_release=\(dq\(dq
+network=\(dq\(dq
port_forwards=()
-preallocation=\[dq]off\[dq]
-ram=\[dq]\[dq]
-secureboot=\[dq]off\[dq]
-tpm=\[dq]off\[dq]
+preallocation=\(dqoff\(dq
+ram=\(dq\(dq
+secureboot=\(dqoff\(dq
+tpm=\(dqoff\(dq
usb_devices=()
-viewer=\[dq]spicy\[dq]
-ssh_port=\[dq]\[dq]
-spice_port=\[dq]\[dq]
-public_dir=\[dq]\[dq]
-monitor=\[dq]socket\[dq]
-monitor_telnet_port=\[dq]4440\[dq]
-monitor_telnet_host=\[dq]localhost\[dq]
-monitor_cmd=\[dq]\[dq]
-serial=\[dq]socket\[dq]
-serial_telnet_port=\[dq]6660\[dq]
-serial_telnet_host=\[dq]localhost\[dq]
+viewer=\(dqspicy\(dq
+ssh_port=\(dq\(dq
+spice_port=\(dq\(dq
+public_dir=\(dq\(dq
+monitor=\(dqsocket\(dq
+monitor_telnet_port=\(dq4440\(dq
+monitor_telnet_host=\(dqlocalhost\(dq
+monitor_cmd=\(dq\(dq
+serial=\(dqsocket\(dq
+serial_telnet_port=\(dq6660\(dq
+serial_telnet_host=\(dqlocalhost\(dq
# options: ehci(USB2.0), xhci(USB3.0)
-usb_controller=\[dq]ehci\[dq]
+usb_controller=\(dqehci\(dq
# options: ps2, usb, virtio
-keyboard=\[dq]usb\[dq]
-keyboard_layout=\[dq]en\-us\[dq]
+keyboard=\(dqusb\(dq
+keyboard_layout=\(dqen\-us\(dq
# options: ps2, usb, tablet, virtio
-mouse=\[dq]tablet\[dq]
+mouse=\(dqtablet\(dq
.EE
.SH EXAMPLES
.IP
.EX
-guest_os=\[dq]linux\[dq]
-disk_img=\[dq]debian\-bullseye/disk.qcow2\[dq]
-iso=\[dq]debian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\[dq]
+guest_os=\(dqlinux\(dq
+disk_img=\(dqdebian\-bullseye/disk.qcow2\(dq
+iso=\(dqdebian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\(dq
.EE
.PP
The default macOS configuration looks like this:
.IP
.EX
-guest_os=\[dq]macos\[dq]
-img=\[dq]macos\-catalina/RecoveryImage.img\[dq]
-disk_img=\[dq]macos\-catalina/disk.qcow2\[dq]
-macos_release=\[dq]catalina\[dq]
+guest_os=\(dqmacos\(dq
+img=\(dqmacos\-catalina/RecoveryImage.img\(dq
+disk_img=\(dqmacos\-catalina/disk.qcow2\(dq
+macos_release=\(dqcatalina\(dq
.EE
-.IP \[bu] 2
-\f[CR]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
+.IP \(bu 2
+\f[CR]guest_os=\(dqmacos\(dq\f[R] instructs Quickemu to optimise for
macOS.
-.IP \[bu] 2
-\f[CR]macos_release=\[dq]catalina\[dq]\f[R] instructs Quickemu to
-optimise for a particular macOS release.
+.IP \(bu 2
+\f[CR]macos_release=\(dqcatalina\(dq\f[R] instructs Quickemu to optimise
+for a particular macOS release.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
For example VirtIO Network and Memory Ballooning are available in Big
Sur and newer, but not previous releases.
-.IP \[bu] 2
+.IP \(bu 2
And VirtIO Block Media (disks) are supported/stable in Catalina and
newer.
.RE
@@ -88,28 +88,28 @@ newer.
The default Windows 11 configuration looks like this:
.IP
.EX
-guest_os=\[dq]windows\[dq]
-disk_img=\[dq]windows\-11/disk.qcow2\[dq]
-iso=\[dq]windows\-11/Win11_EnglishInternational_x64.iso\[dq]
-fixed_iso=\[dq]windows\-11/virtio\-win.iso\[dq]
-tpm=\[dq]on\[dq]
-secureboot=\[dq]on\[dq]
+guest_os=\(dqwindows\(dq
+disk_img=\(dqwindows\-11/disk.qcow2\(dq
+iso=\(dqwindows\-11/Win11_EnglishInternational_x64.iso\(dq
+fixed_iso=\(dqwindows\-11/virtio\-win.iso\(dq
+tpm=\(dqon\(dq
+secureboot=\(dqon\(dq
.EE
-.IP \[bu] 2
-\f[CR]guest_os=\[dq]windows\[dq]\f[R] instructs \f[CR]quickemu\f[R] to
+.IP \(bu 2
+\f[CR]guest_os=\(dqwindows\(dq\f[R] instructs \f[CR]quickemu\f[R] to
optimise for Windows.
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]fixed_iso=\f[R] specifies the ISO image that provides VirtIO
drivers.
-.IP \[bu] 2
-\f[CR]tpm=\[dq]on\[dq]\f[R] instructs \f[CR]quickemu\f[R] to create a
+.IP \(bu 2
+\f[CR]tpm=\(dqon\(dq\f[R] instructs \f[CR]quickemu\f[R] to create a
software emulated TPM device using \f[CR]swtpm\f[R].
.SS BIOS and EFI
Since Quickemu 2.1.0 \f[CR]efi\f[R] is the default boot option.
If you want to override this behaviour then add the following line to
you VM configuration to enable legacy BIOS.
-.IP \[bu] 2
-\f[CR]boot=\[dq]legacy\[dq]\f[R] \- Enable Legacy BIOS boot
+.IP \(bu 2
+\f[CR]boot=\(dqlegacy\(dq\f[R] \- Enable Legacy BIOS boot
.SS Tuning CPU cores, RAM & disks
By default, Quickemu will calculate the number of CPUs cores and RAM to
allocate to a VM based on the specifications of your host computer.
@@ -117,15 +117,15 @@ You can override this default behaviour and tune the VM configuration to
your liking.
.PP
Add additional lines to your virtual machine configuration:
-.IP \[bu] 2
-\f[CR]cpu_cores=\[dq]4\[dq]\f[R] \- Specify the number of CPU cores
+.IP \(bu 2
+\f[CR]cpu_cores=\(dq4\(dq\f[R] \- Specify the number of CPU cores
allocated to the VM
-.IP \[bu] 2
-\f[CR]ram=\[dq]4G\[dq]\f[R] \- Specify the amount of RAM to allocate to
+.IP \(bu 2
+\f[CR]ram=\(dq4G\(dq\f[R] \- Specify the amount of RAM to allocate to
the VM
-.IP \[bu] 2
-\f[CR]disk_size=\[dq]16G\[dq]\f[R] \- Specify the size of the virtual
-disk allocated to the VM
+.IP \(bu 2
+\f[CR]disk_size=\(dq16G\(dq\f[R] \- Specify the size of the virtual disk
+allocated to the VM
.SS Disk preallocation
Preallocation mode (allowed values: \f[CR]off\f[R] (default),
\f[CR]metadata\f[R], \f[CR]falloc\f[R], \f[CR]full\f[R]).
@@ -135,24 +135,24 @@ performance when the image needs to grow.
Specify what disk preallocation should be used, if any, when creating
the system disk image by adding a line like this to your VM
configuration.
-.IP \[bu] 2
-\f[CR]preallocation=\[dq]metadata\[dq]\f[R]
+.IP \(bu 2
+\f[CR]preallocation=\(dqmetadata\(dq\f[R]
.SS CD\-ROM disks
If you want to expose an ISO image from the host to guest add the
following line to the VM configuration:
-.IP \[bu] 2
-\f[CR]fixed_iso=\[dq]/path/to/image.iso\[dq]\f[R]
+.IP \(bu 2
+\f[CR]fixed_iso=\(dq/path/to/image.iso\(dq\f[R]
.SS Floppy disks
-If you\[aq]re like \c
+If you\(aqre like \c
.UR https://popey.com
Alan Pope
.UE \c
-\ you\[aq]ll probably want to mount a floppy disk image in the guest.
+\ you\(aqll probably want to mount a floppy disk image in the guest.
To do so add the following line to the VM configuration:
-.IP \[bu] 2
-\f[CR]floppy=\[dq]/path/to/floppy.img\[dq]\f[R]
+.IP \(bu 2
+\f[CR]floppy=\(dq/path/to/floppy.img\(dq\f[R]
.SS File Sharing
-All File Sharing options will only expose \f[CR]\[ti]/Public\f[R] (or
+All File Sharing options will only expose \f[CR]\(ti/Public\f[R] (or
localised variations) for the current user to the guest VMs.
.SS Samba 🐧 🍏 🪟
If \f[CR]smbd\f[R] is available on the host, Quickemu will automatically
@@ -173,33 +173,33 @@ For example:
\- smbd: On guest: smb://10.0.2.4/qemu
.EE
.PP
-If using a Windows guest, right\-click on \[dq]This PC\[dq], click
-\[dq]Add a network location\[dq], and paste this address, removing
-\f[CR]smb:\f[R] and replacing forward slashes with backslashes (in this
-example \f[CR]\[rs]\[rs]10.0.2.4\[rs]qemu\f[R]).
+If using a Windows guest, right\-click on \(dqThis PC\(dq, click \(dqAdd
+a network location\(dq, and paste this address, removing \f[CR]smb:\f[R]
+and replacing forward slashes with backslashes (in this example
+\f[CR]\(rs\(rs10.0.2.4\(rsqemu\f[R]).
.SS SPICE WebDAV 🐧 🪟
-.IP \[bu] 2
+.IP \(bu 2
TBD
.SS VirtIO\-9P 🐧 🍏
-.IP \[bu] 2
+.IP \(bu 2
TBD
.SS Networking
.SS Port forwarding
Add an additional line to your virtual machine configuration.
For example:
-.IP \[bu] 2
-\f[CR]port_forwards=(\[dq]8123:8123\[dq] \[dq]8888:80\[dq])\f[R]
+.IP \(bu 2
+\f[CR]port_forwards=(\(dq8123:8123\(dq \(dq8888:80\(dq)\f[R]
.PP
In the example above:
-.IP \[bu] 2
+.IP \(bu 2
Port 8123 on the host is forwarded to port 8123 on the guest.
-.IP \[bu] 2
+.IP \(bu 2
Port 8888 on the host is forwarded to port 80 on the guest.
.SS Disable networking
To completely disable all network interfaces in a guest VM add this
additional line to your virtual machine configuration:
-.IP \[bu] 2
-\f[CR]network=\[dq]none\[dq]\f[R]
+.IP \(bu 2
+\f[CR]network=\(dqnone\(dq\f[R]
.SS Restricted networking
You can isolate the guest from the host (and broader network) using the
restrict option, which will restrict networking to just the guest and
@@ -208,13 +208,13 @@ any virtual devices.
This can be used to prevent software running inside the guest from
phoning home while still providing a network inside the guest.
Add this additional line to your virtual machine configuration:
-.IP \[bu] 2
-\f[CR]network=\[dq]restrict\[dq]\f[R]
+.IP \(bu 2
+\f[CR]network=\(dqrestrict\(dq\f[R]
.SS Bridged networking
Connect your virtual machine to a preconfigured network bridge.
Add an additional line to your virtual machine configuration:
-.IP \[bu] 2
-\f[CR]network=\[dq]br0\[dq]\f[R]
+.IP \(bu 2
+\f[CR]network=\(dqbr0\(dq\f[R]
.PP
If you want to have a persistent MAC address for your bridged network
interface in the guest VM you can add \f[CR]macaddr\f[R] to the virtual
@@ -223,8 +223,8 @@ QEMU requires that the MAC address is in the range:
\f[B]52:54:00:AB:00:00 \- 52:54:00:AB:FF:FF\f[R]
.PP
So you can generate your own MAC addresses with:
-.IP \[bu] 2
-\f[CR]macaddr=\[dq]52:54:00:AB:51:AE\[dq]\f[R]
+.IP \(bu 2
+\f[CR]macaddr=\(dq52:54:00:AB:51:AE\(dq\f[R]
.SS USB redirection
Quickemu supports USB redirection via SPICE pass\-through and host
pass\-through.
@@ -237,7 +237,7 @@ stopped.
Therefore, do not redirect the input devices, such as the keyboard and
mouse, as it will be difficult (or impossible) to revert the situation.
.SS SPICE redirection (recommended)
-Using SPICE for USB pass\-through is easiest as it doesn\[aq]t require
+Using SPICE for USB pass\-through is easiest as it doesn\(aqt require
any elevated permission:
.PP
Both \f[CR]spicy\f[R] from \c
@@ -250,23 +250,23 @@ spice\-gtk
virt\-viewer
.UE \c
\ (\f[I]File \-> USB device selection\f[R]) support this feature.
-.IP \[bu] 2
+.IP \(bu 2
Start Quickemu with \f[CR]\-\-display spice\f[R] and then
-.IP \[bu] 2
+.IP \(bu 2
Select \f[CR]Input\f[R] \-> \f[CR]Select USB Device for redirection\f[R]
from the menu to choose which device(s) you want to attach to the guest.
-.IP \[bu] 2
+.IP \(bu 2
**\f[CR]spicy\f[R] (default)
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
**Select \f[CR]Input\f[R] \->
\f[CR]Select USB Device for redirection\f[R] from the menu to choose
which device(s) you want to attach to the guest.
.RE
-.IP \[bu] 2
+.IP \(bu 2
**\f[CR]remote\-viewer\f[R]
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
**Select \f[CR]File\f[R] \-> \f[CR]USB device selection\f[R] from the
menu to choose which device(s) you want to attach to the guest.
.RE
@@ -296,14 +296,14 @@ Using SPICE is preferred, see above.
.PP
Add an additional line to your virtual machine configuration.
For example:
-.IP \[bu] 2
-\f[CR]usb_devices=(\[dq]046d:082d\[dq] \[dq]046d:085e\[dq])\f[R]
+.IP \(bu 2
+\f[CR]usb_devices=(\(dq046d:082d\(dq \(dq046d:085e\(dq)\f[R]
.PP
In the example above:
-.IP \[bu] 2
+.IP \(bu 2
The USB device with vendor_id 046d and product_id 082d will be exposed
to the guest.
-.IP \[bu] 2
+.IP \(bu 2
The USB device with vendor_id 046d and product_id 085e will be exposed
to the guest.
.PP
@@ -320,7 +320,7 @@ like this:
.SS TPM
Since Quickemu 2.2.0 a software emulated TPM device can be added to
guest virtual machines.
-Just add \f[CR]tpm=\[dq]on\[dq]\f[R] to your VM configuration.
+Just add \f[CR]tpm=\(dqon\(dq\f[R] to your VM configuration.
\f[CR]quickget\f[R] will automatically add this line to Windows 11
virtual machines.
.SH AUTHORS
diff --git a/docs/quickemu_conf.5.md b/docs/quickemu_conf.5.md
index 9999341..4cde8d4 100644
--- a/docs/quickemu_conf.5.md
+++ b/docs/quickemu_conf.5.md
@@ -1,6 +1,6 @@
---
author: Martin Wimpress
-date: December 30, 2024
+date: July 31, 2025
footer: quickemu_conf
header: Quickemu Configuration Manual
section: 5
diff --git a/docs/quickget.1 b/docs/quickget.1
index a43e825..9ab0384 100644
--- a/docs/quickget.1
+++ b/docs/quickget.1
@@ -1,6 +1,6 @@
-.\" Automatically generated by Pandoc 3.6.1
+.\" Automatically generated by Pandoc 3.7.0.2
.\"
-.TH "QUICKGET" "1" "December 30, 2024" "quickget" "Quickget User Manual"
+.TH "QUICKGET" "1" "July 31, 2025" "quickget" "Quickget User Manual"
.SH NAME
quickget \- download and prepare materials for building a quickemu VM
.SH SYNOPSIS
@@ -59,23 +59,23 @@ create the virtual machine configuration.
quickget ubuntu 22.04
quickemu \-\-vm ubuntu\-22.04.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as normal.
-.IP \[bu] 2
+.IP \(bu 2
Post\-install:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE agent (\f[CR]spice\-vdagent\f[R]) in the guest to
enable copy/paste and USB redirection
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]sudo apt install spice\-vdagent\f[R]
.RE
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE WebDAV agent (\f[CR]spice\-webdavd\f[R]) in the guest
to enable file sharing.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]sudo apt install spice\-webdavd\f[R]
.RE
.RE
@@ -100,29 +100,29 @@ The project \c
wiki
.UE \c
\ may have further information.
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]edubuntu\f[R] (Edubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kubuntu\f[R] (Kubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]lubuntu\f[R] (Lubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-budgie\f[R] (Ubuntu Budgie)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntucinnamon\f[R] (Ubuntu Cinnamon)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntukylin\f[R] (Ubuntu Kylin)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-mate\f[R] (Ubuntu MATE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-server\f[R] (Ubuntu Server)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntustudio\f[R] (Ubuntu Studio)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\f[R] (Ubuntu)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ubuntu\-unity\f[R] (Ubuntu Unity)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]xubuntu\f[R] (Xubuntu)
.PP
You can also use \f[CR]quickget\f[R] with advanced options :
@@ -165,173 +165,171 @@ wiki
.UE \c
.SS Other Operating Systems
\f[CR]quickget\f[R] also supports:
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]alma\f[R] (AlmaLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]alpine\f[R] (Alpine Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]android\f[R] (Android x86)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]antix\f[R] (Antix)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]archcraft\f[R] (Archcraft)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]archlinux\f[R] (Arch Linux)
-.IP \[bu] 2
-\f[CR]arcolinux\f[R] (Arco Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]artixlinux\f[R] (Artix Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]athenaos\f[R] (Athena OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]batocera\f[R] (Batocera)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bazzite\f[R] (Bazzite)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]biglinux\f[R] (BigLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]blendos\f[R] (BlendOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bodhi\f[R] (Bodhi)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]bunsenlabs\f[R] (BunsenLabs)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]cachyos\f[R] (CachyOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]centos\-stream\f[R] (CentOS Stream)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]chimeralinux\f[R] (Chimera Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]crunchbang++\f[R] (Crunchbangplusplus)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]debian\f[R] (Debian)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]deepin\f[R] (Deepin)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]devuan\f[R] (Devuan)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]dragonflybsd\f[R] (DragonFlyBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]easyos\f[R] (EasyOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]elementary\f[R] (elementary OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]endeavouros\f[R] (EndeavourOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]endless\f[R] (Endless OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]fedora\f[R] (Fedora)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]freebsd\f[R] (FreeBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]freedos\f[R] (FreeDOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]garuda\f[R] (Garuda Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]gentoo\f[R] (Gentoo)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]ghostbsd\f[R] (GhostBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]gnomeos\f[R] (GNOME OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]guix\f[R] (Guix)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]haiku\f[R] (Haiku)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]holoiso\f[R] (HoloISO)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kali\f[R] (Kali)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kdeneon\f[R] (KDE Neon)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]kolibrios\f[R] (KolibriOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]linuxlite\f[R] (Linux Lite)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]linuxmint\f[R] (Linux Mint)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]lmde\f[R] (Linux Mint Debian Edition)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]maboxlinux\f[R] (Mabox Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]mageia\f[R] (Mageia)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]manjaro\f[R] (Manjaro)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]mxlinux\f[R] (MX Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]netboot\f[R] (netboot.xyz)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]netbsd\f[R] (NetBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nitrux\f[R] (Nitrux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nixos\f[R] (NixOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]nwg\-shell\f[R] (nwg\-shell)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]openbsd\f[R] (OpenBSD)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]openindiana\f[R] (OpenIndiana)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]opensuse\f[R] (openSUSE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]oraclelinux\f[R] (Oracle Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]parrotsec\f[R] (Parrot Security)
-.IP \[bu] 2
+.IP \(bu 2
+\f[CR]pclinuxos\f[R] (PCLinuxOS)
+.IP \(bu 2
\f[CR]peppermint\f[R] (PeppermintOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]popos\f[R] (Pop!_OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]porteus\f[R] (Porteus)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]primtux\f[R] (PrimTux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]proxmox\-ve\f[R] (Proxmox VE)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]pureos\f[R] (PureOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]reactos\f[R] (ReactOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]rebornos\f[R] (RebornOS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]rockylinux\f[R] (Rocky Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]siduction\f[R] (Siduction)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slackware\f[R] (Slackware)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slax\f[R] (Slax)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slint\f[R] (Slint)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]slitaz\f[R] (SliTaz)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]solus\f[R] (Solus)
-.IP \[bu] 2
-\f[CR]sparkylinux\f[R] (SparkyLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]spirallinux\f[R] (SpiralLinux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tails\f[R] (Tails)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tinycore\f[R] (Tiny Core Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]trisquel\f[R] (Trisquel\-)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]truenas\-core\f[R] (TrueNAS Core)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]truenas\-scale\f[R] (TrueNAS Scale)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]tuxedo\-os\f[R] (Tuxedo OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]vanillaos\f[R] (Vanilla OS)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]void\f[R] (Void Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]vxlinux\f[R] (VX Linux)
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]zorin\f[R] (Zorin OS)
.SS \c
.UR https://github.com/quickemu-project/quickemu/wiki/02-Create-Linux-virtual-machines#manually-create-linux-guests
@@ -339,32 +337,32 @@ Custom Linux guests
.UE \c
Or you can download a Linux image and manually create a VM
configuration.
-.IP \[bu] 2
+.IP \(bu 2
Download a .iso image of a Linux distribution
-.IP \[bu] 2
+.IP \(bu 2
Create a VM configuration file; for example
\f[CR]debian\-bullseye.conf\f[R]
.IP
.EX
-guest_os=\[dq]linux\[dq]
-disk_img=\[dq]debian\-bullseye/disk.qcow2\[dq]
-iso=\[dq]debian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\[dq]
+guest_os=\(dqlinux\(dq
+disk_img=\(dqdebian\-bullseye/disk.qcow2\(dq
+iso=\(dqdebian\-bullseye/firmware\-11.0.0\-amd64\-DVD\-1.iso\(dq
.EE
-.IP \[bu] 2
+.IP \(bu 2
Use \f[CR]quickemu\f[R] to start the virtual machine:
.IP
.EX
quickemu \-\-vm debian\-bullseye.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as normal.
-.IP \[bu] 2
+.IP \(bu 2
Post\-install:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE agent (\f[CR]spice\-vdagent\f[R]) in the guest to
enable copy/paste and USB redirection.
-.IP \[bu] 2
+.IP \(bu 2
Install the SPICE WebDAV agent (\f[CR]spice\-webdavd\f[R]) in the guest
to enable file sharing.
.RE
@@ -396,54 +394,54 @@ quickemu \-\-vm macos\-big\-sur.conf
macOS \f[CR]mojave\f[R], \f[CR]catalina\f[R], \f[CR]big\-sur\f[R],
\f[CR]monterey\f[R], \f[CR]ventura\f[R] and \f[CR]sonoma\f[R] are
supported.
-.IP \[bu] 2
+.IP \(bu 2
Use cursor keys and enter key to select the \f[B]macOS Base System\f[R]
-.IP \[bu] 2
+.IP \(bu 2
From \f[B]macOS Utilities\f[R]
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Disk Utility\f[R] and \f[B]Continue\f[R]
.RS 2
-.IP \[bu] 2
-Select \f[CR]QEMU HARDDISK Media\f[R] (\[ti]103.08GB) from the list (on
+.IP \(bu 2
+Select \f[CR]QEMU HARDDISK Media\f[R] (\(ti103.08GB) from the list (on
Big Sur and above use \f[CR]Apple Inc. VirtIO Block Device\f[R]) and
click \f[B]Erase\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Enter a \f[CR]Name:\f[R] for the disk
-.IP \[bu] 2
+.IP \(bu 2
If you are installing macOS Mojave or later (Catalina, Big Sur,
Monterey, Ventura and Sonoma), choose any of the APFS options as the
filesystem.
MacOS Extended may not work.
.RE
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Erase\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Done\f[R].
-.IP \[bu] 2
+.IP \(bu 2
Close Disk Utility
.RE
-.IP \[bu] 2
+.IP \(bu 2
From \f[B]macOS Utilities\f[R]
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Click \f[B]Reinstall macOS\f[R] and \f[B]Continue\f[R]
.RE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as you normally would.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
On the first reboot use cursor keys and enter key to select \f[B]macOS
Installer\f[R]
-.IP \[bu] 2
+.IP \(bu 2
On the subsequent reboots use cursor keys and enter key to select the
disk you named
.RE
-.IP \[bu] 2
+.IP \(bu 2
Once you have finished installing macOS you will be presented with an
the out\-of\-the\-box first\-start wizard to configure various options
and set up your username and password
-.IP \[bu] 2
+.IP \(bu 2
OPTIONAL: After you have concluded the out\-of\-the\-box wizard, you may
want to enable the TRIM feature that the computer industry created for
SSD disks.
@@ -453,7 +451,7 @@ Virtual Machine.
Without this step your macOS disk image will only ever get larger and
will not shrink even when you delete lots of data inside macOS.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
To enable TRIM, open the Terminal application and type the following
command followed by pressing enter to tell macos to use the TRIM command
on the hard disk when files are deleted:
@@ -463,21 +461,21 @@ on the hard disk when files are deleted:
sudo trimforce enable
.EE
.PP
-You will be prompted to enter your account\[aq]s password to gain the
+You will be prompted to enter your account\(aqs password to gain the
privilege needed.
-Once you\[aq]ve entered your password and pressed enter the command will
+Once you\(aqve entered your password and pressed enter the command will
request confirmation in the form of two questions that require you to
-type y (for a \[dq]yes\[dq] response) followed by enter to confirm.
+type y (for a \(dqyes\(dq response) followed by enter to confirm.
.PP
If you press enter without first typing y the system will consider that
-a negative response as though you said \[dq]no\[dq]:
+a negative response as though you said \(dqno\(dq:
.IP
.EX
-IMPORTANT NOTICE: This tool force\-enables TRIM for all relevant attached devices, even though such devices may not have been validated for data integrity while using TRIM. Use of this tool to enable TRIM may result in unintended data loss or data corruption. It should not be used in a commercial operating environment or with important data. Before using this tool, you should back up all of your data and regularly back up data while TRIM is enabled. This tool is provided on an \[dq]as is\[dq] basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON\-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THIS TOOL OR ITS USE ALONE OR IN COMBINATION WITH YOUR DEVICES, SYSTEMS, OR SERVICES. BY USING THIS TOOL TO ENABLE TRIM, YOU AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE TOOL IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.
+IMPORTANT NOTICE: This tool force\-enables TRIM for all relevant attached devices, even though such devices may not have been validated for data integrity while using TRIM. Use of this tool to enable TRIM may result in unintended data loss or data corruption. It should not be used in a commercial operating environment or with important data. Before using this tool, you should back up all of your data and regularly back up data while TRIM is enabled. This tool is provided on an \(dqas is\(dq basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON\-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THIS TOOL OR ITS USE ALONE OR IN COMBINATION WITH YOUR DEVICES, SYSTEMS, OR SERVICES. BY USING THIS TOOL TO ENABLE TRIM, YOU AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, USE OF THE TOOL IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU.
Are you sure you with to proceed (y/N)?
.EE
.PP
-And a second confirmation once you\[aq]ve confirmed the previous one:
+And a second confirmation once you\(aqve confirmed the previous one:
.IP
.EX
Your system will immediately reboot when this is complete.
@@ -490,44 +488,44 @@ soon as the command completes.
The default macOS configuration looks like this:
.IP
.EX
-guest_os=\[dq]macos\[dq]
-img=\[dq]macos\- big\-sur/RecoveryImage.img\[dq]
-disk_img=\[dq]macos\- big\-sur/disk.qcow2\[dq]
-macos_release=\[dq] big\-sur\[dq]
+guest_os=\(dqmacos\(dq
+img=\(dqmacos\- big\-sur/RecoveryImage.img\(dq
+disk_img=\(dqmacos\- big\-sur/disk.qcow2\(dq
+macos_release=\(dq big\-sur\(dq
.EE
-.IP \[bu] 2
-\f[CR]guest_os=\[dq]macos\[dq]\f[R] instructs Quickemu to optimise for
+.IP \(bu 2
+\f[CR]guest_os=\(dqmacos\(dq\f[R] instructs Quickemu to optimise for
macOS.
-.IP \[bu] 2
-\f[CR]macos_release=\[dq] big\-sur\[dq]\f[R] instructs Quickemu to
+.IP \(bu 2
+\f[CR]macos_release=\(dq big\-sur\(dq\f[R] instructs Quickemu to
optimise for a particular macOS release.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
For example VirtIO Network and Memory Ballooning are available in Big
Sur and newer, but not previous releases.
-.IP \[bu] 2
+.IP \(bu 2
And VirtIO Block Media (disks) are supported/stable in Catalina and
newer.
.RE
.SH macOS compatibility
There are some considerations when running macOS via Quickemu.
-.IP \[bu] 2
+.IP \(bu 2
Supported macOS releases:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Mojave
-.IP \[bu] 2
+.IP \(bu 2
Catalina
-.IP \[bu] 2
+.IP \(bu 2
Big Sur
-.IP \[bu] 2
+.IP \(bu 2
Monterey
-.IP \[bu] 2
+.IP \(bu 2
Ventura
-.IP \[bu] 2
+.IP \(bu 2
Sonoma
.RE
-.IP \[bu] 2
+.IP \(bu 2
\f[CR]quickemu\f[R] will automatically download the required \c
.UR https://github.com/acidanthera/OpenCorePkg
OpenCore
@@ -537,49 +535,49 @@ OpenCore
OSX\-KVM
.UE \c
\&.
-.IP \[bu] 2
+.IP \(bu 2
Optimised by default, but no GPU acceleration is available.
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Host CPU vendor is detected and guest CPU is optimised accordingly.
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR https://www.kraxel.org/blog/2019/06/macos-qemu-guest/
VirtIO Block Media
.UE \c
\ is used for the system disk where supported.
-.IP \[bu] 2
+.IP \(bu 2
\c
.UR http://philjordan.eu/osx-virt/
VirtIO \f[CR]usb\-tablet\f[R]
.UE \c
\ is used for the mouse.
-.IP \[bu] 2
+.IP \(bu 2
VirtIO Network (\f[CR]virtio\-net\f[R]) is supported and enabled on
macOS Big Sur and newer, but earlier releases use \f[CR]vmxnet3\f[R].
-.IP \[bu] 2
+.IP \(bu 2
VirtIO Memory Ballooning is supported and enabled on macOS Big Sur and
newer but disabled for other support macOS releases.
.RE
-.IP \[bu] 2
+.IP \(bu 2
USB host and SPICE pass\-through is:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
UHCI (USB 2.0) on macOS Catalina and earlier.
-.IP \[bu] 2
+.IP \(bu 2
XHCI (USB 3.0) on macOS Big Sur and newer.
.RE
-.IP \[bu] 2
+.IP \(bu 2
Display resolution can be changed via \f[CR]quickemu\f[R] using
\f[CR]\-\-width\f[R] and \f[CR]\-\-height\f[R] command line arguments.
-.IP \[bu] 2
+.IP \(bu 2
\f[B]Full Duplex audio requires \c
.UR https://github.com/chris1111/VoodooHDA-OC
VoodooHDA OC
.UE \c
\ or pass\-through a USB audio\-device to the macOS guest VM\f[R].
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
NOTE!
\c
.UR https://disable-gatekeeper.github.io/
@@ -591,7 +589,7 @@ System Integrity Protection (SIP)
.UE \c
\ need to be disabled to install VoodooHDA OC
.RE
-.IP \[bu] 2
+.IP \(bu 2
File sharing between guest and host is available via \c
.UR https://wiki.qemu.org/Documentation/9psetup
virtio\-9p
@@ -601,12 +599,12 @@ virtio\-9p
SPICE webdavd
.UE \c
\&.
-.IP \[bu] 2
+.IP \(bu 2
Copy/paste via SPICE agent is \f[B]not available on macOS\f[R].
.SH macOS App Store
-If you see \f[I]\[dq]Your device or computer could not be
-verified\[dq]\f[R] when you try to login to the App Store, make sure
-that your wired ethernet device is \f[CR]en0\f[R].
+If you see \f[I]\(dqYour device or computer could not be
+verified\(dq\f[R] when you try to login to the App Store, make sure that
+your wired ethernet device is \f[CR]en0\f[R].
Use \f[CR]ifconfig\f[R] in a terminal to verify this.
.PP
If the wired ethernet device is not \f[CR]en0\f[R], then then go to
@@ -646,7 +644,7 @@ VirtIO drivers for Windows
.UE \c
\&.
.PP
-\f[B]Windows 8.1\f[R] is also supported but doesn\[aq]t feature any
+\f[B]Windows 8.1\f[R] is also supported but doesn\(aqt feature any
automated installation or driver optimisation.
.PP
\f[CR]quickget\f[R] can also download \c
@@ -676,17 +674,17 @@ No automated installation is supported for these releases.
quickget windows 11
quickemu \-\-vm windows\-11.conf
.EE
-.IP \[bu] 2
+.IP \(bu 2
Complete the installation as you normally would.
-.IP \[bu] 2
+.IP \(bu 2
All relevant drivers and services should be installed automatically.
-.IP \[bu] 2
+.IP \(bu 2
A local administrator user account is automatically created, with these
credentials:
.RS 2
-.IP \[bu] 2
+.IP \(bu 2
Username: \f[CR]Quickemu\f[R]
-.IP \[bu] 2
+.IP \(bu 2
Password: \f[CR]quickemu\f[R]
.RE
.PP
diff --git a/docs/quickget.1.md b/docs/quickget.1.md
index 745c6bb..657f627 100644
--- a/docs/quickget.1.md
+++ b/docs/quickget.1.md
@@ -1,6 +1,6 @@
---
author: Martin Wimpress
-date: December 30, 2024
+date: July 31, 2025
footer: quickget
header: Quickget User Manual
section: 1
@@ -166,7 +166,6 @@ Further information is available from the project
- `antix` (Antix)
- `archcraft` (Archcraft)
- `archlinux` (Arch Linux)
-- `arcolinux` (Arco Linux)
- `artixlinux` (Artix Linux)
- `athenaos` (Athena OS)
- `batocera` (Batocera)
@@ -217,6 +216,7 @@ Further information is available from the project
- `opensuse` (openSUSE)
- `oraclelinux` (Oracle Linux)
- `parrotsec` (Parrot Security)
+- `pclinuxos` (PCLinuxOS)
- `peppermint` (PeppermintOS)
- `popos` (Pop!\_OS)
- `porteus` (Porteus)
@@ -232,7 +232,6 @@ Further information is available from the project
- `slint` (Slint)
- `slitaz` (SliTaz)
- `solus` (Solus)
-- `sparkylinux` (SparkyLinux)
- `spirallinux` (SpiralLinux)
- `tails` (Tails)
- `tinycore` (Tiny Core Linux)