From f687bd4f54565dd49691715cf142e2d0614a055d Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 02:43:46 +0000 Subject: [PATCH 1/2] Move GPU and USB PCIe passthrough to after OS install GPU and VL805 PCIe card passthrough (Steps 11.4/11.4b) moved to after Ubuntu install so noVNC console works during installation. Also corrects the Display=none instruction to happen at the same time as GPU add. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01CTRZQmUSrYXFC6WkcypYPv --- README.md | 123 +++++++++++++++++++++++++++++------------------------- 1 file changed, 65 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index 95989df..f045afd 100644 --- a/README.md +++ b/README.md @@ -2309,64 +2309,9 @@ Click **Next**. Click **Next**, then **Finish**. -VM 100 now appears in the left panel. **Do not start it yet** — the GPU and -data drives must be added first. - -After the wizard completes, add the GPU in the **Hardware** tab: - -Click **Add** → **PCI Device**. - -| Field | Value | -|-------|-------| -| Raw Device | select the GPU from the dropdown | -| All Functions | **checked** | -| ROM-Bar | **checked** | -| PCI-Express | **checked** | -| Primary GPU | **checked** | - -Click **Add**. - -> **ROM-Bar must stay checked.** NVIDIA drivers read the GPU's VBIOS through -> the ROM BAR during initialization. Unchecking it causes the driver to fail -> or the GPU to not be recognized inside the VM. - -> VM 100 gets the GPU for Jellyfin transcoding, Immich ML acceleration, -> HandBrake encoding, and general desktop GPU acceleration. - ---- - -### Step 11.4b — Add USB 3.0 PCIe card to VM 100 - -Still in VM 100's **Hardware** tab. Click **Add** → **PCI Device**. - -First, identify the card's PCI address on the Proxmox host: - -```bash -lspci | grep -i usb -# Look for the PCIe card — e.g.: -# 82:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) -``` - -In the dialog: - -| Field | Value | -|-------|-------| -| Raw Device | selected | -| Device | 0000:82:00.0 (your address from lspci) | -| All Functions | checked | -| PCI-Express | checked | -| ROM-Bar | checked | -| Primary GPU | unchecked | - -Click **Add**. - -All ports on the USB card are now owned by VM 100. The Coral TPU for VM 101 -(Frigate) uses one of the server's built-in rear USB ports instead — it only -needs USB 3.0 speed and works on any port. - -> **VL805/VIA cards** are single-function (one PCI address), so All Functions -> has no effect but does no harm. ASMedia and other multi-function cards -> benefit from it more. +VM 100 now appears in the left panel. **Do not start it yet** — data drives +must be added first (Steps 11.6–11.8). The GPU and USB PCIe card are added +**after** the OS is installed (Steps 11.4 and 11.4b, later in this phase). --- @@ -2878,6 +2823,68 @@ echo $XDG_SESSION_TYPE # should print: x11 --- +### Step 11.4 — Add GPU to VM 100 + +Now that Ubuntu is installed and the noVNC console is no longer needed, add +the GPU. **Shut down VM 100 first** (`sudo poweroff` inside the VM). + +In VM 100's **Hardware** tab, click **Add** → **PCI Device**. + +| Field | Value | +|-------|-------| +| Raw Device | select the GPU from the dropdown | +| All Functions | **checked** | +| ROM-Bar | **checked** | +| PCI-Express | **checked** | +| Primary GPU | **checked** | + +Click **Add**. + +> **ROM-Bar must stay checked.** NVIDIA drivers read the GPU's VBIOS through +> the ROM BAR during initialization. Unchecking it causes the driver to fail +> or the GPU to not be recognized inside the VM. + +Also change the Display device: **Hardware → Display → Edit → Graphic card: none**. +noVNC will stop working after this — all console access goes through SSH or +the GPU's physical output. + +--- + +### Step 11.4b — Add USB 3.0 PCIe card to VM 100 + +Still in VM 100's **Hardware** tab (VM still shut down). Click **Add** → **PCI Device**. + +First, identify the card's PCI address on the Proxmox host: + +```bash +lspci | grep -i usb +# Look for the PCIe card — e.g.: +# 82:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) +``` + +In the dialog: + +| Field | Value | +|-------|-------| +| Raw Device | selected | +| Device | 0000:82:00.0 (your address from lspci) | +| All Functions | checked | +| PCI-Express | checked | +| ROM-Bar | checked | +| Primary GPU | unchecked | + +Click **Add**, then start VM 100. + +All ports on the USB card are now owned by VM 100. The Coral TPU for VM 101 +(Frigate) uses one of the server's built-in rear USB ports instead — it only +needs USB 3.0 speed and works on any port. + +> **VL805/VIA cards** are single-function (one PCI address), so All Functions +> has no effect but does no harm. ASMedia and other multi-function cards +> benefit from it more. + +--- + ### Step 11.14 — Install Ubuntu Server in VM 101 Start VM 101, open the console, and work through the Ubuntu Server installer. From 9b339b33f1b863f090fdec460ab4bb950b961003 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 03:03:03 +0000 Subject: [PATCH 2/2] Remove VM 102 (Windows); Windows runs on separate physical machine Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01CTRZQmUSrYXFC6WkcypYPv --- README.md | 99 +++++-------------------------------------------------- 1 file changed, 9 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index f045afd..43f49c6 100644 --- a/README.md +++ b/README.md @@ -2656,81 +2656,7 @@ Click **Add**. --- -### Step 11.10 — Create VM 102 (Windows 11, Sync.com) - -VM 102 is a Windows 11 VM that runs the Sync.com desktop client for cloud -backup. Syncthing on VM 100 (Services) mirrors NAS data to VM 102's local -NTFS drive, and Sync.com picks it up natively. - -Click **Create VM** again. - -**Tab: General** - -| Field | Value | -|-------|-------| -| VM ID | 102 | -| Name | windows-sync | - -**Tab: OS** - -| Field | Value | -|-------|-------| -| ISO image | windows11 ISO (upload to local storage first) | -| OS Type | Microsoft Windows | -| Version | 11/2022/2025 | - -**Tab: System** - -| Field | Value | -|-------|-------| -| Graphic card | Default (VirtIO) | -| Machine | q35 | -| BIOS | OVMF (UEFI) | -| Add EFI Disk | checked | -| EFI Storage | local-lvm | -| Pre-Enrolled Keys | **checked** (Windows 11 requires Secure Boot) | -| Add TPM | **checked**, TPM Storage: local-lvm (Windows 11 requires TPM 2.0) | -| SCSI Controller | VirtIO SCSI Single | - -**Tab: Disks** - -| Field | Value | -|-------|-------| -| Disk size (GiB) | 128 | -| Storage | local-lvm | -| Cache | Write back | - -**Tab: CPU** - -| Field | Value | -|-------|-------| -| Sockets | 1 | -| Cores | 4 | -| Type | host | - -**Tab: Memory** - -| Field | Value | -|-------|-------| -| Memory (MiB) | 8192 | - -Click **Finish**. - -Then pass a dedicated data drive to VM 102 for Sync.com to sync to: - -```bash -# Use one of your spare HDDs — Sync.com data lives here (formatted NTFS in Windows) -qm set 102 -scsi1 /dev/disk/by-id/PLACEHOLDER_SYNC_DRIVE -``` - -> **Why a dedicated drive?** Sync.com needs a real local NTFS disk — not a -> network share, not a shared folder. Windows formats this drive NTFS and -> Sync.com treats it as a native local drive. Syncthing on VM 100 (Services) -> pushes data to it over the LAN. - ---- - -### Step 11.11 — Install Ubuntu Desktop in VM 100 +### Step 11.10 — Install Ubuntu Desktop in VM 100 In the left panel, click **100** → click **Start** (▶ button). @@ -2764,7 +2690,7 @@ the ISO automatically. --- -### Step 11.12 — Find VM 100's IP and test SSH +### Step 11.11 — Find VM 100's IP and test SSH Log in at the console. Check the assigned IP: @@ -2792,7 +2718,7 @@ If SSH connects, close the noVNC console tab — you will not need it again. --- -### Step 11.13 — Disable Wayland, force Xorg +### Step 11.12 — Disable Wayland, force Xorg Ubuntu 24.04 defaults to Wayland. WinApps file sharing (`\\tsclient\home`) breaks under Wayland due to FreeRDP limitations — tsclient mounts as empty. @@ -2823,7 +2749,7 @@ echo $XDG_SESSION_TYPE # should print: x11 --- -### Step 11.4 — Add GPU to VM 100 +### Step 11.13 — Add GPU to VM 100 Now that Ubuntu is installed and the noVNC console is no longer needed, add the GPU. **Shut down VM 100 first** (`sudo poweroff` inside the VM). @@ -2850,7 +2776,7 @@ the GPU's physical output. --- -### Step 11.4b — Add USB 3.0 PCIe card to VM 100 +### Step 11.14 — Add USB 3.0 PCIe card to VM 100 Still in VM 100's **Hardware** tab (VM still shut down). Click **Add** → **PCI Device**. @@ -2885,7 +2811,7 @@ needs USB 3.0 speed and works on any port. --- -### Step 11.14 — Install Ubuntu Server in VM 101 +### Step 11.15 — Install Ubuntu Server in VM 101 Start VM 101, open the console, and work through the Ubuntu Server installer. Use `frigate` as the hostname. When prompted for storage, install only to the @@ -2895,11 +2821,6 @@ when prompted so you can SSH in for Phase 12. > **No Wayland to disable** — Ubuntu Server has no desktop environment. > After install, SSH in directly: `ssh ubuntu@` -**VM 102 (Windows 11):** Boot from the Windows 11 ISO, work through the -installer. Use `windows-sync` as the hostname. Install to the 128 GiB OS disk. -After install, format the dedicated Sync.com data drive as NTFS in Disk -Management, then install the Sync.com desktop client and point it at that drive. - --- ### Phase 11 complete — where you are now @@ -2907,10 +2828,9 @@ Management, then install the Sync.com desktop client and point it at that drive. | What is done | Status | |---|---| | Ubuntu Server 24.04.4 and Desktop 24.04.4 ISOs uploaded to Proxmox | ✓ | -| VM 100 created: GPU, 8 raw data drives, services (Immich/Jellyfin/Audiobookshelf/NAS) | ✓ | -| VM 101 created: Coral USB (×2), security VLAN, Frigate NVR | ✓ | -| VM 102 created: Windows 11, Sync.com | ✓ | -| Ubuntu installed and SSH accessible in all three VMs | ✓ | +| VM 100 created: GPU, raw data drives, services (Immich/Jellyfin/Audiobookshelf/NAS) | ✓ | +| VM 101 created: Coral USB, security VLAN, Frigate NVR | ✓ | +| Ubuntu installed and SSH accessible in both VMs | ✓ | --- @@ -3264,7 +3184,6 @@ stats. Navigate to **System → Stats** to confirm: | Services | fan-control (quiet fans), stagger-spinup (PSU protection) | ✓ | | VM 100 | Ubuntu Desktop 24.04.4, GPU passthrough, 8 drives, Immich/Jellyfin/Audiobookshelf/NAS | ✓ | | VM 101 | Ubuntu Server 24.04.4, Coral TPU, Frigate NVR, security VLAN | ✓ | -| VM 102 | Windows 11, Sync.com | ready | ---