Xorg won't start with officially supported NVIDIA 5070 GPU?

I'm trying to get a rather recent NVIDIA RTX 5070 Ti to work with Xorg. Both the official tar.gz from NVIDIA and FreeBSD pkg and ports point to the same binary (570.124.04). They claim that the device is supported.

Installing the driver from pkg, ports or with NVIDIA's tarball produces the same result. All I get is a blank screen with a small white square on the top, xorg takes 100% of one thread, the system becomes totally irresponsive, I can't even change to another tty. Trying to unload the driver, stop Xorg, or reboot through ssh connection also hangs on forever.

freebsd-version -kru
14.2-RELEASE-p1
14.2-RELEASE-p1
14.2-RELEASE-p3


Xorg.0.log seems unsuspiciously clean:
Code:
14.552] (--) Log file renamed from "/var/log/Xorg.pid-98335.log" to "/var/log/Xorg.0.log"
[    14.554]
X.Org X Server 1.21.1.16
X Protocol Version 11, Revision 0
[    14.554] Current Operating System: FreeBSD quasar.stormriders.local 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
[    14.554]
[    14.554] Current version of pixman: 0.44.2
[    14.554]     Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[    14.554] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    14.554] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Apr 25 15:33:50 2025
[    14.555] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
[    14.555] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
[    14.555] (==) No Layout section.  Using the first Screen section.
[    14.555] (==) No screen section available. Using defaults.
[    14.555] (**) |-->Screen "Default Screen Section" (0)
[    14.555] (**) |   |-->Monitor "<default monitor>"
[    14.556] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[    14.556] (**) |   |-->Device "NVIDIA GeForce RTX 5070 Ti"
[    14.556] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[    14.556] (**) Allowing byte-swapped clients
[    14.556] (==) Automatically adding devices
[    14.556] (==) Automatically enabling devices
[    14.556] (==) Automatically adding GPU devices
[    14.556] (==) Automatically binding GPU devices
[    14.556] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    14.559] (==) FontPath set to:
    /usr/local/share/fonts/misc/,
    /usr/local/share/fonts/TTF/,
    /usr/local/share/fonts/OTF/,
    /usr/local/share/fonts/Type1/,
    /usr/local/share/fonts/100dpi/,
    /usr/local/share/fonts/75dpi/,
    catalogue:/usr/local/etc/X11/fontpath.d
[    14.559] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[    14.559] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[    14.559] (II) Module ABI versions:
[    14.559]     X.Org ANSI C Emulation: 0.4
[    14.559]     X.Org Video Driver: 25.2
[    14.559]     X.Org XInput driver : 24.4
[    14.559]     X.Org Server Extension : 10.0
[    14.561] (--) PCI:*(1@0:0:0) *:*:*:* rev 161, Mem @ 0xf0000000/67108864, 0xf800000000/17179869184, 0xfc00000000/33554432, I/O @ 0x0000f000/128, BIOS @ 0x????????/65536
[    14.561] (II) LoadModule: "glx"
[    14.561] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[    14.569] (II) Module glx: vendor="X.Org Foundation"
[    14.569]     compiled for 1.21.1.16, module version = 1.0.0
[    14.569]     ABI class: X.Org Server Extension, version 10.0
[    14.569] (II) LoadModule: "nvidia"
[    14.569] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[    14.573] (II) Module nvidia: vendor="NVIDIA Corporation"
[    14.573]     compiled for 1.6.99.901, module version = 1.0.0
[    14.573]     Module class: X.Org Video Driver
[    14.574] (II) NVIDIA dlloader X Driver  570.144  Thu Apr 10 20:05:19 UTC 2025
[    14.574] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    14.574] (--) Using syscons driver with X support (version 2.0)
[    14.574] (++) using VT number 9

