Page MenuHomeFreeBSD

x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm
ClosedPublic

Authored by ashafer_badland.io on May 19 2023, 9:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 5, 11:59 PM
Unknown Object (File)
Thu, May 2, 5:50 AM
Unknown Object (File)
Sun, Apr 28, 6:13 PM
Unknown Object (File)
Sun, Apr 28, 10:37 AM
Unknown Object (File)
Sat, Apr 27, 6:39 AM
Unknown Object (File)
Sat, Apr 27, 12:11 AM
Unknown Object (File)
Sat, Apr 27, 12:11 AM
Unknown Object (File)
Sat, Apr 27, 12:10 AM

Details

Summary

This moves the version string into a makefile that can be included from child ports.

This also adds a patch to nvidia-modeset that handles a deadlock with queueing events observed with nvidia-drm. This fix is only needed in 535, future versions will have a proper implementation included with them.

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Adding missing linux-nvidia-libs bits

ashafer_badland.io retitled this revision from x11/nvidia-driver: Add Makefile.version and update to 530.41.03 to x11/nvidia-driver: Add Makefile.version and patch for nvidia-drm.Jul 12 2023, 7:24 PM
ashafer_badland.io edited the summary of this revision. (Show Details)

Updating this review to only add Makefile.version instead of updating the
nvidia-driver version now that it is at 535.54.03.

Also add a patch to be used for nvidia-drm

Bump version to 535.86.05

Any thoughts on getting this merged? This is the prerequisite for an nvidia-drm
port, so I'm happy to implement any feedback to get this in.

Blocking: https://github.com/amshafer/freebsd-ports/commit/5066bdf47d2e119d35d9dc66ec920e1ea16af82e

I think you should remove the distversion thing, that will break the legacy ports and seems unnecessary.

I think you should remove the distversion thing, that will break the legacy ports and seems unnecessary.

This is the main reason for this diff. Austin needs to pull in x11/nvidia-driver's version into another ports he's preparing.

It is not necessary to do it like this. There is an implied version contract with this port and x11/linux-nvidia-libs as well. If it is centralized, it needs to accommodate the entire nvidia-driver situation because this will cause build failures.

I see the optional assignment so I guess that part is fine. Ultimately it's not my port but if danfe is not going to comment I have no objections.

I originally added NVIDIA_DISTVERSION since we will need to have multiple nvidia-drm-kmod ports which match the different versions of drm-kmod. For now basically nvidia-drm-510-kmod and nvidia-drm-515-kmod. It seemed easiest to have one Makefile.version in nvidia-driver which defines the version number to avoid having to update it by hand in all the ports that depend on nvidia-drm, instead you'd only have to update the distinfos. I added something similar to drm-kmod a bit ago. My goal was make one common nvidia-drm-kmod Makefile.common which uses NVIDIA_DISTVERSION, NVIDIA_GH_TAGNAME, and DRM_KMOD_GH_TAGNAME to select the versions of everything, and each nvidia-drm-*-kmod port imports the Makefile.versions it wants to reference.

I don't feel very strongly on this strategy, so if you'd like it to be removed it can be. Also open to suggested changes if there's a better way to do that. The patch this adds is the real dealbreaker, as without that there is a deadlock on loading nvidia-drm.ko

This revision is now accepted and ready to land.Aug 16 2023, 7:23 PM

It seemed easiest to have one Makefile.version in nvidia-driver which defines the version number to avoid having to update it by hand in all the ports that depend on nvidia-drm

I've been thinking about this one-line Makefile.version for a while and still not sure whether I like it, but could not find a better way that wouldn't require spawning make(1) and reparsing the Makefile just to obtain a version, so I guess it's okay at the end of the day. We can revisit this approach later if needed.

x11/nvidia-driver/Makefile
102

Patch prefix is wrong here, we use extra- for this purpose.