# Virtual Machine Manager
Virtual Machine Manager is a Hypervisor that is generally capable of everything [VirtualBox](VirtualBox.md) or [VMWare Workstation](VMWareWorkstation.md) is, but with the benefit of built in support from the linux kernel. So no weird install processes involving kernel modules and the like.

# Install
If your distribution has a Graphical software manager/store, you can likely search for **Virtual Machine Manager** and install it there. 

**NOTE: Some Windows VMs may require TPM, this will require the swtpm package to also be installed on your system. See the [TPM section](#tpm) for details.**

If not, or you wish to install it via command-line, see below:

### Flatpak (universal)
If you wish to install through flatpak ensure flatpak is setup, see [Flatpak](../Tools/Flatpak.md) for details if not.
```sh
flatpak install flathub org.virt_manager.virt-manager
```

### Arch-based
```sh
sudo pacman -S virt-manager
```

### Debian/Mint/Ubuntu
```sh
sudo apt update
sudo apt install virt-manager
```

### Fedora 
```sh
sudo dnf install virt-manager
```

# Usage
## Initial Setup
Before you can create a VM you need to connect to libvirt's QEMU/KVM module, which is installed along with virt-manager.

Select: File -> Add Connection...

![Add Connection](Screenshots/add-connection.png)

Ensure Hypervisior is set to "QEMU/KVM", "Connect to remote" is **unchecked** and Autoconnect is **checked**. Then click "Connect"

![Add Connection](Screenshots/add-connection-2.png)

## Create new Virtual Machine
First download the desired .iso file, I recommend creating a folder somewhere to store your .iso files.

Click the Create VM Button:

![New VM Button](Screenshots/new-vm.png)

Select "Local install media" and **Forward**:

![VM Install Options](Screenshots/vm-install-opt.png)

Select Browse:

![Choose iso](Screenshots/choose-iso.png)

If your iso folder is not in the list, click the add button:

![Add Pool](Screenshots/add-pool.png)

Set a name for this location, such as "ISO Files", Click "Browse", navigate to the folder with your .iso and click "Open".
Click "Finish" to create the pool.

![Create Storage Pool](Screenshots/iso-pool.png)


Select the ISO pool, if the pool looks empty, click the ▶︎ button. Then select your .iso file and click "Choose Volume".

![Choose ISO](Screenshots/choose-iso-2.png)

If the OS is not automatically detected, uncheck "Automatically detect" and search for it manually.

![Select OS](Screenshots/select-os.png)

Regardless, once the OS is selected, click Forward.

Set Memory and CPU allocation as desired.

You can set the storage size on the next page. However if you wish to install this VM in a different location, follow the below steps:

Select "Select or create custom storage" and click "Manage"

![Custom Storage](Screenshots/custom-storage.png)

Same as with adding a folder/pool for the .iso files, add a pool, give it a name, and select the location.

![Add Pool](Screenshots/add-pool.png)

![Create Storage Pool](Screenshots/iso-pool.png)

In the desired pool, click the add button to create a volume.

![Create Volume](Screenshots/create-volume.png)

Change the volume name if desired, set the capacity depending on the OS you're installing and click "Finish".

![Create Volume](Screenshots/create-volume-2.png)

Make sure the volume is selected, and click "Choose Volume".

Make sure you are happy with the VM details and click "Finish".
For Windows, you may want to check the option "Customize configuration before install" and remove or disable the NIC (Network Interface) to aid in bypassing Online Account registration.

Also see the TPM section below for Windows 11 installs

## TPM
Windows 11, aside from the LTSC version, require TPM 2.0 to install, this can be emulated by swtpm.

Use your distribution's package manager to install `swtpm`.
 - When creating a Windows11 VM, a TPM device should now automatically be added.
 - For Already created VMs you can click **Add Hardware** on the Details page for the VM, select "TPM" and "Finish"

![Add TPM](Screenshots/add-tpm.png)

If there are any issues you can just install the LTSC version of windows, which as of this writing (March 2026) does not require TPM.

Honestly, I would recommend the LTSC version of Windows regardless as it provides all the same features, but is more resource and space efficient, due to the lack of unneeded applications being installed by default.

## USB Device Passthrough
To pass a USB device through to a Virtual Machine, simply select "Redirect USB device" under Virtual Machine options.

![Redirect USB](Screenshots/usb-passthrough.png)

Now check the device you wish to passthrough and close. If you are not sure which device it is, unplug and re-plug it to see which device is added and removed from the list.
