Homelab / Technical documentation
UHD 630: host, guest, container.
Separate PCI assignment from driver availability, container permissions and an application’s actual hardware work.
Jump to a section
Prove each boundary separately
- HP ProxmoxIntel UHD 630 PCI assignment
- Debian VMi915 driver and render device
- Docker containerDevice access and group permissions
- ApplicationA successful hardware-accelerated job
The October guest initially saw only an emulated VGA adapter. By 18 October the recovered discussion reported UHD 630 passthrough to the Debian VM, with i915 and /dev/dri/renderD128 present.
Evidence: S08.
What was configured historically
qm set <VM_ID> -hostpci0 <GPU_PCI_ADDRESS>,pcie=1The original command targeted the historical Debian VM. This single assignment is not a complete BIOS/IOMMU, bootloader, VFIO or guest-driver installation procedure, and it was not executed in this documentation review.
services:
encoder:
image: <REVIEWED_ENCODER_IMAGE>
devices:
- /dev/dri:/dev/dri
group_add:
- "<VIDEO_GID>"
- "<RENDER_GID>"The historical group numbers are deliberately not treated as portable defaults. Permissions must match the host namespace seen by the container.
Reference: Proxmox PCI passthrough documentation. Host/guest prerequisites still need configuration-specific verification.
Read-only checks, in the relevant namespace
lspci -nnk | grep -A3 -Ei 'vga|display'
ls -l /dev/dri
idid
ls -l /dev/dri
vainfo --display drm --device /dev/dri/renderD128
ffmpeg -hide_banner -encoders | grep -E 'vaapi|qsv'Record which namespace produced each result. Listing an encoder means the FFmpeg build exposes it; it does not mean a hardware session can initialize. A Plex session and a separate FFmpeg/Tdarr process need their own validation.
For an actual completed job and the distinct QSV failure, continue to VA-API and Tdarr.