GPU passthrough and virtualization for Bazzite. KVM/VFIO setup, Looking Glass (kvmfr), USB hotplug for VMs, and libvirt configuration. Use when users need GPU passthrough or advanced virtualization features.
/plugin marketplace add atrawog/bazzite-ai-plugins/plugin install bazzite@bazzite-ai-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Advanced virtualization features for Bazzite including KVM, VFIO GPU passthrough, Looking Glass (kvmfr), and USB hotplug for VMs.
| Command | Description |
|---|---|
ujust setup-virtualization | Main virtualization setup |
ujust setup-virtualization virt-on | Enable KVM/libvirt |
ujust setup-virtualization virt-off | Disable KVM/libvirt |
ujust setup-virtualization vfio-on | Enable VFIO passthrough |
ujust setup-virtualization vfio-off | Disable VFIO passthrough |
ujust setup-virtualization kvmfr | Setup Looking Glass |
ujust setup-virtualization usbhp-on | Enable USB hotplug |
ujust setup-virtualization usbhp-off | Disable USB hotplug |
# Enable KVM and libvirt
ujust setup-virtualization virt-on
Enables:
# Disable KVM and libvirt
ujust setup-virtualization virt-off
# Enable VFIO for GPU passthrough
ujust setup-virtualization vfio-on
What VFIO does:
Requirements:
# Disable VFIO passthrough
ujust setup-virtualization vfio-off
Returns GPU to host control.
# Setup Looking Glass shared memory
ujust setup-virtualization kvmfr
Looking Glass:
Requirements:
looking-glass-client# Enable USB device hotplug for VMs
ujust setup-virtualization usbhp-on
Allows:
ujust setup-virtualization usbhp-off
# Enable virtualization
ujust setup-virtualization virt-on
# Use virt-manager for GUI
virt-manager
# 1. Enable VFIO
ujust setup-virtualization vfio-on
# 2. Reboot (GPU now isolated)
systemctl reboot
# 3. Create VM with GPU
# In virt-manager: Add PCI device (GPU)
# 4. Optional: Setup Looking Glass
ujust setup-virtualization kvmfr
# Enable USB hotplug
ujust setup-virtualization usbhp-on
# In running VM:
# - Right-click VM in virt-manager
# - Add Hardware > USB Host Device
# - Select device
# Verify IOMMU enabled
dmesg | grep -i iommu
# List IOMMU groups
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"
lspci -nns "${d##*/}"
done
# Find GPU group
lspci -nn | grep -i nvidia
# or
lspci -nn | grep -i amd
Ideal: GPU alone in IOMMU group. If not, may need ACS override patch.
# List VMs
virsh list --all
# Start VM
virsh start <vm-name>
# Shutdown VM
virsh shutdown <vm-name>
# Force off
virsh destroy <vm-name>
# virt-manager (GUI)
virt-manager
# GNOME Boxes (simpler)
gnome-boxes
Check IOMMU:
dmesg | grep -i iommu
# Should show "IOMMU enabled"
Enable in BIOS:
Check binding:
lspci -nnk | grep -A3 "VGA\|Audio"
# Kernel driver should be vfio-pci
Check IVSHMEM:
# In VM, verify IVSHMEM device exists
# Check Looking Glass host logs
Verify shared memory:
ls -la /dev/shm/looking-glass
Check permissions:
# User in libvirt group?
groups $USER
Check device:
lsusb
# Identify device ID
GPU still attached to host:
# Verify VFIO binding
lspci -nnk | grep -A3 "VGA"
# Should show: Kernel driver in use: vfio-pci
Reboot may be needed after vfio-on.
Use when the user asks about: