diff options
Diffstat (limited to 'x11/nvidia-driver')
-rw-r--r-- | x11/nvidia-driver/Makefile | 177 | ||||
-rw-r--r-- | x11/nvidia-driver/Makefile.version | 2 | ||||
-rw-r--r-- | x11/nvidia-driver/distinfo | 6 | ||||
-rw-r--r-- | x11/nvidia-driver/pkg-plist | 4 |
4 files changed, 16 insertions, 173 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile index 317e494ecbdf..8255931553fd 100644 --- a/x11/nvidia-driver/Makefile +++ b/x11/nvidia-driver/Makefile @@ -14,7 +14,7 @@ PORTNAME?= nvidia-driver DISTVERSION?= ${NVIDIA_DISTVERSION} # Always try to set PORTREVISION as it can be overridden by the slave ports -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= x11 MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} @@ -46,11 +46,14 @@ PATCH_DEPENDS= gsed:textproc/gsed BUILD_DEPENDS= pkg-config:devel/pkgconf LIB_DEPENDS= libOpenGL.so:graphics/libglvnd .endif + +RUN_DEPENDS= ${KMODDIR}/nvidia.ko:x11/nvidia-kmod${PKGNAMESUFFIX} + .if ${NVVERSION} >= 415.013 LIB_DEPENDS+= libnvidia-egl-wayland.so:graphics/egl-wayland .endif -USES= kmod uidfix xorg +USES= uidfix xorg .if ${NVVERSION} >= 470.04201 USES+= tar:xz .endif @@ -76,21 +79,6 @@ SUB_FILES= pkg-message .if !defined(LIBGLDIR) SUB_FILES+= nvidia.conf .endif -SUB_PATCHES= extra-patch-src-Makefile \ - extra-patch-src-nv-freebsd.h -.if ${NVVERSION} < 510.03901 -SUB_PATCHES+= extra-patch-src-nvidia_dev.c \ - extra-patch-src-nvidia_pci.c -.endif -.if ${NVVERSION} < 470.25602 || ${NVVERSION} >= 480.00000 && ${NVVERSION} < 530.03002 -SUB_PATCHES+= extra-patch-src-nvidia_subr.c -.endif - -# Temporarily disable GSP firmware as it is known to cause -# issues with suspend/resume -.if ${NVVERSION} >= 565.00000 -SUB_PATCHES+= extra-gsp-patch-src-common-inc-nv_firmware_registry.h -.endif DOCSDIR= ${PREFIX}/share/doc/NVIDIA_GLX-1.0 MODULESDIR= lib/xorg/modules @@ -103,49 +91,7 @@ SUB_LIST+= NVGL="" SUB_LIST+= NVGL="\# " .endif -.if ${NVVERSION} < 355.006 -NVSRC= . -.else -NVSRC= nvidia -.endif - -.if ${NVVERSION} < 358.009 -SUB_LIST+= KLDNAME=nvidia -.else -SUB_LIST+= KLDNAME=nvidia-modeset -.endif - -.if ${NVVERSION} >= 530.03002 && ${NVVERSION} < 545.00 -SUB_PATCHES += extra-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c -.endif -.if ${NVVERSION} < 460.039 -. if ${NVVERSION} >= 358.009 -EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c -. endif -SUB_PATCHES+= extra-patch-src-nvidia_ctl.c \ - extra-patch-src-nvidia_linux.c -.elif ${NVVERSION} < 510.03901 -EXTRA_PATCHES+= ${FILESDIR}/460-patch-src-nvidia-nvidia_ctl.c \ - ${FILESDIR}/460-patch-src-nvidia-nvidia_linux.c \ - ${FILESDIR}/460-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c -.endif -.if ${NVVERSION} < 470.04201 -SUB_PATCHES+= extra-patch-src-nv-misc.h -.endif - -OPTIONS_DEFINE= ACPI_PM LINUX WBINVD DOCS -OPTIONS_DEFINE_i386= PAE -OPTIONS_DEFAULT= ACPI_PM LINUX - -ACPI_PM_DESC= ACPI Power Management support -LINUX_DESC= Linux compatibility support -PAE_DESC= Physical Address Extensions support -WBINVD_DESC= Flush CPU caches directly with WBINVD - -.if ${NVVERSION} < 310.014 -OPTIONS_DEFINE+= FREEBSD_AGP -FREEBSD_AGP_DESC= Use FreeBSD AGP GART driver -.endif +OPTIONS_DEFINE= DOCS PLIST_SUB+= MODULESDIR=${MODULESDIR} .if ${NVVERSION} < 410.057 @@ -160,9 +106,6 @@ PLIST_FILES+= lib/libnvidia-wayland-client.so.${DISTVERSION} .endif CONFLICTS_INSTALL+= nvidia-driver* -.if ${PORTNAME} != nvidia-secondary-driver -CONFLICTS_INSTALL+= nvidia-secondary-driver -.endif .include <bsd.port.pre.mk> @@ -175,46 +118,15 @@ EXTRA_PATCHES+= ${WRKDIR}/${p} .endfor post-patch: .SILENT +# Patch only needed for non-kmod + ${REINPLACE_CMD} -e '/SUBDIR=\tsrc \\/d' -e 's/\tlib/SUBDIR=\tlib/' \ + ${WRKSRC}/Makefile + ${REINPLACE_CMD} -e '/\.if exists(firmware)/,/\.endif/d' \ + ${WRKSRC}/Makefile + .if ${NVVERSION} >= 390 ${REINPLACE_CMD} -e 's|/man/man1|/share/man/man1|' ${WRKSRC}/nvml/man/Makefile .endif -# We should support -CURRENT: kill the check (first #if __FreeBSD_version) - linenum=$$(${SED} -ne '/^#if __FreeBSD_version/ { = ; q ; }' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h) ; ${REINPLACE_CMD} \ - -e "$$linenum,+2d" ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -# Adjust Linux headers #include's after FreeBSD src r246085 - ${REINPLACE_CMD} -E '/#include "machine\/\.\.\/linux(32)?\/linux.h"/ \ - { x ; s/.*/#include "machine\/..\/..\/compat\/linux\/linux_ioctl.h"/ ; H ; x ; }' \ - ${WRKSRC}/src/${NVSRC}/nvidia_linux.c -# Fix bogus memset() call - ${REINPLACE_CMD} -e '/memset/s/sizeof(ci/sizeof(*ci/' \ - ${WRKSRC}/src/${NVSRC}/nvidia_subr.c -# Chase `sys/capability.h' rename to `sys/capsicum.h' in FreeBSD src r263232 - ${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -.if ${NVVERSION} >= 358.009 - ${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \ - ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c -.endif -# KPI of kmem_alloc_contig(),kmem_free() changed in FreeBSD src r338143,r338318 -.if ${NVVERSION} < 530.03002 - ${REINPLACE_CMD} \ - -e 's/kmem_alloc_contig(kmem_arena, /kmem_alloc_contig(/' \ - -e 's/kmem_free(kmem_arena, /kmem_free(/' \ - ${WRKSRC}/src/${NVSRC}/nvidia_subr.c -.endif -# Pull the right header after FreeBSD src r347984 -.if ${NVVERSION} >= 358.009 - ${REINPLACE_CMD} -e '/^#include/s:lock\.h:mutex.h:' \ - ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c -.endif -# After src df38ada2931f, `sys/module.h' must be included after `sys/param.h' -.if ${NVVERSION} >= 358.009 - @${REINPLACE_CMD} -e '/^#include <sys\/param\.h>/d; \ - /^#include <sys\/module\.h>/ { x; \ - s:^:#include <sys/param.h>:; G; }' \ - ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c -.endif # Disable installation of Linux libraries (provided by the corresponding # `x11/linux-nvidia-libs' port or its slaves) ${REINPLACE_CMD} -e 's/exists(\/.*/& \&\& 0/' \ @@ -262,74 +174,16 @@ post-patch: .SILENT gsed ${REINPLACE_ARGS} -E "s,/etc/egl/egl_external_platform\.d.{$$padding},${EGL_JSON_PATH}\x00," \ ${WRKSRC}/obj/libEGL_nvidia.so.0 .endif -# Unbreak the build against -Werror,-Wunused-but-set-variable CFLAGS -.if ${NVVERSION} < 450.51 - ${REINPLACE_CMD} -e '/void nvidia_dev_dtor/,+8s,.*status.*,,' \ - ${WRKSRC}/src/${NVSRC}/nvidia_dev.c -.endif # Move symlinks under PREFIX .if ${NVVERSION} >= 525.08902 ${REINPLACE_CMD} -e '/ln/s/$${LOCALBASE}\/lib/../' \ -e '/LIBDIR/!s/$${LOCALBASE}/$${DESTDIR}$${PREFIX}/' \ ${WRKSRC}/lib/libnvidia-allocator/Makefile .endif -# After src 2a99dd30dfaa, DRIVER_MODULE should not include nvidia_devclass -.if ${OSVERSION} >= 1400058 - ${REINPLACE_CMD} -e '/^DRIVER_MODULE/s/, nvidia_devclass//' \ - ${WRKSRC}/src/${NVSRC}/nvidia_pci.c -.endif -# Catch up with pmap_unmapdev() and kmem_*() changes in 14-CURRENT -.if ${OSVERSION} >= 1400070 && (${NVVERSION} < 470.25602 || ${NVVERSION} >= 480.00000 && ${NVVERSION} < 530.03002) - ${REINPLACE_CMD} -e '/pmap_unmapdev/s,(vm_offset_t),,' \ - ${WRKSRC}/src/${NVSRC}/nvidia_os.c - ${REINPLACE_CMD} -e '/vm_offset_t virtual_address/s,vm_offset_t ,char *,' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h - ${REINPLACE_CMD} -e '/vm_offset_t address;/s,vm_offset_t ,void *,' \ - ${WRKSRC}/src/${NVSRC}/nvidia_subr.c -.endif -# Fix a K&R prototype -.if ${NVVERSION:R} >= 390 - ${REINPLACE_CMD} -e '/nvlink_allocLock/s,(),(void),' \ - ${WRKSRC}/src/${NVSRC}/nvlink_freebsd.c -.endif -# Finally, process OPTIONS -.if ${PORT_OPTIONS:MFREEBSD_AGP} - ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -.endif -.if ${PORT_OPTIONS:MACPI_PM} - ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -.endif -.if ! ${PORT_OPTIONS:MLINUX} - ${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -. if ${NVVERSION} >= 358.009 - ${REINPLACE_CMD} -E 's/define (NVKMS_SUPPORT_LINUX_COMPAT)/undef \1/' \ - ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c -. endif -.endif -.if ${PORT_OPTIONS:MPAE} - ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -.endif -.if ${PORT_OPTIONS:MWBINVD} - ${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \ - ${WRKSRC}/src/${NVSRC}/nv-freebsd.h -.endif # Conditionally install documentation (but you generally want it) .if ! ${PORT_OPTIONS:MDOCS} ${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile .endif -# DMAP_MIN_ADDRESS and DMAP_MAX_ADDRESS is deleted from src at commit -# 4dd828c80828637452a8a4e07a64e294c82e5d8b on main branch. -# Note that there are about 10 days of broken window, as the commit -# does not have corresponding version bump. -.if ${OSVERSION} >= 1500051 - ${REINPLACE_CMD} -e 's/DMAP_MIN_ADDRESS/kva_layout.dmap_low/' \ - -e 's/DMAP_MAX_ADDRESS/kva_layout.dmap_high/' \ - ${WRKSRC}/src/nvidia/nvidia_subr.c -.endif pre-install: @${MKDIR} ${STAGEDIR}${PREFIX}/${MODULESDIR}/drivers \ @@ -359,9 +213,6 @@ post-install: .SILENT .if ${NVVERSION} < 352.009 ${REINPLACE_CMD} -E '/(lib)?nvidia-(debugdump|smi|ml)/d' ${TMPPLIST} .endif -.if ${NVVERSION} < 358.009 - ${REINPLACE_CMD} -e '/nvidia-modeset\.ko/d' ${TMPPLIST} -.endif .if ${NVVERSION} < 410.057 ${REINPLACE_CMD} -E '/lib(EGL|GLESv[12].*)_nvidia/d ; \ /lib(GLX|GLdispatch|OpenGL)/d ; \ @@ -393,10 +244,6 @@ post-install: .SILENT .if ${NVVERSION} < 545.000 ${REINPLACE_CMD} -e '/libnvidia-gpucomp\.so/d' ${TMPPLIST} .endif -.if ${NVVERSION} < 560.02803 - ${REINPLACE_CMD} -e '/nvidia_gsp_ga10x_fw\.ko/d' ${TMPPLIST} - ${REINPLACE_CMD} -e '/nvidia_gsp_tu10x_fw\.ko/d' ${TMPPLIST} -.endif .if ${NVVERSION} < 410.057 # Rename some libraries and install a libmap file to resolve conflict with diff --git a/x11/nvidia-driver/Makefile.version b/x11/nvidia-driver/Makefile.version index bcc6945ffc97..8ee3aa0f5229 100644 --- a/x11/nvidia-driver/Makefile.version +++ b/x11/nvidia-driver/Makefile.version @@ -1,4 +1,4 @@ # NVIDIA Distversion # # This will be included from x11/nvidia-driver and the nvidia-drm port -NVIDIA_DISTVERSION?= 570.169 +NVIDIA_DISTVERSION?= 580.82.07 diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo index 1763322181a0..6a75d81814df 100644 --- a/x11/nvidia-driver/distinfo +++ b/x11/nvidia-driver/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1750203781 -SHA256 (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 1d132020452851b3122dd38ae96eb578a510755c73c417db788611ede51e76ce -SIZE (NVIDIA-FreeBSD-x86_64-570.169.tar.xz) = 261338796 +TIMESTAMP = 1756835672 +SHA256 (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 76b6f0b8eeea20b878da7abb3eef5dd9515e6df83e4377cfa9380ac152614977 +SIZE (NVIDIA-FreeBSD-x86_64-580.82.07.tar.xz) = 288619796 diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist index 4c244c172570..d2b2e337a6f4 100644 --- a/x11/nvidia-driver/pkg-plist +++ b/x11/nvidia-driver/pkg-plist @@ -100,7 +100,3 @@ share/vulkan/implicit_layer.d/nvidia_layers.json %%EXTENSIONSDIR%%/libglx.so.1 %%MODULESDIR%%/extensions/libglxserver_nvidia.so %%MODULESDIR%%/extensions/libglxserver_nvidia.so.1 -/%%KMODDIR%%/nvidia.ko -/%%KMODDIR%%/nvidia-modeset.ko -/%%KMODDIR%%/nvidia_gsp_ga10x_fw.ko -/%%KMODDIR%%/nvidia_gsp_tu10x_fw.ko |