[    14.580] (II) Loading sub module "fb"
[    14.580] (II) LoadModule: "fb"
[    14.580] (II) Module "fb" already built-in
[    14.580] (II) Loading sub module "wfb"
[    14.580] (II) LoadModule: "wfb"
[    14.580] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[    14.580] (II) Module wfb: vendor="X.Org Foundation"
[    14.580]     compiled for 1.21.1.16, module version = 1.0.0
[    14.581]     ABI class: X.Org ANSI C Emulation, version 0.4
[    14.581] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    14.581] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[    14.581] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[    14.581] (==) NVIDIA(0): RGB weight 888
[    14.581] (==) NVIDIA(0): Default visual is TrueColor
[    14.581] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    14.581] (**) NVIDIA(0): Enabling 2D acceleration
[    14.581] (II) Loading sub module "glxserver_nvidia"
[    14.581] (II) LoadModule: "glxserver_nvidia"
[    14.581] (II) Loading /usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so
[    14.667] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[    14.667]     compiled for 1.6.99.901, module version = 1.0.0
[    14.667]     Module class: X.Org Server Extension
[    14.667] (II) NVIDIA GLX Module  570.124  Thu Apr 10 20:07:58 UTC 2025
[    14.667] (II) NVIDIA: The X server supports PRIME Render Offload.

With a nvidia-driver.conf for xorg:
Code:
❱ cat /usr/local/etc/X11/xorg.conf.d/nvidia-driver.conf
Section "Device"
        Identifier "NVIDIA GeForce RTX 5070 Ti"
        VendorName "NVIDIA Corporation"
        Driver     "nvidia"
EndSection

Nothing relevant on dmesg neither.
 
