Upgrading 15.1 to 15.2 with NVIDIA DRM/Wayland

I’m on FreeBSD 15.1-RELEASE-p3 with an NVIDIA RTX 2060. Plasma 6.7.5 Wayland is already working with nvidia-drm, drm-612-kmod, nvidia-drm-612-kmod, and seatd.
When FreeBSD 15.2 is released, is the expected upgrade path simply to follow the normal pkgbase upgrade procedure. and then update the matching 15.2 kernel modules from FreeBSD-ports-kmods?
In other words, assuming the 15.2 repositories provide properly built drm-*-kmod, nvidia-kmod, and nvidia-drm-*-kmod packages for 15.2, should there be no need to rebuild Wayland, Plasma, Xwayland, SDDM, or seatd from ports?
I only had to build the NVIDIA/DRM kmods manually on 15.1 because the available binary kmods were still built for 15.0. I’d like to confirm that this manual compilation should only be necessary again if the 15.2 kmod repository is unavailable or mismatched.
 
On 15.2-RELEASE released, 15.0 would have been EoL'ed and main ports repository for 15.* would be built aginst 15.1.

So unless the currently existing regression that NVIDIA related kmod ports are NOT built on kmod repo (building x11/nvidia-kmod alone), NVIDIA related kmods need to be built locally via ports on 15.2. But as far as I know, others would be fine using official pkgs.
 
It would be much easier if the 15.2 repositories provide matching drm-kmod, nvidia-kmod, and nvidia-drm-kmod packages for the FreeBSD 15.2 kernel ABI. In any case, I’ll verify the kmods before rebooting and rebuild them from ports if necessary.
 
If you have the system on ZFS, you can always make a boot environment. Then you can revert to what's working while you try to figure out what went wrong. As for Nvidia, I find that I frequently have to upgrade ports to the latest, then build the nvida-drm-kmod and nvidia-kmod. This is all within the 15.1 release,but I'd guess you'll have to do that when you upgrade. https://srobb.net/fbsdnvidia.html. I have an older card that uses the 580 nvidia drivers, I don't know if there's a difference with the newer cards.
 
Last edited:
T-Aoki, BTW, I think that the nvidia-driver vs nvidia-kmod problem could be solved if the former specified a run-time dependency on the latter and the dependency had the exactly same version number.
For that, we would also need to support "==" version specification in dependencies.
Something like:
Code:
RUN_DEPENDS=    nvidia-kmod${PKGNAMESUFFIX}==${PORTVERSION}:x11/nvidia-kmod${PKGNAMESUFFIX}
 
I was wondering the same thing

using poudriere for 15.1 i built the following

Code:
x11/nvidia-driver
graphics/nvidia-drm-66-kmod

So when 15.2 comes out what would be the plan of attack

create a boot env with bectl as a fallback

Code:
doas bectl create nividia-ports

log out of my window manager dwl to a tty

uninstall the poudriere versions

Code:
x11/nvidia-driver
graphics/nvidia-drm-66-kmod

perform the upgrade

Code:
doas pkg update
doas pkg upgrade

reboot

is that the general idea
 
Hmm... To do so, checking for ${OSVERSION} (added by Uses/kmod.mk) would also be needed to avoid upgrading to, i.e., *.1500* on 15.1-RELEASE.
Need digging into Mk/ to be 100% sure x.y.z to x.y+1.z or even to x.y+1 (dropping .z) or x.y to x.y+n.z with .${OSVERSION} added are sanely treated.
 
Back
Top