Merge pull request #23 from outis1one/claude/bios-vt-power-settings-mxjh0x

Claude/bios vt power settings mxjh0x
This commit is contained in:
Outis
2026-06-27 20:52:41 -04:00
committed by GitHub
+140 -63
View File
@@ -2163,7 +2163,7 @@ Click **Next**.
| Field | Value |
|-------|-------|
| Graphic card | **Default (VirtIO)** ← temporary for install |
| Graphic card | **VirtIO-GPU** ← temporary for install |
| Machine | q35 |
| BIOS | OVMF (UEFI) |
| Add EFI Disk | checked |
@@ -2180,11 +2180,12 @@ Click **Next**.
> **Pre-Enrolled Keys must be unchecked.** Enabling it turns on Secure Boot,
> which blocks NVIDIA kernel modules from loading in the guest.
> **Graphic card: use Default (VirtIO) during install.** With `none` selected,
> noVNC has no virtual display to connect to and shows "Failed to run vncproxy."
> Leave it as VirtIO for the Ubuntu install. After the GPU is passed through and
> NVIDIA drivers are installed inside the VM, come back to Hardware → Display
> and change it to `none`.
> **Graphic card: in Proxmox 9 "VirtIO-GPU" is the new name for what was
> previously called "Default".** Use VirtIO-GPU during install — it provides a
> virtual display so noVNC works. With `none` selected, noVNC shows "Failed to
> run vncproxy" because there is no virtual display device. After the GPU is
> passed through and NVIDIA drivers are installed, change it to `none` in
> Hardware → Display.
> **Qemu Agent** — check this now, then after Ubuntu is installed run
> `apt install qemu-guest-agent` inside the VM. It enables clean shutdown from
@@ -2201,9 +2202,11 @@ Click **Next**.
|-------|-------|
| Bus/Device | SCSI / 0 |
| Storage | local-lvm |
| Disk size (GiB) | 64 |
| Disk size (GiB) | 600 |
| Cache | Write back |
| Discard | checked (if local-lvm is on SSD) |
| Discard | checked |
| IO thread | checked |
| SSD emulation | unchecked |
> **Write back** acknowledges writes to the VM as soon as they land in the
> host's RAM cache, before they hit disk — faster than "No cache" (the
@@ -2211,6 +2214,10 @@ Click **Next**.
> For the raw HDD passthrough later, cache mode is irrelevant — those drives
> manage their own caching.
> **SSD emulation** is not needed. Discard + IO thread already handles TRIM
> pass-through correctly with VirtIO SCSI. SSD emulation only matters for
> older IDE/SATA emulated controllers.
Click **Next**.
**Tab: CPU**
@@ -2248,6 +2255,15 @@ Click **Next**.
| Field | Value |
|-------|-------|
| Memory (MiB) | 49152 |
| Minimum memory (MiB) | 49152 |
| Ballooning Device | **unchecked** |
> **Disable ballooning for VM 100.** Set Minimum = Maximum (both 49152) and
> uncheck Ballooning Device. Ballooning lets Proxmox dynamically reclaim RAM
> from the VM, but it fights against NUMA memory pinning and can cause latency
> spikes during Immich indexing or Jellyfin transcoding. Lock it at 48 GiB.
> Ballooning is fine for VM 101 (Frigate) where consistent low-latency RAM
> access is less critical.
Common MiB values for reference:
@@ -2292,11 +2308,16 @@ Click **Add** → **PCI Device**.
|-------|-------|
| Raw Device | select the GPU from the dropdown |
| All Functions | **checked** |
| Primary GPU | **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.
@@ -2337,45 +2358,6 @@ needs USB 3.0 speed and works on any port.
---
### Step 11.5 — Add Coral USB to VM 101
In the left panel, click **101****Hardware** tab.
Click **Add****USB Device**.
First entry (pre-init ID):
| Field | Value |
|-------|-------|
| Use USB Vendor/Device ID | selected |
| Vendor ID | 1a6e |
| Device ID | 089a |
Click **Add**.
Click **Add****USB Device** again.
Second entry (post-init ID):
| Field | Value |
|-------|-------|
| Use USB Vendor/Device ID | selected |
| Vendor ID | 18d1 |
| Device ID | 9302 |
Click **Add**.
> **Why two entries?** The Coral USB presents as `1a6e:089a` before Frigate
> loads firmware onto it, then re-enumerates as `18d1:9302` after firmware
> loads. Both must be passed through or the second enumeration will not be
> accessible inside the VM.
> **The Coral must be physically plugged in to the R730xd before starting the
> VM.** If it is not connected, the VM boots fine but the USB devices will
> not appear.
---
### Passing other USB devices to VMs
Any USB device plugged into the R730xd can be passed through to a VM using
@@ -2582,17 +2564,71 @@ scsi8: /dev/disk/by-id/scsi-35000cca23bab1234,size=0
Click **Create VM** in the web UI.
| Tab | Value |
|-----|-------|
| General | VM ID: **101**, Name: **frigate** |
| OS | ubuntu-24.04.4-live-server-amd64.iso |
| System → Graphic card | **Default (VirtIO)** |
| System → Machine | q35 |
| System → BIOS | OVMF (UEFI) |
| System → Pre-Enrolled Keys | **unchecked** |
| CPU | 6 cores, host |
| Memory | 8192 MiB |
| Disk | 64 GiB on local-lvm |
**Tab: General**
| Field | Value |
|-------|-------|
| VM ID | 101 |
| Name | frigate |
**Tab: OS**
| Field | Value |
|-------|-------|
| ISO image | ubuntu-24.04.4-live-server-amd64.iso |
| OS Type | Linux |
| Version | 6.x - 2.6 Kernel |
**Tab: System**
| Field | Value |
|-------|-------|
| Graphic card | VirtIO-GPU |
| Machine | q35 |
| BIOS | OVMF (UEFI) |
| Add EFI Disk | checked |
| EFI Storage | local-lvm |
| Pre-Enrolled Keys | unchecked |
| SCSI Controller | VirtIO SCSI Single |
| Qemu Agent | checked |
| Add TPM | unchecked |
> Pre-Enrolled Keys unchecked — no Secure Boot needed for Ubuntu Server.
**Tab: Disks**
| Field | Value |
|-------|-------|
| Bus/Device | SCSI / 0 |
| Storage | local-lvm |
| Disk size (GiB) | 32 |
| Cache | Write back |
| Discard | checked |
| IO thread | checked |
| SSD emulation | unchecked |
**Tab: CPU**
| Field | Value |
|-------|-------|
| Sockets | 1 |
| Cores | 6 |
| Type | host |
| Enable NUMA | checked |
> 6 cores from socket 1 (VM 100 uses socket 0). NUMA keeps memory local to
> the cores doing the work.
**Tab: Memory**
| Field | Value |
|-------|-------|
| Memory (MiB) | 8192 |
| Minimum memory (MiB) | 8192 |
| Ballooning Device | unchecked |
> Ballooning disabled — locks the VM at 8 GiB, same reason as VM 100. 8 GiB
> is sufficient for Frigate with the Coral handling inference.
**Tab: Network**
@@ -2603,12 +2639,53 @@ Click **Create VM** in the web UI.
| VLAN Tag | your security VLAN tag (e.g. 20) |
| Firewall | checked |
> Frigate runs on a dedicated security VLAN so cameras are isolated from the
> Frigate runs on a dedicated security VLAN cameras are isolated from the
> main LAN. Set the VLAN tag to match your camera/security VLAN.
> **No GPU for VM 101.** The Coral TPU (added in Step 11.5) handles all AI
> inference. Frigate uses CPU decode for camera streams — perfectly adequate
> on dual Xeons with 6 cores dedicated to this VM.
Click **Finish**.
> **No GPU for VM 101.** The Coral TPU (added in Step 11.9b below) handles
> all AI inference. Frigate uses CPU decode for camera streams — perfectly
> adequate on dual Xeons with 6 cores dedicated to this VM.
---
### Step 11.9b — Add Coral USB to VM 101
In the left panel, click **101** → **Hardware** tab.
Click **Add** → **USB Device**.
First entry (pre-init ID):
| Field | Value |
|-------|-------|
| Use USB Vendor/Device ID | selected |
| Vendor ID | 1a6e |
| Device ID | 089a |
Click **Add**.
Click **Add** → **USB Device** again.
Second entry (post-init ID):
| Field | Value |
|-------|-------|
| Use USB Vendor/Device ID | selected |
| Vendor ID | 18d1 |
| Device ID | 9302 |
Click **Add**.
> **Why two entries?** The Coral USB presents as `1a6e:089a` before Frigate
> loads firmware onto it, then re-enumerates as `18d1:9302` after firmware
> loads. Both must be passed through or the second enumeration will not be
> accessible inside the VM.
> **The Coral must be physically plugged in to the R730xd before starting the
> VM.** If it is not connected, the VM boots fine but the USB devices will
> not appear.
---