Last edited:
Your log is truncated, right? And can I assume GeForce RTX 5070 Ti is your only GPU that is connected to any display? (Means, output from your iGPU in your CPU doesn't connected to any display.)

And
Nothing relevant on dmesg neither.
strongly suggests that you've not loaded required kernel module(s).

How do you load /boot/modules/nvidia-modeset.ko?

If you don't, add nvidia-modeset to kld_list variable in your /etc/rc.conf[.local].
Or if you're loading it via /boot/loader.conf, don't. Switch to loading via /etc/rc.conf[.local].

Anyway, restarting your computer is needed.

FYI: For me, dmesg contains below related to nvidia Quadro P1000 (notebook) in my ThinkPad P52 (iGPU is disabled via UEFI firmware).

Code:
   (snip)
nvidia0: <Quadro P1000> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  575.51.02  Thu Apr 10 15:48:49 UTC 2025

   (snip)

[drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
ACPI Warning: \134_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20221020/nsarguments-212)
[drm] Initialized nvidia-drm 0.0.0 20160202 for nvidia0 on minor 0
   (snip)

Note that I'm using graphics/nvidia-drm-61-kmod, too, for sane auto-configuration until I've once tried Wayland bedore (and now sticking with X11).

And my /var/log/Xorg.0.log contains below (UUID is intentionally hidden) related with my nvidia GPU.

Code:
   (snip)
[  1125.817] (II) xfree86: Adding drm device (/dev/dri/card0)
[  1125.817] (II) Platform probe for /dev/dri/card0
[  1126.950] (**) OutputClass "nvidia" ModulePath extended to "/usr/local/lib/nvidia/xorg,/usr/local/lib/xorg/modules,/usr/local/lib/xorg/modules"
[  1126.950] (**) OutputClass "nvidia" setting /dev/dri/card0 as PrimaryGPU
[  1126.950] (--) PCI:*(1@0:0:0) ****:****:****:**** rev 161, Mem @ 0xa3000000/16777216, 0x60000000/268435456, 0x70000000/33554432, I/O @ 0x00002000/128, BIOS @ 0x????????/65536

   (snip)

[  1126.957] (II) Applying OutputClass "nvidia" to /dev/dri/card0
[  1126.957]     loading driver: nvidia
[  1126.957] (==) Matched nvidia as autoconfigured driver 0
[  1126.957] (==) Matched nv as autoconfigured driver 1
[  1126.957] (==) Matched modesetting as autoconfigured driver 2
[  1126.957] (==) Matched scfb as autoconfigured driver 3
[  1126.957] (==) Matched vesa as autoconfigured driver 4
[  1126.957] (==) Assigned the driver to the xf86ConfigLayout
[  1126.957] (II) LoadModule: "nvidia"
[  1126.957] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[  1126.960] (II) Module nvidia: vendor="NVIDIA Corporation"
[  1126.960]     compiled for 1.6.99.901, module version = 1.0.0
[  1126.960]     Module class: X.Org Video Driver

   (snip)

[  1126.961] (II) LoadModule: "modesetting"
[  1126.961] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
[  1126.963] (II) Module modesetting: vendor="X.Org Foundation"
[  1126.963]     compiled for 1.21.1.16, module version = 1.21.1
[  1126.963]     Module class: X.Org Video Driver
[  1126.963]     ABI class: X.Org Video Driver, version 25.2

   (snip)

[  1126.966] (II) NVIDIA dlloader X Driver  570.144  Thu Apr 10 20:05:19 UTC 2025
[  1126.966] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[  1126.966] (II) modesetting: Driver for Modesetting Kernel Drivers: kms

   (snip)

[  1126.971] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  1126.971] (II) NVIDIA(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 24/32
[  1126.971] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[  1126.971] (==) NVIDIA(0): RGB weight 888
[  1126.971] (==) NVIDIA(0): Default visual is TrueColor
[  1126.971] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[  1126.971] (II) Applying OutputClass "nvidia" options to /dev/dri/card0
[  1126.972] (**) NVIDIA(0): Enabling 2D acceleration
[  1126.972] (II) Loading sub module "glxserver_nvidia"
[  1126.972] (II) LoadModule: "glxserver_nvidia"
[  1126.972] (II) Loading /usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so
[  1127.033] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[  1127.033]     compiled for 1.6.99.901, module version = 1.0.0
[  1127.033]     Module class: X.Org Server Extension
[  1127.033] (II) NVIDIA GLX Module  570.144  Thu Apr 10 20:07:58 UTC 2025
[  1127.033] (II) NVIDIA: The X server supports PRIME Render Offload.
[  1127.034] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[  1127.034] (--) NVIDIA(0):     DFP-0
[  1127.034] (--) NVIDIA(0):     DFP-1
[  1127.034] (--) NVIDIA(0):     DFP-2
[  1127.034] (--) NVIDIA(0):     DFP-3 (boot)
[  1127.034] (--) NVIDIA(0):     DFP-4
[  1127.034] (--) NVIDIA(0):     DFP-5
[  1127.036] (II) NVIDIA(0): NVIDIA GPU Quadro P1000 (GP107GL-A) at PCI:1:0:0 (GPU-0)
[  1127.036] (--) NVIDIA(0): Memory: 4194304 kBytes
[  1127.036] (--) NVIDIA(0): VideoBIOS: 86.07.63.00.76
[  1127.036] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[  1127.036] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1127.036] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1127.036] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1127.036] (--) NVIDIA(GPU-0):
[  1127.036] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1127.036] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1127.036] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1127.036] (--) NVIDIA(GPU-0):
[  1127.036] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1127.036] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1127.036] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1127.036] (--) NVIDIA(GPU-0):
[  1127.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1127.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1127.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1127.036] (--) NVIDIA(GPU-0):
[  1127.036] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1127.036] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1127.036] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1127.036] (--) NVIDIA(GPU-0):
[  1127.037] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1127.037] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1127.037] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1127.037] (--) NVIDIA(GPU-0):
[  1127.039] (==) NVIDIA(0):
[  1127.039] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[  1127.039] (==) NVIDIA(0):     will be used as the requested mode.
[  1127.039] (==) NVIDIA(0):
[  1127.040] (II) NVIDIA(0): Validated MetaModes:
[  1127.040] (II) NVIDIA(0):     "DFP-3:nvidia-auto-select"
[  1127.040] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
[  1127.046] (--) NVIDIA(0): DPI set to (286, 288); computed from "UseEdidDpi" X config
[  1127.046] (--) NVIDIA(0):     option
[  1127.046] (II) UnloadModule: "modesetting"
[  1127.046] (II) Unloading modesetting
[  1127.046] (II) UnloadModule: "scfb"
[  1127.046] (II) Unloading scfb
[  1127.046] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[  1127.046] (II) NVIDIA:     access.
[  1127.077] (II) NVIDIA(0): Setting mode "DFP-3:nvidia-auto-select"
[  1128.213] (==) NVIDIA(0): Disabling shared memory pixmaps
[  1128.213] (==) NVIDIA(0): Backing store enabled
[  1128.213] (==) NVIDIA(0): Silken mouse enabled
[  1128.214] (==) NVIDIA(0): DPMS enabled
[  1128.214] (WW) NVIDIA(0): Option "PrimaryGPU" is not used
[  1128.214] (II) Loading sub module "dri2"
[  1128.214] (II) LoadModule: "dri2"
[  1128.214] (II) Module "dri2" already built-in
[  1128.214] (II) NVIDIA(0): [DRI2] Setup complete
[  1128.214] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia

   (snip)

