aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2021-02-05 15:27:55 +0800
committerAlexey Dokuchaev <danfe@FreeBSD.org>2021-02-05 15:27:55 +0800
commitbc4f906a66c327ed1c72209ea0bab00f43e9e822 (patch)
treee1a0cc2de0dc58d037495922c409dcce942b1885 /x11
parente8506bd7d0e6f3bd21d5b7d9052d4c3256e50765 (diff)
downloadfreebsd-ports-gnome-bc4f906a66c327ed1c72209ea0bab00f43e9e822.tar.gz
freebsd-ports-gnome-bc4f906a66c327ed1c72209ea0bab00f43e9e822.tar.zst
freebsd-ports-gnome-bc4f906a66c327ed1c72209ea0bab00f43e9e822.zip
Update nVidia main driver, Linux libraries, and tools to version 460.36.
PR: 249505, 250277
Diffstat (limited to 'x11')
-rw-r--r--x11/linux-nvidia-libs/Makefile21
-rw-r--r--x11/linux-nvidia-libs/distinfo4
-rw-r--r--x11/nvidia-driver/Makefile21
-rw-r--r--x11/nvidia-driver/distinfo4
-rw-r--r--x11/nvidia-driver/files/460-patch-lib-libGLX_nvidia-Makefile27
-rw-r--r--x11/nvidia-driver/files/460-patch-src-nvidia_linux.c.in33
-rw-r--r--x11/nvidia-driver/pkg-plist4
-rw-r--r--x11/nvidia-settings/Makefile2
-rw-r--r--x11/nvidia-settings/distinfo6
-rw-r--r--x11/nvidia-xconfig/Makefile2
-rw-r--r--x11/nvidia-xconfig/distinfo6
11 files changed, 104 insertions, 26 deletions
diff --git a/x11/linux-nvidia-libs/Makefile b/x11/linux-nvidia-libs/Makefile
index 7ced8627efe8..0ae55317f5b9 100644
--- a/x11/linux-nvidia-libs/Makefile
+++ b/x11/linux-nvidia-libs/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= nvidia-libs
-DISTVERSION?= 440.100
+DISTVERSION?= 460.39
# Always try to set PORTREVISION as it can be overridden by the slave ports
PORTREVISION?= 0
CATEGORIES= x11 linux
@@ -40,9 +40,6 @@ LINUX_LIBS= libcuda.so.${PORTVERSION} \
libnvidia-opencl.so.${PORTVERSION} \
libnvidia-tls.so.${PORTVERSION} \
libvdpau_nvidia.so.${PORTVERSION}
-.if ${NVVERSION} < 415.013
-LINUX_LIBS+= tls/libnvidia-tls.so.${PORTVERSION}
-.endif
LINUX_LINKS= libcuda.so.${PORTVERSION} libcuda.so.1 \
libcuda.so.${PORTVERSION} libcuda.so \
libnvcuvid.so.${PORTVERSION} libnvcuvid.so.1 \
@@ -61,6 +58,7 @@ LINUX32_LIBS= libcuda.so.${PORTVERSION} \
libnvidia-tls.so.${PORTVERSION} \
libvdpau_nvidia.so.${PORTVERSION}
.if ${NVVERSION} < 415.013
+LINUX_LIBS+= tls/libnvidia-tls.so.${PORTVERSION}
LINUX32_LIBS+= tls/libnvidia-tls.so.${PORTVERSION}
.endif
LINUX32_LINKS= libcuda.so.${PORTVERSION} libcuda.so.1 \
@@ -93,11 +91,16 @@ PLIST_RE+= '\,${LINUXBASE}.*libEGL_nvidia\.so\.${PORTVERSION},d'
.else
PLIST_RE+= '\,${LINUXBASE}.*libEGL_nvidia\.so,d'
.endif
+.if ${NVVERSION} >= 361.016 && ${NVVERSION} < 450.051
+LINUX_LIBS+= libnvidia-fatbinaryloader.so.${PORTVERSION}
+LINUX32_LIBS+= libnvidia-fatbinaryloader.so.${PORTVERSION}
+.else
+PLIST_RE+= '\,${LINUXBASE}.*libnvidia-fatbinaryloader\.so,d'
+.endif
.if ${NVVERSION} >= 361.016
LINUX_LIBS+= libGLESv1_CM_nvidia.so.${PORTVERSION} \
libGLESv2_nvidia.so.${PORTVERSION} \
libGLX_nvidia.so.${PORTVERSION} \
- libnvidia-fatbinaryloader.so.${PORTVERSION} \
libnvidia-ptxjitcompiler.so.${PORTVERSION}
LINUX_LINKS+= libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
libGLESv2_nvidia.so.${PORTVERSION} libGLESv2_nvidia.so.2 \
@@ -108,7 +111,6 @@ LINUX_LINKS+= libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
LINUX32_LIBS+= libGLESv1_CM_nvidia.so.${PORTVERSION} \
libGLESv2_nvidia.so.${PORTVERSION} \
libGLX_nvidia.so.${PORTVERSION} \
- libnvidia-fatbinaryloader.so.${PORTVERSION} \
libnvidia-ptxjitcompiler.so.${PORTVERSION}
LINUX32_LINKS+= libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
libGLESv2_nvidia.so.${PORTVERSION} libGLESv2_nvidia.so.2 \
@@ -119,10 +121,13 @@ LINUX32_LINKS+= libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
.else
PLIST_RE+= '\,${LINUXBASE}.*libGLESv(1_CM|2)_nvidia\.so,d' \
'\,${LINUXBASE}.*libGLX_(nvidia|indirect)\.so,d' \
- '\,${LINUXBASE}.*libnvidia-fatbinaryloader\.so,d' \
'\,${LINUXBASE}.*libnvidia-ptxjitcompiler\.so,d'
.endif
-.if ${NVVERSION} >= 440.026
+.if ${NVVERSION:R} >= 460 # 460.27.04
+LINUX_LIBS+= libnvidia-egl-wayland.so.1.1.5
+LINUX_LINKS+= libnvidia-egl-wayland.so.1.1.5 libnvidia-egl-wayland.so.1
+PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.5/'
+.elif ${NVVERSION} >= 440.026
LINUX_LIBS+= libnvidia-egl-wayland.so.1.1.4
LINUX_LINKS+= libnvidia-egl-wayland.so.1.1.4 libnvidia-egl-wayland.so.1
PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.4/'
diff --git a/x11/linux-nvidia-libs/distinfo b/x11/linux-nvidia-libs/distinfo
index 7b7d8d92196a..4c2bddd426e2 100644
--- a/x11/linux-nvidia-libs/distinfo
+++ b/x11/linux-nvidia-libs/distinfo
@@ -1,6 +1,6 @@
TIMESTAMP = 1482026038
-SHA256 (NVIDIA-Linux-x86_64-440.100.run) = 649684fab4f37b178afb6cae012e7f9736377d89fa8abdfca26f24a13bbacf1f
-SIZE (NVIDIA-Linux-x86_64-440.100.run) = 144653408
+SHA256 (NVIDIA-Linux-x86_64-460.39.run) = 0bf0664078013aa62ed6840caed0637b226884b9398e1fb647e127ad3ad9a37f
+SIZE (NVIDIA-Linux-x86_64-460.39.run) = 178310565
SHA256 (NVIDIA-Linux-x86_64-390.141.run) = 4b389a374412c80b2eda356c0fb9e8bef5768831d2cb77c8c9f906f6172c3f7e
SIZE (NVIDIA-Linux-x86_64-390.141.run) = 85330901
SHA256 (NVIDIA-Linux-x86-390.141.run) = 8dfbc8ce77d2f49780105dd7e3058bbf8e663e9b17495507b7544ece34ffaf43
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index 35b33c147f21..57f9fbc2c1fa 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -11,9 +11,9 @@
# or `x11/nvidia-driver-304').
PORTNAME= nvidia-driver
-DISTVERSION?= 440.100
+DISTVERSION?= 460.39
# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?= 1
+PORTREVISION?= 0
CATEGORIES= x11
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@@ -47,9 +47,7 @@ SUB_FILES+= pkg-deinstall pkg-install
SUB_PATCHES= extra-patch-src-Makefile \
extra-patch-src-nv-freebsd.h \
extra-patch-src-nv-misc.h \
- extra-patch-src-nvidia_ctl.c \
extra-patch-src-nvidia_dev.c \
- extra-patch-src-nvidia_linux.c \
extra-patch-src-nvidia_pci.c
DOCSDIR= ${PREFIX}/share/doc/NVIDIA_GLX-1.0
MODULESDIR= lib/xorg/modules
@@ -67,8 +65,15 @@ NVSRC= .
NVSRC= nvidia
.endif
-.if ${NVVERSION} >= 358.009
+.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
+.else
+EXTRA_PATCHES+= ${FILESDIR}/460-patch-lib-libGLX_nvidia-Makefile
+SUB_PATCHES+= 460-patch-src-nvidia_linux.c
.endif
OPTIONS_DEFINE= ACPI_PM LINUX WBINVD DOCS
@@ -99,7 +104,7 @@ EXTRA_PATCHES+= ${WRKDIR}/${p}
post-patch: .SILENT
# We should support -CURRENT: kill the check (first #if __FreeBSD_version)
- linenum=$$(${SED} -ne '/^#if __FreeBSD_version/ {=; q;}' \
+ 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
@@ -213,6 +218,10 @@ post-install: .SILENT
${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \
${STAGEDIR}${PREFIX}/bin
# pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's
+.if ${NVVERSION:R} < 460
+ ${REINPLACE_CMD} -e '/libnvidia-glvkspirv\.so/d ; \
+ /nvidia_icd\.json/d ; /nvidia_layers\.json/d' ${TMPPLIST}
+.endif
.if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016
${REINPLACE_CMD} -E '/libvdpau(_trace)?\.so/d' ${TMPPLIST}
.endif
diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo
index 8c20408f1312..7b62e53d5e14 100644
--- a/x11/nvidia-driver/distinfo
+++ b/x11/nvidia-driver/distinfo
@@ -1,6 +1,6 @@
TIMESTAMP = 1482026038
-SHA256 (NVIDIA-FreeBSD-x86_64-440.100.tar.gz) = da5abe605560890405976785eb28e6d9fa79181ac7d158e52e5327d4d0faef5f
-SIZE (NVIDIA-FreeBSD-x86_64-440.100.tar.gz) = 82523267
+SHA256 (NVIDIA-FreeBSD-x86_64-460.39.tar.gz) = a666f04313e9c919e3c6ecebe3c8d75d91246147955d9497ce6dae64738a314e
+SIZE (NVIDIA-FreeBSD-x86_64-460.39.tar.gz) = 108214308
SHA256 (NVIDIA-FreeBSD-x86_64-390.141.tar.gz) = d51fb464a52773c285ba075628f4a513a3ece5bba8e500be8b65fd0c122f78a4
SIZE (NVIDIA-FreeBSD-x86_64-390.141.tar.gz) = 65303462
SHA256 (NVIDIA-FreeBSD-x86-390.141.tar.gz) = c0e2abc13ec350ba7d34bf68225261cf1bfa0f5b07e30c71dd090c83c0542f7d
diff --git a/x11/nvidia-driver/files/460-patch-lib-libGLX_nvidia-Makefile b/x11/nvidia-driver/files/460-patch-lib-libGLX_nvidia-Makefile
new file mode 100644
index 000000000000..44dbc0e633b3
--- /dev/null
+++ b/x11/nvidia-driver/files/460-patch-lib-libGLX_nvidia-Makefile
@@ -0,0 +1,27 @@
+--- lib/libGLX_nvidia/Makefile.orig
++++ lib/libGLX_nvidia/Makefile
+@@ -16,18 +16,18 @@ EXTRADEPS= nvidia-application-profiles-rc nvidia_icd.j
+ # look for this file.
+
+ nvidia_icd.json:
+- @mkdir -p ${VKICD_PATH}
++ @mkdir -p ${DESTDIR}${VKICD_PATH}
+ @${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${NVIDIA_ROOT}/nvidia_icd.json \
+- ${VKICD_PATH}
+- @sed -i '' -e "s/__NV_VK_ICD__/lib${LIB}.so/" ${VKICD_PATH}/nvidia_icd.json
++ ${DESTDIR}${VKICD_PATH}
++ @sed -i '' -e "s/__NV_VK_ICD__/lib${LIB}.so/" ${DESTDIR}${VKICD_PATH}/nvidia_icd.json
+
+ nvidia_layers.json:
+- @mkdir -p ${VKLAYERS_PATH}
++ @mkdir -p ${DESTDIR}${VKLAYERS_PATH}
+ @${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${NVIDIA_ROOT}/nvidia_layers.json \
+- ${VKLAYERS_PATH}
+- @sed -i '' -e "s/__NV_VK_ICD__/lib${LIB}.so/" ${VKLAYERS_PATH}/nvidia_layers.json
++ ${DESTDIR}${VKLAYERS_PATH}
++ @sed -i '' -e "s/__NV_VK_ICD__/lib${LIB}.so/" ${DESTDIR}${VKLAYERS_PATH}/nvidia_layers.json
+
+
+ nvidia-application-profiles-rc:
diff --git a/x11/nvidia-driver/files/460-patch-src-nvidia_linux.c.in b/x11/nvidia-driver/files/460-patch-src-nvidia_linux.c.in
new file mode 100644
index 000000000000..083c7a1c1642
--- /dev/null
+++ b/x11/nvidia-driver/files/460-patch-src-nvidia_linux.c.in
@@ -0,0 +1,33 @@
+--- src/%%NVSRC%%/nvidia_linux.c.orig 2017-09-14 20:46:30 UTC
++++ src/%%NVSRC%%/nvidia_linux.c
+@@ -35,21 +35,16 @@ int linux_ioctl_nvidia(
+ struct linux_ioctl_args *args
+ )
+ {
+- struct file *fp;
+- int error;
+- cap_rights_t rights;
+- u_long cmd;
++ static const uint32_t dir[4] = { IOC_VOID, IOC_IN, IOC_OUT, IOC_INOUT };
+
+- error = fget(td, args->fd, cap_rights_init(&rights, CAP_IOCTL), &fp);
+- if (error != 0)
+- return error;
+-
+- cmd = args->cmd;
+-
+- error = fo_ioctl(fp, cmd, (caddr_t)args->arg, td->td_ucred, td);
+- fdrop(fp, td);
+-
+- return error;
++ if ((args->cmd & (1<<29)) != 0) {
++ /* FreeBSD has only 13 bits to encode the size. */
++ printf("nvidia: pid %d (%s): ioctl cmd=0x%x size too large\n",
++ (int)td->td_proc->p_pid, td->td_proc->p_comm, args->cmd);
++ return (EINVAL);
++ }
++ args->cmd = (args->cmd & ~IOC_DIRMASK) | dir[args->cmd >> 30];
++ return (sys_ioctl(td, (struct ioctl_args *)args));
+ }
+
+ struct linux_ioctl_handler nvidia_handler = {
diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist
index c75a6d458cd0..5edd9ad4242c 100644
--- a/x11/nvidia-driver/pkg-plist
+++ b/x11/nvidia-driver/pkg-plist
@@ -37,6 +37,8 @@ lib/libnvidia-glcore.so
lib/libnvidia-glcore.so.1
lib/libnvidia-glsi.so
lib/libnvidia-glsi.so.1
+lib/libnvidia-glvkspirv.so
+lib/libnvidia-glvkspirv.so.1
lib/libnvidia-ml.so
lib/libnvidia-ml.so.1
lib/libnvidia-tls.so
@@ -79,6 +81,8 @@ lib32/vdpau/libvdpau_nvidia.so.1
man/man1/nvidia-smi.1.gz
@comment share/egl/egl_external_platform.d/10_nvidia_wayland.json
share/glvnd/egl_vendor.d/10_nvidia.json
+share/vulkan/icd.d/nvidia_icd.json
+share/vulkan/implicit_layer.d/nvidia_layers.json
%%MODULESDIR%%/drivers/nvidia_drv.so
%%MODULESDIR%%/extensions/.nvidia/libglx.so
%%MODULESDIR%%/extensions/.nvidia/libglx.so.1
diff --git a/x11/nvidia-settings/Makefile b/x11/nvidia-settings/Makefile
index fc9701fb3529..242b0b20d9ad 100644
--- a/x11/nvidia-settings/Makefile
+++ b/x11/nvidia-settings/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= nvidia-settings
-PORTVERSION= 440.100
+PORTVERSION= 460.39
CATEGORIES= x11
MAINTAINER= x11@FreeBSD.org
diff --git a/x11/nvidia-settings/distinfo b/x11/nvidia-settings/distinfo
index db7412abb5a3..c846eb308b9d 100644
--- a/x11/nvidia-settings/distinfo
+++ b/x11/nvidia-settings/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1593032511
-SHA256 (NVIDIA-nvidia-settings-440.100_GH0.tar.gz) = 562e487261986f4e5241f554b14b799fd9184cdb121532c0e3fe309709c37719
-SIZE (NVIDIA-nvidia-settings-440.100_GH0.tar.gz) = 1314731
+TIMESTAMP = 1611681405
+SHA256 (NVIDIA-nvidia-settings-460.39_GH0.tar.gz) = ea4183fcf38f4cdfedbf782f101de57a88e2c38fc25b9bd691b101087da0e5e2
+SIZE (NVIDIA-nvidia-settings-460.39_GH0.tar.gz) = 1233261
diff --git a/x11/nvidia-xconfig/Makefile b/x11/nvidia-xconfig/Makefile
index 7239b90b9d06..368c93aaaea6 100644
--- a/x11/nvidia-xconfig/Makefile
+++ b/x11/nvidia-xconfig/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= nvidia-xconfig
-PORTVERSION= 440.100
+PORTVERSION= 460.39
CATEGORIES= x11
MAINTAINER= x11@FreeBSD.org
diff --git a/x11/nvidia-xconfig/distinfo b/x11/nvidia-xconfig/distinfo
index 3fcf17929081..88b75ebd926f 100644
--- a/x11/nvidia-xconfig/distinfo
+++ b/x11/nvidia-xconfig/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1593032427
-SHA256 (NVIDIA-nvidia-xconfig-440.100_GH0.tar.gz) = 2517e614b8500f69099b74abceb782ca4741c61dc288560d9d39c40cfa458b1d
-SIZE (NVIDIA-nvidia-xconfig-440.100_GH0.tar.gz) = 141048
+TIMESTAMP = 1611681275
+SHA256 (NVIDIA-nvidia-xconfig-460.39_GH0.tar.gz) = eb6e6034389a3ed2ea39d89b9a7a49e9f1cc4669f620abff114964867c05ed9f
+SIZE (NVIDIA-nvidia-xconfig-460.39_GH0.tar.gz) = 142321