Back to Homelab
services

NVIDIA GPU Driver

Identity

ServiceNVIDIA GPU Driver
Container Typesystemd
VMID
IP:Port

Host

HostJack

Network

VLANVLAN 10 — Production

Resources

vCPU
RAM
Disk
OS
Domain

Depends On

None

Depended On By

None

Overview

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

FieldValue
GPUNVIDIA GeForce RTX 3070 (GA104, 8GB GDDR6)
Driver580.126.18 (Long-Term Support Branch)
CUDA13.0
Kernel ModulesOpen (MIT/GPL)
Install MethodNVIDIA .run installer with DKMS
Persistencenvidia-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