Fangtooth 25.04 - (nvidia-tesla-470-driver) nvidia-tesla-470-kernel-dkms fails to build

I bought a Telsa K80 for Frigate (NVR) and want to get it running in docker.
I ran install-dev-tools and added the nvidia-container-toolkit repo.

After rebooting I ran apt install nvidia-tesla-470-driver, however I can’t get the driver to finish the kernel build process :confused:

Error! Bad return status for module build on kernel: 6.12.15-production+truenas (x86_64)
Consult /var/lib/dkms/nvidia-tesla-470/470.256.02/build/make.log for more information.
dpkg: error processing package nvidia-tesla-470-kernel-dkms (–configure):
installed nvidia-tesla-470-kernel-dkms package post-installation script subprocess returned error exit status 10

make.log

make[3]: *** [scripts/Makefile.build:229: /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia/os-mlock.o] Error 1
make[2]: *** [/usr/src/linux-headers-truenas-production-amd64/Makefile:1940: /var/lib/dkms/nvidia-tesla-470/470.256.02/build] Error 2
make[1]: *** [Makefile:227: __sub-make] Error 2
make: *** [Makefile:80: modules] Error 2

Hoping someone can point me in a new direction.

Simple answer: you can’t install drivers yourself. Truenas is designed as an appliance os not a generic linux distro. If you want to install software on the base os you’d have to enable developer mode, but be warned installing software yourself may break the truenas middleware and completly bork your install. iX doesn’t accept bug reports from systems with enabled developer mode unless you can reproduce the error on a clean system.

Thanks @LarsR,

Yes I enabled developer mode, and I understand the limitations there and that this is meant to be an appliance. It’s just frustrating that an otherwise still perfectly good and working GPU can’t be setup more easily. I can get it to work in a bare install of Debian 12, so why not in TrueNas :thinking: … I don’t need or want a fancy new $1000+ GPU just for NVR.

I got it working enough where I can see the GPU for VM/Container use (incus now I think) but it won’t work in Docker, which I need for Frigate :confused:
Nesting another docker instance in a VM just for this seems kinda dumb when Docker is already available right on the host.

I’ll search for a more compatible GPU and see what turns up I guess. I thought a K80 would have still been good enough, I liked that it had 24 GB and 2 different chips on the card for more flexibility on what I could use it for.

Update on progress…

I found this thread/post https://www.linuxquestions.org/questions/showthread.php?p=6535368, and that seems to have installed correctly without DKMS.

root@truenas:~# dmesg | grep -i nvidia
...
[   75.027807] nvidia-nvlink: Nvlink Core is being initialized, major device number 238
[   75.260665] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  470.256.02  Thu May  2 14:37:44 UTC 2024
[   75.300054] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  470.256.02  Thu May  2 14:50:40 UTC 2024
[   75.313137] [drm] [nvidia-drm] [GPU ID 0x00008400] Loading driver
[   78.377248] nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
[   78.377395] [drm] Initialized nvidia-drm 0.0.0 for 0000:84:00.0 on minor 1
[   78.377849] [drm] [nvidia-drm] [GPU ID 0x00008500] Loading driver
[   81.208620] nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
[   81.208798] [drm] Initialized nvidia-drm 0.0.0 for 0000:85:00.0 on minor 2
[  172.904723] audit: type=1400 audit(1748874963.380:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=10328 comm="apparmor_parser"
[  172.905619] audit: type=1400 audit(1748874963.380:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=10328 comm="apparmor_parser"

root@truenas:~# lspci | grep -i nvidia
84:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
85:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)

root@truenas:~# nvidia-smi
Mon Jun  2 10:36:31 2025       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02   Driver Version: 470.256.02   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla K80           Off  | 00000000:84:00.0 Off |                    0 |
| N/A   33C    P8    26W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K80           Off  | 00000000:85:00.0 Off |                    0 |
| N/A   26C    P8    30W / 149W |      0MiB / 11441MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+