Nvidia-drm under 15.1

Upgraded to 15.1-RELEASE.

Upgraded poudriere jail with poudriere jail -u -j 15amd64again and poudriere ports -u -p defaulttree.

Ran poudriere successfully for
Code:
graphics/drm-kmod
graphics/nvidia-drm-kmod
x11/nvidia-driver

kldload nvidia-drm

So should be using the right version!

Xorg -retro
Code:
X.Org X Server 1.21.1.23
X Protocol Version 11, Revision 0
Current Operating System: FreeBSD ochre.local.minium.com 15.1-RELEASE FreeBSD 15.1-RELEASE releng/15.1-n283562-96841ea08dcf GENERIC amd64
 
Current version of pixman: 0.46.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 22 14:05:56 2026
(==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
(EE) Segmentation fault at address 0x0
(EE) 
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
zsh: abort (core dumped)  Xorg -retro

cat /var/log/Xorg.0.log
Code:
[   743.857] 
X.Org X Server 1.21.1.23
X Protocol Version 11, Revision 0
[   743.857] Current Operating System: FreeBSD ochre.local.minium.com 15.1-RELEASE FreeBSD 15.1-RELEASE releng/15.1-n283562-96841ea08dcf GENERIC amd64
[   743.857]  
[   743.857] Current version of pixman: 0.46.2
[   743.857]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[   743.857] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   743.857] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 22 14:05:56 2026
[   743.857] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
 
[   743.857] (==) No Layout section.  Using the first Screen section.
[   743.857] (==) No screen section available. Using defaults.
[   743.857] (**) |-->Screen "Default Screen Section" (0)
[   743.857] (**) |   |-->Monitor "<default monitor>"
[   743.857] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[   743.857] (**) Allowing byte-swapped clients
[   743.857] (==) Automatically adding devices
[   743.857] (==) Automatically enabling devices
[   743.857] (==) Automatically adding GPU devices
[   743.857] (==) Automatically binding GPU devices
[   743.857] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   743.857] (==) 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
[   743.857] (==) ModulePath set to "/usr/local/lib/xorg/modules"
[   743.857] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[   743.857] (II) Module ABI versions:
[   743.857]    X.Org ANSI C Emulation: 0.4
[   743.857]    X.Org Video Driver: 25.2
[   743.857]    X.Org XInput driver : 24.4
[   743.857]    X.Org Server Extension : 10.0
[   743.929] (II) xfree86: Adding drm device (/dev/dri/card0)
[   743.929] (II) Platform probe for /dev/dri/card0
[   743.929] (EE) /dev/dri/card0: failed to query DRM version
[   743.930] (!!) More than one possible primary device found
[   743.930] (--) PCI: (4@0:0:0) 1a03:2000:15d9:1b28 rev 65, Mem @ 0x90000000/16777216, 0x91000000/131072, I/O @ 0x00003000/128, BIOS @ 0x????????/65536
[   743.930] (--) PCI: (83@0:0:0) 10de:25b2:10de:1879 rev 161, Mem @ 0xc2000000/16777216, 0xb0000000/268435456, 0xc0000000/33554432, I/O @ 0x00009000/128, BIOS @ 0x????????/65536
[   743.930] (II) LoadModule: "glx"
[   743.930] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[   743.932] (II) Module glx: vendor="X.Org Foundation"
[   743.932]    compiled for 1.21.1.23, module version = 1.0.0
[   743.932]    ABI class: X.Org Server Extension, version 10.0
[   743.932] (==) Matched nv as autoconfigured driver 0
[   743.932] (==) Matched modesetting as autoconfigured driver 1
[   743.932] (==) Matched scfb as autoconfigured driver 2
[   743.932] (==) Matched vesa as autoconfigured driver 3
[   743.932] (==) Assigned the driver to the xf86ConfigLayout
[   743.932] (II) LoadModule: "nv"
[   743.932] (WW) Warning, couldn't open module nv
[   743.932] (EE) Failed to load module "nv" (module does not exist, 0)
[   743.932] (II) LoadModule: "modesetting"
[   743.932] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
[   743.933] (II) Module modesetting: vendor="X.Org Foundation"
[   743.933]    compiled for 1.21.1.23, module version = 1.21.1
[   743.933]    Module class: X.Org Video Driver
[   743.933]    ABI class: X.Org Video Driver, version 25.2
[   743.933] (II) LoadModule: "scfb"
[   743.933] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
[   743.933] (II) Module scfb: vendor="X.Org Foundation"
[   743.933]    compiled for 1.21.1.20, module version = 0.0.5
[   743.933]    ABI class: X.Org Video Driver, version 25.2
[   743.933] (II) LoadModule: "vesa"
[   743.933] (II) Loading /usr/local/lib/xorg/modules/drivers/vesa_drv.so
[   743.934] (II) Module vesa: vendor="X.Org Foundation"
[   743.934]    compiled for 1.21.1.20, module version = 2.5.0
[   743.934]    Module class: X.Org Video Driver
[   743.934]    ABI class: X.Org Video Driver, version 25.2
[   743.934] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   743.934] (II) scfb: driver for wsdisplay framebuffer: scfb
[   743.934] (II) VESA: driver for VESA chipsets: vesa
[   743.934] (--) Using syscons driver with X support (version 2.0)
[   743.934] (--) using VT number 9

