Its been a while since the last release tag and with bridging revamped in master its time.
As usual there's been many various script handling improvements, cleanup, documentation tweaks, clarity in printed messages and additional/combined argument flags for ease of use. Below are the more noteworthy changes.
Key changes since 0.7.1:
- Revamped advanced networking arguments
-bridge tap0,br0,eth0
is now expressed as-bridge br0
,-tap tap0
,-hostint eth0
.- The script still reacts to these arguments depending on how many are specified.
- That is to say it will still create bridges automatically if all three arguments are provided and can attach the VM to a new or existing tap which may already be configured.
- Or even just a tap alone with no bridges for host configuration or external software for handling the guest's tap interface.
- Win11 support with the
-tpm
argument to spin up a software tpm (Usingswtpm
) - By default (
-pinvcpus
not specified) the guest now takes up only half of the host's total CPU thread count- This has been done because in certain circumstances a Windows 10/11 VM may 100% all cvpu's for a prolonged period of time. As a result of this insane full package load the host can sometimes show signs of locking up as this script gives the guest scheduling priority.
- Noticeable times Windows will full throttle all its given vcpus include when the bootloader fails to boot and when shutting down with fastboot enabled.
- Improved automated troubleshooting output for validating the
kvm
module is ready for use. - Add
-force
to ignore the script's error reporting (Useful in some testing cases) - Add
-noBios
/-legacy/
-legacyboot` for booting without OVMF (For running MBR/BIOS VMs and P2V's) - Skip the
compact_memory
call for ZFS hosts running kernel 6.3.1+ to avoid openzfs/zfs#15140 - Add
-nvme
to present the VM's disk to it using the NVMe protocol- Most OSes pack only the drivers they need into their bootloaders so if they were on NVMe then giving them a VirtIO disk will be missed by the bootloader.
- This has been added primarily for when I try to boot a physical disk in a VM and the OS only has NVMe drivers in its bootloader.
- It has also proven helpful in P2V and V2V scenarios where the same problem exists.
- -hostAudio quality of life improvements
- Automatic detection of Pulseaudio or Pipewire for selecting the best
-audiodev
for QEMU to use - Sanity checking for whether QEMU has the required audio libraries of each to proceed
- Fallback to pulseaudio if pipewire is selected but pipewire-pulse isn't installed.
- Automatic detection of Pulseaudio or Pipewire for selecting the best
For the full changelog experience with all the small bits heres the commits between 0.7.1 and 8.0 0.7.1...0.8