[  1128.221] (II) Initializing extension DRI2
[  1128.221] (II) Initializing extension NV-GLX
[  1128.221] (II) Initializing extension NV-CONTROL

   (snip)

[  1130.035] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1130.035] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1130.035] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1130.035] (--) NVIDIA(GPU-0):
[  1130.035] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1130.035] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1130.035] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1130.035] (--) NVIDIA(GPU-0):
[  1130.035] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1130.035] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1130.035] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1130.035] (--) NVIDIA(GPU-0):
[  1130.035] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1130.035] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1130.035] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1130.035] (--) NVIDIA(GPU-0):
[  1130.035] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1130.035] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1130.035] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1130.035] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1130.036] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1130.036] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1130.036] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1130.036] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1130.036] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1130.036] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1130.036] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1130.036] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1130.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1130.036] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.036] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1130.036] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1130.036] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1130.036] (--) NVIDIA(GPU-0):
[  1130.037] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1130.037] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1130.037] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1130.037] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1130.038] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1130.038] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1130.038] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1130.038] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1130.038] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1130.038] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1130.038] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1130.038] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1130.038] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1130.038] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.038] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1130.038] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1130.038] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1130.038] (--) NVIDIA(GPU-0):
[  1130.919] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1130.919] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1130.919] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1130.919] (--) NVIDIA(GPU-0):
[  1130.919] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1130.919] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1130.919] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1130.919] (--) NVIDIA(GPU-0):
[  1130.919] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1130.919] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1130.919] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1130.919] (--) NVIDIA(GPU-0):
[  1130.919] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1130.919] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1130.919] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1130.919] (--) NVIDIA(GPU-0):
[  1130.919] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1130.919] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1130.919] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1130.919] (--) NVIDIA(GPU-0):
[  1130.920] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1130.920] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1130.920] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1130.920] (--) NVIDIA(GPU-0):
[  1131.902] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1131.902] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1131.902] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1131.902] (--) NVIDIA(GPU-0):
[  1131.902] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1131.902] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[  1131.902] (--) NVIDIA(GPU-0): DFP-1: 1440.0 MHz maximum pixel clock
[  1131.902] (--) NVIDIA(GPU-0):
[  1131.902] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  1131.902] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[  1131.902] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[  1131.902] (--) NVIDIA(GPU-0):
[  1131.902] (--) NVIDIA(GPU-0): Sharp (DFP-3): connected
[  1131.902] (--) NVIDIA(GPU-0): Sharp (DFP-3): Internal DisplayPort
[  1131.902] (--) NVIDIA(GPU-0): Sharp (DFP-3): 1440.0 MHz maximum pixel clock
[  1131.902] (--) NVIDIA(GPU-0):
[  1131.902] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1131.902] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1131.902] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1131.902] (--) NVIDIA(GPU-0):
[  1131.903] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1131.903] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1131.903] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1131.903] (--) NVIDIA(GPU-0):

   (snip)
 
The log is not truncated!
The iGPU is disabled at the bios, so indeed it's the only GPU.
When I say nothing relevant on dmesg, I meant like errors, warnings, as far as I can tell:

Code:
nvidia0: <NVIDIA GeForce RTX 5070 Ti> on vgapci0
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  570.144  Thu Apr 10 20:02:29 UTC 2025

Modules are being loaded through rc.conf, nothing on loader.conf.

I have
Code:
kld_list="linux linux64 fusefs if_tuntap if_bridge nmdm hgame nullfs nvidia nvidia-modeset"
and kldstat reports
Code:
24    2 0xffffffff83600000  531ace8 nvidia.ko
25    1 0xffffffff8891b000   1507d8 nvidia-modeset.ko
 
