diff --git a/x11/nvidia-driver-390/Makefile b/x11/nvidia-driver-390/Makefile new file mode 100644 index 000000000000..3b7d3897ce0b --- /dev/null +++ b/x11/nvidia-driver-390/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +DISTVERSION= 390.129 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../nvidia-driver +PKGNAMESUFFIX= -390 + +.include "${MASTERDIR}/Makefile" diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile index a043e86d0de7..22ece5518ab3 100644 --- a/x11/nvidia-driver/Makefile +++ b/x11/nvidia-driver/Makefile @@ -10,9 +10,9 @@ # slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304'). PORTNAME= nvidia-driver -DISTVERSION?= 390.87 +DISTVERSION?= 430.40 # Always try to set PORTREVISION as it can be overridden by the slave ports -PORTREVISION?= 3 +PORTREVISION?= 0 CATEGORIES= x11 MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} @@ -41,7 +41,9 @@ USE_LDCONFIG= yes # fixed upstream (across all versions, including legacy ones), use this # hack below to universally set NVIDIA_ROOT. Also provide X11BASE value # since it is still used by legacy drivers. -MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} +MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} \ + EGL_GLVND_JSON_PATH=${STAGEDIR}/${PREFIX}/share/glvnd/egl_vendor.d \ + EGL_WAYLAND_JSON_PATH=${STAGEDIR}/${PREFIX}/share/egl/egl_external_platform.d PLIST_RE= # empty SUB_FILES= pkg-deinstall pkg-install pkg-message nvidia.conf SUB_PATCHES= extra-patch-src-Makefile \ @@ -117,8 +119,12 @@ LINUX_LIBS= libcuda.so.${PORTVERSION} \ libnvidia-ml.so.${PORTVERSION} \ libnvidia-opencl.so.${PORTVERSION} \ libnvidia-tls.so.${PORTVERSION} \ - libvdpau_nvidia.so.${PORTVERSION} \ - tls/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 \ @@ -135,8 +141,12 @@ LINUX32_LIBS= libcuda.so.${PORTVERSION} \ libnvidia-ml.so.${PORTVERSION} \ libnvidia-opencl.so.${PORTVERSION} \ libnvidia-tls.so.${PORTVERSION} \ - libvdpau_nvidia.so.${PORTVERSION} \ - tls/libnvidia-tls.so.${PORTVERSION} + libvdpau_nvidia.so.${PORTVERSION} + +.if ${NVVERSION} < 415.013 +LINUX32_LIBS+= tls/libnvidia-tls.so.${PORTVERSION} +.endif + LINUX32_LINKS= libcuda.so.${PORTVERSION} libcuda.so.1 \ libcuda.so.${PORTVERSION} libcuda.so \ libnvidia-ml.so.${PORTVERSION} libnvidia-ml.so.1 \ @@ -196,7 +206,15 @@ PLIST_RE+= '\,${LINUXBASE}.*libGLESv(1_CM|2)_nvidia\.so,d' \ '\,${LINUXBASE}.*libnvidia-fatbinaryloader\.so,d' \ '\,${LINUXBASE}.*libnvidia-ptxjitcompiler\.so,d' .endif -.if ${NVVERSION} >= 387.012 +.if ${NVVERSION} >= 418.030 +LINUX_LIBS+= libnvidia-egl-wayland.so.1.1.2 +LINUX_LINKS+= libnvidia-egl-wayland.so.1.1.2 libnvidia-egl-wayland.so.1 +PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.2/' +.elif ${NVVERSION} >= 410.057 +LINUX_LIBS+= libnvidia-egl-wayland.so.1.1.0 +LINUX_LINKS+= libnvidia-egl-wayland.so.1.1.0 libnvidia-egl-wayland.so.1 +PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.1.0/' +.elif ${NVVERSION} >= 387.012 LINUX_LIBS+= libnvidia-egl-wayland.so.1.0.2 LINUX_LINKS+= libnvidia-egl-wayland.so.1.0.2 libnvidia-egl-wayland.so.1 PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.0.2/' @@ -215,6 +233,17 @@ PLIST_RE+= '\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.${PORTVERSION}/' .else PLIST_RE+= '\,${LINUXBASE}.*libnvidia-egl-wayland\.so,d' .endif +.if ${NVVERSION} >= 410.057 +LINUX_LIBS+= libnvidia-rtcore.so.${PORTVERSION} +.else +PLIST_RE+= '\,${LINUXBASE}.*libnvidia-rtcore,d' +.endif +.if ${NVVERSION} >= 396.018 +LINUX_LIBS+= libnvidia-glvkspirv.so.${PORTVERSION} +LINUX32_LIBS+= libnvidia-glvkspirv.so.${PORTVERSION} +.else +PLIST_RE+= '\,${LINUXBASE}.*libnvidia-glvkspirv,d' +.endif .if ${NVVERSION} >= 331.013 LINUX_LIBS+= libnvidia-eglcore.so.${PORTVERSION} \ libnvidia-fbc.so.${PORTVERSION} \ @@ -483,10 +512,19 @@ post-patch: .SILENT # /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we # won't adhere to this stupidity and install nvidia-application-profiles-* # files as part of documentation -.if ${NVVERSION} >= 334.016 +.if ${NVVERSION} >= 410.057 + ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ + ${WRKSRC}/lib/libGLX_nvidia/Makefile ${WRKSRC}/doc/Makefile +.elif ${NVVERSION} >= 334.016 ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ ${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile .endif +.if ${NVVERSION} >= 410.057 + ${REINPLACE_CMD} -e 's|AUXLINK_LINK= $${DESTDIR}$${LIBDIR}/libGLX_indirect.so.0|AUXLINK_LINK= $${LIBDIR}/libGLX_indirect.so.0|' \ + ${WRKSRC}/lib/libGLX_nvidia/Makefile + ${REINPLACE_CMD} -e 's|/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d|/usr/local/share/glvnd/egl_vendor.d: |' \ + ${WRKSRC}/obj/libglvnd/libEGL.so.1 +.endif # Finally, process OPTIONS .if ${PORT_OPTIONS:MFREEBSD_AGP} ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ @@ -532,6 +570,18 @@ 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} >= 415.013 + ${REINPLACE_CMD} -E '\,${LINUXBASE},{/tls\/libnvidia-tls.so/d;}' \ + ${TMPPLIST} +.endif +.if ${NVVERSION} < 410.057 + ${REINPLACE_CMD} 's|.nvidia/libglxserver_nvidia.so|.nvidia/libglx.so|g' \ + ${TMPPLIST} + ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/lib(EGL_nvidia|GLESv2_nvidia|GLX|GLdispatch|OpenGL)/d;}' \ + ${TMPPLIST} + ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/10_nvidia.json/d;}' \ + ${TMPPLIST} +.endif .if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016 ${REINPLACE_CMD} -E '\,${LINUXBASE},!{/libvdpau(_trace)?\.so/d;}' \ ${TMPPLIST} diff --git a/x11/nvidia-driver/distinfo b/x11/nvidia-driver/distinfo index ecd7ea942839..22ac242695b5 100644 --- a/x11/nvidia-driver/distinfo +++ b/x11/nvidia-driver/distinfo @@ -1,12 +1,16 @@ -TIMESTAMP = 1482026038 +TIMESTAMP = 1564448910 +SHA256 (NVIDIA-FreeBSD-x86_64-430.40.tar.gz) = 62c4d1aed0734a31b851eed290255dc5b803e70b10892b4f891b43389119be02 +SIZE (NVIDIA-FreeBSD-x86_64-430.40.tar.gz) = 62712042 +SHA256 (NVIDIA-Linux-x86_64-430.40.run) = f700899f48ba711b7e1598014e8db9a93537d7baa3d6a64067ed08578387dfd7 +SIZE (NVIDIA-Linux-x86_64-430.26.run) = 111258448 -SHA256 (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 221c80982378a333f541646d5d2030c72311c491f5a0f98b93fdd95cd5be11fc -SIZE (NVIDIA-FreeBSD-x86_64-390.87.tar.gz) = 63648591 -SHA256 (NVIDIA-Linux-x86_64-390.87.run) = 38290a0b19e86037112f22397e02be9cdd6bcd677dd926b2977bbd49119e611e -SIZE (NVIDIA-Linux-x86_64-390.87.run) = 82690871 +SHA256 (NVIDIA-FreeBSD-x86_64-390.129.tar.gz) = fa109c9737a529c87efe66c3bc0a47bffa49278d6361aebc1bf6b784eb5d6968 +SIZE (NVIDIA-FreeBSD-x86_64-390.129.tar.gz) = 63905694 +SHA256 (NVIDIA-Linux-x86_64-390.129.run) = d690cf21bda0bb6eb5c8a7f71073f0c9aea5857c6dd392a4dac3b48b27631240 +SIZE (NVIDIA-Linux-x86_64-390.129.run) = 82314424 -SHA256 (NVIDIA-FreeBSD-x86-390.87.tar.gz) = a2e61b0c541aa9bdcde7de43cd88a7ce5ff3de9fdafe60fa7d6e10942186d7d4 -SIZE (NVIDIA-FreeBSD-x86-390.87.tar.gz) = 64326801 -SHA256 (NVIDIA-Linux-x86-390.87.run) = 5c29c5f9d80a07ea71219c6323fe5fc9b7577847b970f23161685d4b890b9966 -SIZE (NVIDIA-Linux-x86-390.87.run) = 47959124 +SHA256 (NVIDIA-FreeBSD-x86-390.129.tar.gz) = 58e537c1a016e4fd362590e32c6f874ccdd90ce265839eb30cf370afcdc22bae +SIZE (NVIDIA-FreeBSD-x86-390.129.tar.gz) = 64565178 +SHA256 (NVIDIA-Linux-x86-390.129.run) = 5854268c26f112a16c6fd7ded0031bf95cc8f4dab617ac5d701090fec19d6f36 +SIZE (NVIDIA-Linux-x86-390.129.run) = 47560033 SHA256 (NVIDIA-FreeBSD-x86_64-340.107.tar.gz) = 047efae28cc81e4d56c64d2a0c15d9b7ff07f09bba22696464de8276334a4df7 SIZE (NVIDIA-FreeBSD-x86_64-340.107.tar.gz) = 61179967 SHA256 (NVIDIA-Linux-x86_64-340.107.run) = e3e359964ed568008584c4fb2dbcb76b76a848591d1456a783e94dd0c7f6695f diff --git a/x11/nvidia-driver/files/pkg-deinstall.in b/x11/nvidia-driver/files/pkg-deinstall.in index 50cea9e6eea3..447dd738a6d2 100644 --- a/x11/nvidia-driver/files/pkg-deinstall.in +++ b/x11/nvidia-driver/files/pkg-deinstall.in @@ -7,6 +7,7 @@ PREFIX=${PKG_PREFIX-/usr/local} case $2 in DEINSTALL) + /bin/rm -f ${PREFIX}/lib/xorg/modules/extensions/libglxserver_nvidia.so* /bin/rm -f ${PREFIX}/lib/xorg/modules/extensions/libglx.so* /bin/ln -f ${PREFIX}/lib/xorg/modules/extensions/.xorg/libglx.so \ diff --git a/x11/nvidia-driver/files/pkg-install.in b/x11/nvidia-driver/files/pkg-install.in index b9e45dbfaa44..ce4ba11aa389 100644 --- a/x11/nvidia-driver/files/pkg-install.in +++ b/x11/nvidia-driver/files/pkg-install.in @@ -7,6 +7,8 @@ PREFIX=${PKG_PREFIX-/usr/local} case $2 in POST-INSTALL) + /bin/ln -f ${PREFIX}/lib/xorg/modules/extensions/.nvidia/libglxserver_nvidia.so.1 \ + ${PREFIX}/lib/xorg/modules/extensions/libglxserver_nvidia.so || \ /bin/ln -f ${PREFIX}/lib/xorg/modules/extensions/.nvidia/libglx.so.1 \ ${PREFIX}/lib/xorg/modules/extensions/libglx.so ;; diff --git a/x11/nvidia-driver/pkg-plist b/x11/nvidia-driver/pkg-plist index f2864597dc16..87baabcad5e4 100644 --- a/x11/nvidia-driver/pkg-plist +++ b/x11/nvidia-driver/pkg-plist @@ -6,10 +6,23 @@ lib/libGL-NVIDIA.so lib/libGL-NVIDIA.so.1 lib/libEGL-NVIDIA.so lib/libEGL-NVIDIA.so.1 +lib/libEGL_nvidia.so +lib/libEGL_nvidia.so.0 lib/libGLESv1_CM.so lib/libGLESv1_CM.so.1 lib/libGLESv2-NVIDIA.so lib/libGLESv2-NVIDIA.so.2 +lib/libGLESv2_nvidia.so +lib/libGLESv2_nvidia.so.2 +lib/libGLX.so +lib/libGLX.so.0 +lib/libGLX_indirect.so.0 +lib/libGLX_nvidia.so +lib/libGLX_nvidia.so.0 +lib/libGLdispatch.so +lib/libGLdispatch.so.0 +lib/libOpenGL.so +lib/libOpenGL.so.0 lib/libXvMCNVIDIA.a lib/libXvMCNVIDIA.so lib/libXvMCNVIDIA.so.1 @@ -29,9 +42,10 @@ lib/libnvidia-tls.so.1 lib/libvdpau_nvidia.so lib/vdpau/libvdpau_nvidia.so.1 man/man1/nvidia-smi.1.gz +share/glvnd/egl_vendor.d/10_nvidia.json %%MODULESDIR%%/drivers/nvidia_drv.so -%%MODULESDIR%%/extensions/.nvidia/libglx.so -%%MODULESDIR%%/extensions/.nvidia/libglx.so.1 +%%MODULESDIR%%/extensions/.nvidia/libglxserver_nvidia.so +%%MODULESDIR%%/extensions/.nvidia/libglxserver_nvidia.so.1 /%%KMODDIR%%/nvidia.ko /%%KMODDIR%%/nvidia-modeset.ko %%LINUX%%%%LINUXBASE%%/etc/OpenCL/vendors/nvidia.icd @@ -90,6 +104,7 @@ man/man1/nvidia-smi.1.gz %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-fbc.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glcore.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glsi.so.%%SHLIB_VERSION%% +%%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-glvkspirv.so.%%SHLIB_VERSION%% %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so.1 %%LINUX32%%%%LINUXBASE%%/usr/lib/libnvidia-ifr.so.%%SHLIB_VERSION%% @@ -159,6 +174,7 @@ man/man1/nvidia-smi.1.gz %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-fbc.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glsi.so.%%SHLIB_VERSION%% +%%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-glvkspirv.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-gtk2.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-gtk3.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ifr.so @@ -172,6 +188,7 @@ man/man1/nvidia-smi.1.gz %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so.1 %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-ptxjitcompiler.so.%%SHLIB_VERSION%% +%%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-rtcore.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libnvidia-tls.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/libvdpau_nvidia.so.%%SHLIB_VERSION%% %%LINUX%%%%LINUXBASE%%%%LINUX_LIBDIR%%/tls/libnvidia-tls.so.%%SHLIB_VERSION%%