FreeBSD-14.2 / nvidia-driver-570 series: nvidia-smi freeze / xorg freeze on RTX 5080

Hi,
I cannot use my fresh new 5080 GPU because of a driver failure.
Behavior: while in console mode, after loading the nivida-modeset, trying nividia-smi just lead the process to freeze with 100% CPU usage (one thread). I can switch to another tty console and I have to reboot.
The nivdia-drm has the same trouble but in its case, the system itself freeze completly.

Some information on the environment:
Base Board Information
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: PRIME Z790-A WIFI

CPU: i9-14900KF (no iGPU)
GPU: ZOTAC GAMING GeForce RTX 5080 AMP Extreme INFINITY ZT-B50800B-10P [PCIExp 16GB]

OS: FreeBSD-14.2-RELEASE.p2

Module:
nvidia-driver-570.124.04_2
Name : nvidia-driver
Version : 570.124.04_2
Installed on : Wed Apr 23 12:21:41 2025 JST
Origin : x11/nvidia-driver
Architecture : FreeBSD:14:amd64
Prefix : /usr/local
Categories : x11 kld
Licenses : NVIDIA
Maintainer : x11@FreeBSD.org
WWW : Unix Drivers | NVIDIA
Comment : NVidia graphics card binary drivers for hardware OpenGL rendering
Options :
ACPI_PM : off
DOCS : on
LINUX : on
WBINVD : off

Sysctl Info from nvidia-modeset:
hw.nvidia.gpus.0.type: PCIe
hw.nvidia.gpus.0.uuid: GPU-498e7491-0f7d-3961-7db5-227d5993f19a
hw.nvidia.gpus.0.firmware:
hw.nvidia.gpus.0.vbios: ??.??.??.??.??
hw.nvidia.gpus.0.irq: 16
hw.nvidia.gpus.0.model: NVIDIA GeForce RTX 5080
hw.nvidia.registry.dwords:
hw.nvidia.registry.GrdmaPciTopoCheckOverride: 0
hw.nvidia.registry.CreateImexChannel0: 0
hw.nvidia.registry.ImexChannelCount: 2048
hw.nvidia.registry.DmaRemapPeerMmio: 1
hw.nvidia.registry.OpenRmEnableUnsupportedGpus: 1
hw.nvidia.registry.EnableDbgBreakpoint: 0
hw.nvidia.registry.RmNvlinkBandwidthLinkCount: 0
hw.nvidia.registry.EnableGpuFirmwareLogs: 2
hw.nvidia.registry.EnableGpuFirmware: 18
hw.nvidia.registry.EnableResizableBar: 0
hw.nvidia.registry.EnablePCIERelaxedOrderingMode: 0
hw.nvidia.registry.RegisterPCIDriver: 1
hw.nvidia.registry.DynamicPowerManagementVideoMemoryThreshold: 200
hw.nvidia.registry.DynamicPowerManagement: 3
hw.nvidia.registry.S0ixPowerManagementVideoMemoryThreshold: 256
hw.nvidia.registry.EnableS0ixPowerManagement: 0
hw.nvidia.registry.PreserveVideoMemoryAllocations: 0
hw.nvidia.registry.RmProfilingAdminOnly: 1
hw.nvidia.registry.NvLinkDisable: 0
hw.nvidia.registry.EnableUserNUMAManagement: 1
hw.nvidia.registry.EnableStreamMemOPs: 0
hw.nvidia.registry.IgnoreMMIOCheck: 0
hw.nvidia.registry.VMallocHeapMaxSize: 0
hw.nvidia.registry.KMallocHeapMaxSize: 0
hw.nvidia.registry.MemoryPoolSize: 0
hw.nvidia.registry.EnablePCIeGen3: 0
hw.nvidia.registry.EnableMSI: 1
hw.nvidia.registry.UsePageAttributeTable: 4294967295
hw.nvidia.registry.InitializeSystemMemoryAllocations: 1
hw.nvidia.registry.DeviceFileMode: 438
hw.nvidia.registry.DeviceFileGID: 0
hw.nvidia.registry.DeviceFileUID: 0
hw.nvidia.registry.ModifyDeviceFiles: 1
hw.nvidia.registry.RmLogonRC: 1
hw.nvidia.registry.ResmanDebugLevel: 4294967295
hw.nvidia.version: NVIDIA UNIX x86_64 Kernel Module 570.124.04 Tue Feb 25 04:12:12 UTC 2025

Could we expect some workaround about this issue ?
Thank you for your support,

EDIT: I tried an RTX 3050 (same pcie slot) with the 570.124.04_2 driver above and nvidia-smi works and recognize the board, Xorg works but with a black screen (.xinitrc with minimal configuration with twm and xterm). I was able to switch back to the tty, and back to Xorg still with a black screen. The 535 driver works without any issue with the 3050. Now wonder if this issue has any interest for the nvidia staff, but I have to say to BSD users to not buy any 50 series until something useable and stable… Thank you in advance for any comment that could show you are alive. BR

Hi there,

Have you tried updating the driver to the latest 570.153? It won’t solve all the issues, but at least you will be able to get a working X11 session, with some fiddling around xorg.conf, and making sure that ALL 3D acceleration is disabled, including firefox, chromium, compositing or any other hardware acceleration.

I’m on i3 and this is my xorg.conf section, it might also work for you:

Section "Device"
        Identifier "NVIDIA GeForce RTX 5070 Ti"
        VendorName "NVIDIA Corporation"
        Driver 	  "nvidia"
	BusID      "PCI:1:0:0"
        
	Option     "MetaModes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
	
	Option     "RegistryDwords" "EnableBrightnessControl=1"
	Option     "AddARGBGLXVisuals" "True"
	Option     "UBB" "True"
        
	Option     "Overlay" "True"
	
	Option     "Accel"   "True"
	
	Option     "RenderAccel" "True"
	Option     "TripleBuffer" "True"
	
	Option     "AllowGLXWithComposite" "True"
	Option     "AllowEmptyInitialConfiguration" "True"
	Option	  "Coolbits" "28"
EndSection

Again, make sure you have no Compositor running.

Thank you very much for your help ; I will try that and will give a feedback.

For 5000s series cards you will need to enable GSP firmware, which from your sysctl dump does not seem to be the case. I would set the following in your /boot/loader.conf

hw.nvidiadrm.fbdev=0
hw.nvidiadrm.modeset=1
hw.nvidia.registry.EnableGpuFirmware=1

If you installed through the FreeBSD ports systems there will be some defaults set, most relevant being EnableGpuFirmware is set to disabled. Please try with the above and reboot, let me know if you continue to see the freeze.

To clarify, you’ll want the latest package version or at a minimum version 570.124.04_4 (revision number 4, which includes ⚙ D50053 x11/nvidia-driver: Fix too aggressive disabling of GSP firmware) for you to properly be able to override hw.nvidia.registry.EnableGpuFirmware. You’re on revision 2 which fully disabled GSP and ignored the sysctl.

Just an update: We shipped a fix in r580 for MSI interrupt usage which is what resolved this issue for most users. We are currently working on a fix for INTX interrupt support on blackwell.