You need only nvidia-modeset, not nvidia and nvidia-modeset. "nvidia" is for older gpus/ drivers.


The nvidia driver must be used if the packages x11/nvidia-driver-304 or x11/nvidia-driver-340 have been installed.

Try to add bus id to nvidia conf file as well.
 
You need only nvidia-modeset, not nvidia and nvidia-modeset. "nvidia" is for older gpus/ drivers.
Precisely, nvidia-modeset.ko depends on nvidia.ko and auto-loads it.
nvidia.ko is the actual driver but do not have modesetting interface.
nvidia-modeset.ko is the modesetting-interface for nvidia.ko.

But possibly, intentionally loading nvidia.ko before nvidia-modeset.ko could cause old interface to be exposed first, thus, modesetting interface could be ignored (masked). Not 100% sure, though.
 
Precisely, nvidia-modeset.ko depends on nvidia.ko and auto-loads it.
nvidia.ko is the actual driver but do not have modesetting interface.
nvidia-modeset.ko is the modesetting-interface for nvidia.ko.

But possibly, intentionally loading nvidia.ko before nvidia-modeset.ko could cause old interface to be exposed first, thus, modesetting interface could be ignored (masked). Not 100% sure, though.
Maybe, i dont know exact procedures and loading but FreeBSD Hanbook stated this:
nvidia.png

So this is why i wrote what i wrote :)
So in short - u use nvidia-modeset only. unless these drivers. ?
 
When I say nothing relevant on dmesg, I meant like errors, warnings, as far as I can tell:
It's usually OK, but not always.
Because when X11 (xorg) crashes or hangs related with GPU, screen could affecting.

And I noticed I've not yet know your ports tree branch.
Is your tree on main (aka latest) or on 2025Q2?

If you're on 2025Q2 (2025Q1 doesn't have 570.124.04), it lacks important commits landed on main branch only for your quite new GPU, reported AFTER 2025Q2 is branched. So as upstream tarball.

If so, try setting hw.nvidia.registry.EnableGpuFirmware=0 to your loader.conf and restart.
Setting this via sysctl.conf could result in racy behavior.

Honestly, main branch (currently) has a bit more aggressive patch that requires rebuilds at commit 9c0e0196bdc6.

Patch to upgrade to 570.144 (actually allows overriding to 575.51.02 Beta driver, too, with it applied) is under review at Differential revision D49982.
But for both version, upstream tarball still doesn't have the change incorporated.
 
Maybe, i dont know exact procedures and loading but FreeBSD Hanbook stated this:
View attachment 22423
So this is why i wrote what i wrote :)
So in short - u use nvidia-modeset only. unless these drivers. ?
Yes, those legacy drivers do not yet have nvidia-modeset.ko.
In later versions, which has nvidia-modeset.ko, you don't need to specify nvidia.ko to be loaded manually, as nvidia-modeset.ko automatically load it.

Not actually sure (as I've started to work on x11/nvidia-driver later, ports side only), but possibly "nvidia.ko is loaded LATER" could be important for nvidia-modeset.ko to properly wrap around the ABI.
 
You need only nvidia-modeset, not nvidia and nvidia-modeset. "nvidia" is for older gpus/ drivers.


The nvidia driver must be used if the packages x11/nvidia-driver-304 or x11/nvidia-driver-340 have been installed.

Try to add bus id to nvidia conf file as well.
It doesn't help.

Code:
❱ pciconf -lv | grep -B3 display
vgapci0@pci0:1:0:0:    class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x2c05 subvendor=0x1458 subdevice=0x4183
    vendor     = 'NVIDIA Corporation'
    device     = 'GB203 [GeForce RTX 5070 Ti]'
    class      = display

Code:
Section "Device"
        Identifier "NVIDIA GeForce RTX 5070 Ti"
        VendorName "NVIDIA Corporation"
        Driver       "nvidia"
        BusID      "pci0:1:0:0"
EndSection
 
It's usually OK, but not always.
Because when X11 (xorg) crashes or hangs related with GPU, screen could affecting.

And I noticed I've not yet know your ports tree branch.
Is your tree on main (aka latest) or on 2025Q2?

If you're on 2025Q2 (2025Q1 doesn't have 570.124.04), it lacks important commits landed on main branch only for your quite new GPU, reported AFTER 2025Q2 is branched. So as upstream tarball.

