summaryrefslogtreecommitdiff
path: root/x11/nvidia-driver
diff options
context:
space:
mode:
Diffstat (limited to 'x11/nvidia-driver')
-rw-r--r--x11/nvidia-driver/Makefile168
-rw-r--r--x11/nvidia-driver/Makefile.version2
-rw-r--r--x11/nvidia-driver/distinfo6
-rw-r--r--x11/nvidia-driver/pkg-plist4
4 files changed, 16 insertions, 164 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index dcc5da991172..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,61 +174,12 @@ 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
@@ -350,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 ; \
@@ -384,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