[   744.170] (EE) Segmentation fault at address 0x0
[   744.170] (EE) 
Fatal server error:
[   744.170] (EE) Caught signal 11 (Segmentation fault). Server aborting
[   744.170] (EE) 
[   744.170] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[   744.170] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   744.170] (EE) 
[   744.402] (EE) Server terminated with error (1). Closing log file.

pkg info nvidia-kmod
Code:
nvidia-kmod-595.84.1500068
Name           : nvidia-kmod
Version        : 595.84.1500068
Installed on   : Mon Jun 22 13:49:02 2026 +07
Origin         : x11/nvidia-kmod
Architecture   : FreeBSD:15:amd64
Prefix         : /usr/local
Categories     : kld x11
Licenses       : NVIDIA
Maintainer     : x11@FreeBSD.org
WWW            : https://www.nvidia.com/object/unix.html
Comment        : NVIDIA graphics driver kernel module
Options        :
        ACPI_PM        : on
        LINUX          : on
        WBINVD         : off
Annotations    :
        FreeBSD_version: 1500068
        build_timestamp: 2026-06-22T06:03:20+0000
        built_by       : poudriere-git-3.4.5
        port_checkout_unclean: no
        port_git_hash  : 2a7c0561200c6cf9d0c0252cd4a7ab446eca8e4a
        ports_top_checkout_unclean: yes
        ports_top_git_hash: 8851f4f9726881dad9974ce3feed52ce90163df6
        repo_type      : binary
        repository     : ochre
Flat size      : 201MiB
Description    :
These are the official NVidia binary drivers for hardware OpenGL rendering
in X11, using the GLX extensions.
This port is the kmods-only part.

pkg info nvidia-drm-kmod
Code:
nvidia-drm-kmod-595.84
Name           : nvidia-drm-kmod
Version        : 595.84
Installed on   : Mon Jun 22 13:49:04 2026 +07
Origin         : graphics/nvidia-drm-kmod
Architecture   : FreeBSD:15:*
Prefix         : /usr/local
Categories     : graphics kld
Licenses       : NA
Maintainer     : x11@FreeBSD.org
WWW            : https://www.nvidia.com/object/unix.html
Comment        : NVIDIA DRM kernel module
Annotations    :
        build_timestamp: 2026-06-22T06:39:53+0000
        built_by       : poudriere-git-3.4.5
        port_checkout_unclean: no
        port_git_hash  : e94bcef6b11d8e72392600b83d9a5b0de0a15fed
        ports_top_checkout_unclean: yes
        ports_top_git_hash: 8851f4f9726881dad9974ce3feed52ce90163df6
        repo_type      : binary
        repository     : ochre
Flat size      : 243B
Description    :
FreeBSD port of Linux's nvidia-drm.ko Kernel module.

Have I got anything wrong, or is it just not working?
 
Your poudriere jail is likely still 15.0.
Er yes.

poudriere jail -u does not upgrade through minor versions.

Got it working now. Ready to do a day long poudriere of everything.

And now it seems in general, upgrading Freebsd though minor versions is getting as convoluted as major versions.
 
Ah, never noticed that poudriere jail -u doesn't handle minor version upgrades automatically on distribution based runs, as I'm using locally built /usr/obj that is built against local src tree for updating poudriere.

I'm always tracking the latest stable branch (currently stable/15) and using source upgrading method, this allows my poudriere jail 100% match the bare-metal in single commit level.

And when switching stable branch (most recently, stable/14 to stable/15), I'm creating new poudriere jail for the new branch, and once everything goes fine, delete old jail to save SSD spaces.
 
You need to add -t if you want to upgrade the jail's version.

Code:
       -t version	Upgrade	the jail to the	specified version  instead  of
			upgrading to the latest	security fix.

I usually don't bother with version upgrades, just create a new jail with the new version. But I have to have repositories voor several different versions anyway. And I'm not able to upgrade all my systems in one go, so need repositories for the 'old' and 'new' versions while I work my way through upgrading everything.
 
Didn't seem much of an issue till the kmods started depending on minor versions.
Most kmod ports that are NOT depending on LinuxKPI could be said depending on minor versions.

But anything depending on LinuxKPI like graphics/drm-*-kmod and graphics/nvidia-drm-*-kmod* depends on even "single commit" to LinuxKPI.
This is why src tree used for building kmod ports depending on LinuxKPI and running kernel (including in-base kmods like LinuxKPI) is needed to be in exact, 100% in sync with single commit level to LinuxKPI.

Even for -p* patch releases, if the update contains any modification to LinuxKPI, kmod ports built against previous patch release could be broken on new patch release. Same is said in reverse.

In other words, if nothing is committed to LinuxKPI until previous and current patch release, the kmods built against previous patch release are expected to run on current patch release.

Always exceptions can happen, though, basic kernel module interfaces are expected to be kept binary compatible throuout single major releases.
LinuxKPI is clearly the exception.
 
Didn't seem much of an issue till the kmods started depending on minor versions.
Funny, I've dealt with this issue with every minor version for longer than you've been a member here, nothing's changed. The only thing that changed is an attempt to make things a bit better during that three month transition phase.

This has been a long standing problem with every new minor version release when the old minor version still needed to be supported.
 
Back
Top