NVIDIA GPU Driver
Identity
Host
Network
Resources
Depends On
NoneDepended On By
NoneOverview
The NVIDIA GeForce RTX 3070 (GA104, Ampere architecture) provides hardware-accelerated video transcoding and GPU compute to LXC containers running on Jack. Rather than full PCIe passthrough to a single VM, the GPU is shared across multiple unprivileged containers simultaneously using device bind-mounts.
Driver Details
| Field | Value |
|---|---|
| GPU | NVIDIA GeForce RTX 3070 (GA104, 8GB GDDR6) |
| Driver | 580.126.18 (Long-Term Support Branch) |
| CUDA | 13.0 |
| Kernel Modules | Open (MIT/GPL) |
| Install Method | NVIDIA .run installer with DKMS |
| Persistence | nvidia-persistenced (systemd service) |
Why the .run Installer
Debian 13 (trixie) ships nvidia-driver version 550.x, which does not compile against kernel 6.17 due to DRM API changes introduced in kernel 6.16. NVIDIA fixed this in the 580 branch, but there is no Debian 13 apt repository for 580+ drivers. The .run installer from nvidia.com compiles against the exact running kernel and supports DKMS for automatic rebuilds on kernel updates.
LXC GPU Sharing
Containers access the GPU through Proxmox's device passthrough mechanism (PVE 8.1+ dev0: syntax). Each container that needs the GPU gets six device entries pointing to /dev/nvidia* nodes, plus lxc.apparmor.profile: unconfined (required by PVE 9's AppArmor 4.1). The NVIDIA userspace libraries are installed inside each container with the --no-kernel-modules flag — the container shares the host's kernel modules via the bind-mounted devices.
This approach allows multiple containers (Jellyfin for transcoding, Frigate for object detection, etc.) to use the same GPU concurrently without any special scheduling.
GPU Capabilities
The RTX 3070 supports:
- NVENC — Hardware video encoding (H.264, HEVC, AV1)
- NVDEC — Hardware video decoding (H.264, HEVC, VP9, AV1)
- CUDA — General-purpose GPU compute (HDR tone mapping, AI inference)
- Resizable BAR — Full GPU memory mapping for PCIe transfers