Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name virtualization
description 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.

Virtualization - Bazzite GPU Passthrough & KVM

Overview

Advanced virtualization features for Bazzite including KVM, VFIO GPU passthrough, Looking Glass (kvmfr), and USB hotplug for VMs.

Quick Reference

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

KVM/Libvirt

Enable Virtualization

# Enable KVM and libvirt
ujust setup-virtualization virt-on

Enables:

  • libvirtd service
  • User permissions for VMs
  • Default network
  • QEMU/KVM backend

Disable Virtualization

# Disable KVM and libvirt
ujust setup-virtualization virt-off

VFIO GPU Passthrough

Enable VFIO

# Enable VFIO for GPU passthrough
ujust setup-virtualization vfio-on

What VFIO does:

  • Isolates GPU from host
  • Passes GPU directly to VM
  • Near-native GPU performance in VM

Requirements:

  • Two GPUs (or iGPU + dGPU)
  • IOMMU support (VT-d or AMD-Vi)
  • Supported GPU

Disable VFIO

# Disable VFIO passthrough
ujust setup-virtualization vfio-off

Returns GPU to host control.

Looking Glass (kvmfr)

Setup kvmfr

# Setup Looking Glass shared memory
ujust setup-virtualization kvmfr

Looking Glass:

  • Zero-copy GPU framebuffer sharing
  • Near-zero latency display
  • No GPU encoding needed
  • Mouse/keyboard passthrough

Requirements:

  • Windows VM with GPU passthrough
  • Looking Glass host app
  • IVSHMEM device in VM

Using Looking Glass

  1. Host: Run looking-glass-client
  2. VM: Run Looking Glass host service
  3. Connect via shared memory

USB Hotplug

Enable USB Hotplug

# Enable USB device hotplug for VMs
ujust setup-virtualization usbhp-on

Allows:

  • Hot-add USB devices to running VMs
  • Dynamic USB device assignment
  • No VM restart needed

Disable USB Hotplug

ujust setup-virtualization usbhp-off

Common Workflows

Basic VM Setup

# Enable virtualization
ujust setup-virtualization virt-on

# Use virt-manager for GUI
virt-manager

Gaming VM with GPU Passthrough

# 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

Dynamic USB Access

# Enable USB hotplug
ujust setup-virtualization usbhp-on

# In running VM:
# - Right-click VM in virt-manager
# - Add Hardware > USB Host Device
# - Select device

IOMMU Groups

Check IOMMU

# 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

GPU IOMMU Group

# 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.

VM Management

Virsh Commands

# List VMs
virsh list --all

# Start VM
virsh start <vm-name>

# Shutdown VM
virsh shutdown <vm-name>

# Force off
virsh destroy <vm-name>

GUI Management

# virt-manager (GUI)
virt-manager

# GNOME Boxes (simpler)
gnome-boxes

Troubleshooting

VFIO Not Binding GPU

Check IOMMU:

dmesg | grep -i iommu
# Should show "IOMMU enabled"

Enable in BIOS:

  • Intel: VT-d
  • AMD: AMD-Vi / IOMMU

Check binding:

lspci -nnk | grep -A3 "VGA\|Audio"
# Kernel driver should be vfio-pci

Looking Glass Black Screen

Check IVSHMEM:

# In VM, verify IVSHMEM device exists
# Check Looking Glass host logs

Verify shared memory:

ls -la /dev/shm/looking-glass

USB Device Not Passing Through

Check permissions:

# User in libvirt group?
groups $USER

Check device:

lsusb
# Identify device ID

VM Won't Start After VFIO

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.

Cross-References

  • bazzite-ai:vm - QCOW2 VM management
  • bazzite:gpu - GPU driver configuration
  • bazzite-ai:configure - libvirtd service

When to Use This Skill

Use when the user asks about:

  • "GPU passthrough", "VFIO", "pass GPU to VM"
  • "Looking Glass", "kvmfr", "VM display"
  • "KVM", "libvirt", "virtualization"
  • "USB hotplug", "pass USB to VM"
  • "gaming VM", "Windows VM", "VM performance"
  • "IOMMU", "VT-d", "AMD-Vi"