Pkg upgrade tries to install old nvidia packages

After having upgraded FreeBSD from 15 to 15.1 when 15.1 was released, for some reason when doing pkg upgrade, pkg tries to install old nvidia-drm-66-kmod: 595.91.07.1500068, while I already have a newer version installed for 15.1 kernel.

This is what I get when I run pkg upgrade:

Code:
The following 3 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
drm-66-kmod: 6.6.25.1501000_9 [FreeBSD-ports-kmods]
nvidia-drm-66-kmod: 595.91.07.1500068 [FreeBSD-ports]

Installed packages to be UPGRADED:
nvidia-drm-kmod: 595.84 -> 595.91.07 [FreeBSD-ports]
Number of packages to be installed: 2
Number of packages to be upgraded: 1

If I let it upgrade, the old packages will be installed and graphics drivers no longer work, i.e. the system will crash whenever I try to open a window manager. To fix this I have to deinstall everything and install the latest driver from ports. I've locked the nvidia-drm-kmod package, so I can upgrade the rest of the packages without problems.

Does anyone have any idea why pkg keeps offering to install a 1500068 package from a latest repo if I no longer have that kernel installed? That shouldn't be happening, right? Do I need to change the priorities in /usr/local/etc/pkg/repos/FreeBSD.conf or what am I missing?

This is what uname -KrU gives me:

15.1-RELEASE-p2 1501000 1501000

Here's /usr/local/etc/pkg/repos/FreeBSD.conf:

Code:
FreeBSD-ports: {
url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
priority: 0
}

FreeBSD-ports-kmods: {
url:"pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkg",
enabled: yes
priority: 10
}

FreeBSD-base: {
url:"pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkgbase-${VERSION_MAJOR}",
enabled: yes
priority: 5
}
 
But why a kernel module for 1500068, which is incompatible with 15.1 kernel? Pkg has been pushing those ever since I upgraded from 15 to 15.1 and I can't install a compatible nvidia-drm-kmod package with pkg. I only get a compatible installation for the right kernel from /usr/ports/graphics/nvidia-drm-kmod. Is there a setting somewhere that I have missed?
 
Same problem as posted here ..


pkg upgrade has no concept of what kernel is running during the package update/upgrade process and bases its upgrade choice purely on the package name being offered

So

595.91.07.1500068

is a higher number than

595.84...

It does not process the last section of the file name which indicates which kernel the module was built against (1500068) which does not match the kernel version you are running.

It's a massive fail with pkg and seems the developers aren't interested in fixing it.

Your only option to wait until a version of the module is offered that is built against the kernel you are running (or do what most of the posters in the linked thread would have you do and build your own package from ports..)
 
I'm too tired to answer this kind of questions...
Please search first before asking.

Currently kmod repo builder has a regression NOT to build NVIDIA related kmods other than x11/nvidia-kmod. So no official pkg for NVIDIA related kmod pkgs other than for x11/nvidia-kmod for non-oldest-supported-minor-version base are available.

So you need to build from ports using /usr/src/sys/ 100% in sync with running kernel. In your case, cloning releng/15.1 branch should be sufficient currently.

Simply searching "nvidia pkg" by: "T-Aoki" here in forums shows 4 relevant results in "first page" out of 7 pages.

 
Back
Top