If so, try setting hw.nvidia.registry.EnableGpuFirmware=0 to your loader.conf and restart.
Setting this via sysctl.conf could result in racy behavior.

Honestly, main branch (currently) has a bit more aggressive patch that requires rebuilds at commit 9c0e0196bdc6.

Patch to upgrade to 570.144 (actually allows overriding to 575.51.02 Beta driver, too, with it applied) is under review at Differential revision D49982.
But for both version, upstream tarball still doesn't have the change incorporated.
I'm on latest.

This is interesting though, because without hw.nvidia.registry.EnableGpuFirmware=0 on the upstream NVIDIA tarball 570.144, it works. Putting it back, gives me a blank screen.

So I guess the solution is using the NVIDIA tarball for now, waiting for the commit?
 
I'm on latest.

This is interesting though, because without hw.nvidia.registry.EnableGpuFirmware=0 on the upstream NVIDIA tarball 570.144, it works. Putting it back, gives me a blank screen.

So I guess the solution is using the NVIDIA tarball for now, waiting for the commit?
So what happenes if you intentionally set hw.nvidia.registry.EnableGpuFirmware=1 for driver built with ports?
Does it work? This intentionally enables GSP firmware disabled by default in ports to workaround suspend/resume issues for GPUs having GSP (GPU system processor that Turing and later generations have).

Possibly, you need to revert the already-mentioned commit.
 
So what happenes if you intentionally set hw.nvidia.registry.EnableGpuFirmware=1 for driver built with ports?
Does it work? This intentionally enables GSP firmware disabled by default in ports to workaround suspend/resume issues for GPUs having GSP (GPU system processor that Turing and later generations have).

Possibly, you need to revert the already-mentioned commit.
Setting the tunable as suggested has no effect, but I guess that is expected since the commit simply sets it to FALSE.
I will revert, test and report back.
 
Setting the tunable as suggested has no effect, but I guess that is expected since the commit simply sets it to FALSE.
I will revert, test and report back.
Same, no success. The only drivers that works, are the NVIDIA tarballs 570.133 and 570.144. I am currently on the 570.144, seems stable enough to give me a working desktop. 3D acceleration seems to be lacking though, I had to completely disable compositing, and some GL apps can freeze the system. I'm headed to a rebuild of mesa libs from ports as it stands. Hopefully the official 570.144 port is coming soon enough.
 
So FYI:
Ongoing review on Phablicator for 570.144 (D49982).
If you want to try, you can download patch with clicking Actions button, then, selecting Download Raw Diff from opened pull down menu.
For browsing and download only, no need to create acccount. But need creating account if you want to leave comments (, update,...).

Note that this doesn't revert above-mentioned commit and possibly get some updates before it is accepted and lands.
 
So FYI:
Ongoing review on Phablicator for 570.144 (D49982).
If you want to try, you can download patch with clicking Actions button, then, selecting Download Raw Diff from opened pull down menu.
For browsing and download only, no need to create acccount. But need creating account if you want to leave comments (, update,...).

Note that this doesn't revert above-mentioned commit and possibly get some updates before it is accepted and lands.
I'll mark it as solved, thanks for your help!
 
It turns out I was too optimistic...same result as before. I'm back on the official NVIDIA tarball 570.144 on X11.

I applied the patch, recompiled all packages, reconfigured accordingly:

rc.conf
kld_list=+ nvidia-drm nvidia-modeset
loader.conf
hw.nvidiadrm.modeset=1

The system hangs at boot. Here is a picture:
IMG_6935.JPEG



What else can I try?
 
You seem to have any of graphics/nvidia-drm-*-kmod installed.

Which one did you install? As all of (conflinitng) graphics/nvidia-drm-[510|515|61|66]-kmod install their kernel module as /boot/modules/nvidia-drm.ko, thus, conflicts each other. And cannot determine which version you've installed via your screenshot.

