Merge pull request #23 from outis1one/claude/bios-vt-power-settings-mxjh0x
Claude/bios vt power settings mxjh0x
This commit is contained in:
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user