If you installed it via graphics/nvidia-drm-kmod port (it's the wrapper port to choose which version to install regarding OSVERSION), it would automatically install graphics/nvidia-drm-61-kmod for 14.2.
graphics/nvidia-drm-66-kmod would be rejected (as it's currently only for main [aka 15-Current]).
graphics/nvidia-drm-510-kmod would be rejected, too, as its runtime dependency graphics/drm-510-kmod is no longer supported on 14.2 and higher.

In this forum, there's some users stating graphics/[nvidia-]drm-61-kmod doesn't work well but deinstalling it and install graphics/[nvidia-]drm-515-kmod instead helped.

If you want to use the patc at review D49982 but want to revert the commit that disables GSP firmware, you can comment out line 85 through 88 in x11/nvidia-driver/Makefile and rebuild / reinstall would do the job. This part is not modified by my patch, and any patch files in files/ directory of each ports having the filename starting from extra-patch- are never applied unless explicitly specified.
 
Just to make sure I understand the state correctly, it works for you with the raw NVIDIA tarballs but not through ports? It sounds like having GSP enabled is likely what's making the NVIDIA tarballs work, and because we disable it in ports that's why the pkg/port does not work.

Also if you are using X11 and only have the NVIDIA GPU enabled I would avoid installing nvidia-drm, you won't actually need it for that use case and it will reduce the scope to figure out what's happening with the base driver on your new card. Xorg usually does autoconfiguration these days when DRM is present, you might have to run nvidia-xconfig when nvidia-drm is removed for things to work.
 
Sorry, I wasn't specific enough:

I had initially compiled graphics/nvidia-drm-61-kmod and x11/nvidia-driver.

Tried again, this time graphics/nvidia-drm-515-kmod.

The system boots, but as soon as I try to start the login manager, or a desktop session from the command line, it crashes with kernel panic:
Code:
panic: drm_gem_plane_helper_prepare_fb() not implemented

View attachment 22442
The panic you encountered doesn't seem to be nvidia specific.
By quick googling with keywords "drm_gem_plane_helper_prepare_fb() freebsd", found 2 seemingly-related topics found.
And also, this page hits at the same time, including
Code:
[PFC PATCH 0/3] drm/virtio: synchronous guest framebuffer update
 2023-08-20 20:58 UTC  (4+ messages)
` [RFC PATCH 3/3] drm/virtio: drm_gem_plane_helper_prepare_fb for obj synchronization
Not sure from which Linux version Lnux kernel had the functionality, though.

And another developer I've asked opinion (just after my previous post) with the same email to ashafer kindly replied as follows:
Code:
Hmm, the boot hangs are particularly curious -- that may somehow be
related to how new the card is and whether it works well with or
without GSP as you have been working through.  It could also be
related to some kernel ABI issue, it's hard to know if the user is
getting an appropriate build with /usr/src sync'd with the running
kernel from what we have read so far.  This is particularly critical
for the drm driver where the KPIs are also changeable in the ports
build but it seems like he is using the nvidia-modeset driver only
which is generally less fragile but does still need a consistent KABI.

The overall erratic situation going on makes me wonder a bit about the
user's installation environment, particularly when they talk about the
GL issues.  I use poudriere for everything to build in a sandbox and
only manage my system with pkg.  But some people mix all sorts of ways
of building, and don't really understand the implications and it can
be impossible to understand the state of their system through
messaging.

In the first log blob it never enumerates any screens.  I'd suggest
maybe running 'nvidia-xconfig' and giving X and the driver a bit more
clue as to the configuration as a first step and see if it gets any
farther.. but it seems like he does eventually get a running Xserver
so I am not really sure what to make of that.

That is all my thoughts for now, you are welcome to relay them if you
want or if not I can go and find my forum credentials.

I've assumed you're pulling in /usr/src in sync with your running kernel, right? If not, try sync'ing again with releng/14.2 branch. The commit log indicates no kernel upgrades after -p1 patch release, so latest -p3 should be OK.
And as ashafer already mentioned, stop using nvidia-drm.ko and let x11/nvidia-xconfig to auto configure xorg would be worth trying when nvidia-drm.ko is NOT loaded.
At least, the panic you've encountered (instead of hangs) is related with DRM codes.
 
This may seem elaborate but, I found it rather difficult to get this graphics driver issue clear for myself; this also comes up quite regularly in the forums. Perhaps this is already known.

Using Nvidia graphics hardware and using Xorg, you can use either:
  1. 100 % Nvidia proprietory drivers:
    - as kernel module: /boot/modules/nvidia-modeset.ko*, contained in x11/nvidia-driver
    - as Xorg driver (proprietary Nvidia): /usr/local/lib/xorg/modules/drivers/nvidia_drv.so, also contained in x11/nvidia-driver
  2. mixed: open source driver and Nvidia proprietory driver:
    - as open source kernel module /boot/modules/nvidia-drm.ko, contained in graphics/nvidia-drm-61-kmod (or graphics/nvidia-drm-515-kmod), or the meta port graphics/nvidia-drm-kmod
    - as Xorg driver (proprietary Nvidia): /usr/local/lib/xorg/modules/drivers/nvidia_drv.so, contained in x11/nvidia-driver and also in graphics/nvidia-drm-61-kmod
The kernel modules are referenced in /etc/rc.conf:
  • kld-list="nvidia-modeset" for #1
  • kld-list="nvidia-drm"** for #2; must be accompanied/preceeded by hw.nvidiadrm.modeset=1 in /boot/loader.conf
Refer also to the descriptions in the package message, as in for example here.

The proprietary Nvidia Xorg driver /usr/local/lib/xorg/modules/drivers/nvidia_drv.so is referenced in an appropriate Xorg .conf file embedded in Section "Device" as in:
Rich (BB code):
        Driver       "nvidia"

For normal Xorg usage the Nvidia proprietary solution works well, usually. You may be experiencing problems because you are using a fairly new Nvidia graphics card.



The use of a mixed port like graphics/nvidia-drm-515-kmod, graphics/nvidia-drm-61-kmod (and graphics/nvidia-drm-66-kmod on -CURRENT) for Xorg-use is, as a general case, not necessary. You will also get these mixed drivers when building the meta port graphics/nvidia-drm-kmod; on 14.2-RELEASE this will result in building and installing graphics/nvidia-drm-61-kmod. The exception is using Wayland where you likely will need the mixed open source-Nvidia proprietary drivers.

Moreover, relating to the quote above, it seems you are in effect inter-mixing these two solutions:
  1. solely Nvidia proprietary drivers as in x11/nvidia-driver (this is not a meta port)
  2. mixed open source and Nvidia proprietary drivers as in graphics/nvidia-drm-kmod (meta port), graphics/nvidia-drm-515-kmod and graphics/nvidia-drm-61-kmod
It is unclear how such 'double mixing' affects a working graphics solution in your case; it doesn't help in debugging the issue either.

I suggest, as mentioned by T-Aoki and ashafer, that you do not use the mixed open source-proprietary option #2 and concentrate on the Nvidia proprietary drivers option #1: x11/nvidia-driver (or an original tarball from Nvidia if need be).

___
* this automatically chain loads /boot/modules/nvidia.ko when /boot/modules/nvidia-modeset.ko is kldloaded by specifying kld_list="nvidia-modeset" in /etc/rc.conf

** for some elaborate Wayland set ups, I believe, you may need both, that is: kld_list="nvidia-drm nvidia-modeset"
 
Just to make sure I understand the state correctly, it works for you with the raw NVIDIA tarballs but not through ports? It sounds like having GSP enabled is likely what's making the NVIDIA tarballs work, and because we disable it in ports that's why the pkg/port does not work.

Also if you are using X11 and only have the NVIDIA GPU enabled I would avoid installing nvidia-drm, you won't actually need it for that use case and it will reduce the scope to figure out what's happening with the base driver on your new card. Xorg usually does autoconfiguration these days when DRM is present, you might have to run nvidia-xconfig when nvidia-drm is removed for things to work.
Correct.

Here's the xorg configuration that I've been using since the beginning:
Code:
Section "Device"
        Identifier "NVIDIA GeForce RTX 5070 Ti"
        VendorName "NVIDIA Corporation"
        Driver       "nvidia"
        BusID      "PCI:1:0:0"
        Option     "TripleBuffer" "True"
        Option     "MetaModes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
EndSection
 
Back
Top