Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Nvidia drivers
@ 2022-01-06 18:26 motorto
  2022-01-26 17:36 ` prateekmedia
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: motorto @ 2022-01-06 18:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

There is a new pull request by motorto against master on the void-packages repository

https://github.com/motorto/void-packages nvidiaDrivers
https://github.com/void-linux/void-packages/pull/34911

Nvidia drivers
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

A patch file from https://github.com/void-linux/void-packages/pull/34911.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nvidiaDrivers-34911.patch --]
[-- Type: text/x-diff, Size: 18531 bytes --]

From 3a3f51918e4c2ac97ce155e8e3133540722cc599 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 22 Dec 2021 18:08:55 +0000
Subject: [PATCH 1/2] nvidia: update to 495.46.

---
 srcpkgs/nvidia/template | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index d64cc8019c86..04b884b6744b 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -3,7 +3,7 @@
 _desc="NVIDIA drivers for linux"
 
 pkgname=nvidia
-version=470.94
+version=495.46
 revision=1
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="custom:NVIDIA Proprietary"
@@ -19,7 +19,7 @@ conflicts="xserver-abi-video>24_1"
 
 _pkg="NVIDIA-Linux-x86_64-${version}"
 distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
-checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+checksum=d83b77d17da0c54667aa5b13d6ea95a5c51304257b1ecf2f8d4a3b5ae31c62f5
 # subpackages need to be processed in this specific order
 subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit"
 depends="nvidia-libs-${version}_${revision}
@@ -69,10 +69,6 @@ _install_libs() {
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
 
-	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
-
 	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
@@ -128,9 +124,20 @@ do_install() {
 	ln -sf libglxserver_nvidia.so.${version} \
 		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
 
-	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
-	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+	# Wayland/GBM
+	vinstall libnvidia-egl-wayland.so.1.1.9 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.9 \
 		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+	vinstall libnvidia-egl-gbm.so.1.1.0 755 usr/lib
+	ln -sf libnvidia-egl-gbm.so.1.1.0 \
+		${DESTDIR}/usr/lib/libnvidia-egl-gbm.so.1
+
+	vmkdir usr/share/glvnd/egl_vendor.d
+	vinstall 15_nvidia_gbm.json 755 usr/share/glvnd/egl_vendor.d
+
+	vmkdir usr/lib/gbm
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/usr/lib/gbm/nvidia-drm_gbm.so
 
 	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
 	vinstall 10_nvidia_wayland.json \
@@ -204,7 +211,12 @@ do_install() {
 
 	# vulkan real-time ray tracing extensions
 	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
-	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	vinstall libnvidia-vulkan-producer.so.${version} 755 usr/lib
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so.1
 
 	# ngx
 	vbin nvidia-ngx-updater

From 42f9bb6b7565f0832c521ba76e3462f26da0ab0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Tue, 4 Jan 2022 18:23:11 +0000
Subject: [PATCH 2/2] New package: nvidia470-470.94

---
 srcpkgs/nvidia470-dkms                        |   1 +
 srcpkgs/nvidia470-gtklibs                     |   1 +
 srcpkgs/nvidia470-libs                        |   1 +
 srcpkgs/nvidia470-libs-32bit                  |   1 +
 srcpkgs/nvidia470-opencl                      |   1 +
 srcpkgs/nvidia470/INSTALL                     |   3 +
 srcpkgs/nvidia470/files/dkms.conf             |  19 ++
 .../files/nvidia-drm-outputclass.conf         |  18 +
 srcpkgs/nvidia470/files/prime-run             |   5 +
 srcpkgs/nvidia470/template                    | 311 ++++++++++++++++++
 srcpkgs/nvidia470/update                      |   2 +
 11 files changed, 363 insertions(+)
 create mode 120000 srcpkgs/nvidia470-dkms
 create mode 120000 srcpkgs/nvidia470-gtklibs
 create mode 120000 srcpkgs/nvidia470-libs
 create mode 120000 srcpkgs/nvidia470-libs-32bit
 create mode 120000 srcpkgs/nvidia470-opencl
 create mode 100644 srcpkgs/nvidia470/INSTALL
 create mode 100644 srcpkgs/nvidia470/files/dkms.conf
 create mode 100644 srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
 create mode 100644 srcpkgs/nvidia470/files/prime-run
 create mode 100644 srcpkgs/nvidia470/template
 create mode 100644 srcpkgs/nvidia470/update

diff --git a/srcpkgs/nvidia470-dkms b/srcpkgs/nvidia470-dkms
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-dkms
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-gtklibs b/srcpkgs/nvidia470-gtklibs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-gtklibs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs b/srcpkgs/nvidia470-libs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs-32bit b/srcpkgs/nvidia470-libs-32bit
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs-32bit
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-opencl b/srcpkgs/nvidia470-opencl
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-opencl
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470/INSTALL b/srcpkgs/nvidia470/INSTALL
new file mode 100644
index 000000000000..2461dca609f6
--- /dev/null
+++ b/srcpkgs/nvidia470/INSTALL
@@ -0,0 +1,3 @@
+case "${ACTION}" in
+post) ldconfig -X || : ;;
+esac
diff --git a/srcpkgs/nvidia470/files/dkms.conf b/srcpkgs/nvidia470/files/dkms.conf
new file mode 100644
index 000000000000..ec795dbdc635
--- /dev/null
+++ b/srcpkgs/nvidia470/files/dkms.conf
@@ -0,0 +1,19 @@
+PACKAGE_NAME="nvidia470"
+PACKAGE_VERSION="__PKGVER"
+AUTOINSTALL="yes"
+
+# By default, DKMS will add KERNELRELEASE to the make command line; however,
+# this will cause the kernel module build to infer that it was invoked via
+# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+# the 'make' command name to suppress this behavior.
+MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
+
+# The list of kernel modules was generated by nvidia-installer at runtime.
+BUILT_MODULE_NAME[0]="nvidia"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
+BUILT_MODULE_NAME[1]="nvidia-uvm"
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
+BUILT_MODULE_NAME[2]="nvidia-modeset"
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
+BUILT_MODULE_NAME[3]="nvidia-drm"
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
diff --git a/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
new file mode 100644
index 000000000000..65e3fd38622c
--- /dev/null
+++ b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
@@ -0,0 +1,18 @@
+Section "ServerLayout"
+  Identifier "layout"
+  Option "AllowNVIDIAGPUScreens"
+EndSection
+
+Section "OutputClass"
+    Identifier "intel"
+    MatchDriver "i915"
+    Driver "modesetting"
+EndSection
+
+Section "OutputClass"
+    Identifier "nvidia"
+    MatchDriver "nvidia-drm"
+    Driver "nvidia"
+    Option "AllowEmptyInitialConfiguration"
+    ModulePath "/usr/lib/nvidia/xorg"
+EndSection
diff --git a/srcpkgs/nvidia470/files/prime-run b/srcpkgs/nvidia470/files/prime-run
new file mode 100644
index 000000000000..fc8752fc36c1
--- /dev/null
+++ b/srcpkgs/nvidia470/files/prime-run
@@ -0,0 +1,5 @@
+#!/bin/sh
+export __NV_PRIME_RENDER_OFFLOAD=1
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export __VK_LAYER_NV_optimus=NVIDIA_only
+exec "$@"
diff --git a/srcpkgs/nvidia470/template b/srcpkgs/nvidia470/template
new file mode 100644
index 000000000000..909e3f6f4c61
--- /dev/null
+++ b/srcpkgs/nvidia470/template
@@ -0,0 +1,311 @@
+# Template file for 'nvidia470'
+
+_desc="NVIDIA drivers (GKxxx “Kepler”)"
+
+pkgname=nvidia470
+version=470.94
+revision=1
+maintainer="Andrew Benson <abenson+void@gmail.com>"
+license="custom:NVIDIA Proprietary"
+homepage="https://www.nvidia.com"
+
+archs="x86_64"
+nopie=yes
+repository="nonfree"
+create_wrksrc=yes
+short_desc="${_desc} - Libraries and Utilities"
+hostmakedepends="tar"
+conflicts="xserver-abi-video>24_1"
+
+_pkg="NVIDIA-Linux-x86_64-${version}"
+distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
+checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+# subpackages need to be processed in this specific order
+subpackages="nvidia470-gtklibs nvidia470-dkms nvidia470-opencl nvidia470-libs nvidia470-libs-32bit"
+depends="nvidia470-libs-${version}_${revision}
+ nvidia470-gtklibs-${version}_${revision}
+ nvidia470-dkms-${version}_${revision}"
+
+_install_libs() {
+	local libdir=$1
+
+	# GLX client libs
+	# Required for GLVND option
+	vinstall libGLX_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_nvidia.so.0
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_indirect.so.0
+
+	# OpenGL core library
+	vinstall libnvidia-glcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-eglcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-glsi.so.${version} 755 ${libdir}
+
+	# Vulkan core library
+	vinstall libnvidia-glvkspirv.so.${version} 755 ${libdir}
+
+	vinstall libEGL_nvidia.so.${version} 755 ${libdir}
+	ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/${libdir}/libEGL_nvidia.so.0
+
+	vinstall libGLESv1_CM_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv1_CM_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/libGLESv1_CM_nvidia.so.1
+
+	vinstall libGLESv2_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLESv2_nvidia.so.2
+
+	# Thread Local Storage
+	vinstall libnvidia-tls.so.${version} 755 ${libdir}
+
+	# VDPAU
+	vinstall libvdpau_nvidia.so.${version} 755 ${libdir}/vdpau
+	ln -sf libvdpau_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/vdpau/libvdpau_nvidia.so.1
+
+	vinstall libnvidia-ml.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so.1
+
+	vinstall libnvidia-encode.so.${version} 755 ${libdir}
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
+
+	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
+
+	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
+
+	# CUDA
+	vinstall libcuda.so.${version} 755 ${libdir}
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so.1
+
+	vinstall libnvcuvid.so.${version} 755 ${libdir}
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so.1
+
+	vinstall libnvidia-opticalflow.so.${version} 755 ${libdir}
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so.1
+
+	vinstall libnvidia-ptxjitcompiler.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ptxjitcompiler.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so.1
+	ln -sf libnvidia-ptxjitcompiler.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so
+
+	vinstall libnvidia-allocator.so.${version} 755 ${libdir}
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so.1
+	ln -sf libnvidia-allocator.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so
+}
+
+do_extract() {
+	install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
+	cd ${wrksrc}
+	./${_pkg}.run --extract-only
+	rm -f ${_pkg}.run
+}
+
+do_install() {
+	cd ${_pkg}
+
+	# X driver
+	vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
+
+	# firmware
+	vinstall firmware/gsp.bin 644 usr/lib/firmware/nvidia/${version}
+
+	# GLX extension module for X
+	vinstall libglxserver_nvidia.so.${version} 755 usr/lib/nvidia/xorg
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
+
+	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+
+	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
+	vinstall 10_nvidia_wayland.json \
+		755 usr/share/egl/egl_external_platform.d
+
+	vinstall libnvidia-cfg.so.${version} 755 usr/lib
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
+
+	vbin nvidia-cuda-mps-control
+	vbin nvidia-cuda-mps-server
+	gzip -d nvidia-cuda-mps-control.1.gz
+	vman nvidia-cuda-mps-control.1
+
+	# nvidia-xconfig
+	vbin nvidia-xconfig
+	gzip -d nvidia-xconfig.1.gz
+	vman nvidia-xconfig.1
+
+	# nvidia-settings
+	vbin nvidia-settings
+	gzip -d nvidia-settings.1.gz
+	vman nvidia-settings.1
+	vinstall nvidia-settings.desktop 644 usr/share/applications
+	vinstall nvidia-settings.png 644 usr/share/pixmaps
+	sed -e 's:__UTILS_PATH__:/usr/bin:' \
+		-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+		-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
+
+	vinstall libnvidia-gtk3.so.${version} 755 usr/lib
+	vinstall libnvidia-gtk2.so.${version} 755 usr/lib
+
+	# application profiles (needed by nvidia-settings)
+	vinstall nvidia-application-profiles-${version}-key-documentation \
+		644 usr/share/nvidia
+	vinstall nvidia-application-profiles-${version}-rc 644 usr/share/nvidia
+
+	# nvidia-bug-report
+	vbin nvidia-bug-report.sh nvidia-bug-report
+	vbin nvidia-debugdump
+
+	# nvidia-smi
+	vbin nvidia-smi
+	gzip -d nvidia-smi.1.gz
+	vman nvidia-smi.1
+
+	# nvidia-modprobe
+	vinstall nvidia-modprobe 4755 usr/bin
+	gzip -d nvidia-modprobe.1.gz
+	vman nvidia-modprobe.1
+
+	# nvidia-persistenced
+	vinstall nvidia-persistenced 4755 usr/bin
+	gzip -d nvidia-persistenced.1.gz
+	vman nvidia-persistenced.1
+
+	# opencl pkg
+	vinstall nvidia.icd 644 etc/OpenCL/vendors
+	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
+
+	vinstall libnvidia-compiler.so.${version} 755 usr/lib
+
+	vinstall libnvidia-opencl.so.${version} 755 usr/lib
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so.1
+
+	# vulkan icd
+	vinstall nvidia_icd.json 644 usr/share/vulkan/icd.d
+
+	# vulkan real-time ray tracing extensions
+	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
+	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	# ngx
+	vbin nvidia-ngx-updater
+	vinstall libnvidia-ngx.so.${version} 755 usr/lib
+	ln -sf libnvidia-ngx.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so.1
+	ln -sf libnvidia-ngx.so.1 \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so
+
+	vinstall _nvngx.dll 755 usr/lib/nvidia/wine
+	vinstall nvngx.dll 755 usr/lib/nvidia/wine
+
+	# optix ray racing engine
+	vinstall libnvoptix.so.${version} 755 usr/lib
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so.1
+
+	# dkms pkg
+	vmkdir usr/src/nvidia-${version}
+	vcopy "kernel/*" usr/src/nvidia-${version}
+	vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
+	sed -e "s/__PKGVER/${version}/g" \
+		-e 's/__MAKEJOBS/-j$(nproc)/g' \
+		-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
+
+	# Xorg conf for PRIME
+	vmkdir /usr/share/X11/xorg.conf.d/
+	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 \
+		/usr/share/X11/xorg.conf.d 10-nvidia-drm-outputclass.conf
+
+	vbin ${FILESDIR}/prime-run
+
+	# Blacklist nouveau
+	vmkdir usr/lib/modprobe.d
+	echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+	chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+
+	# License and documentation
+	vlicense LICENSE
+	vdoc README.txt README
+	vdoc NVIDIA_Changelog
+
+	# nvvm compiler
+	vinstall libnvidia-nvvm.so.4.0.0 755 usr/lib
+	ln -sf libnvidia-nvvm.so.4.0.0 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so.4
+	ln -sf libnvidia-nvvm.so.4 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so
+
+	# Libraries (64bit)
+	_install_libs usr/lib
+	cd 32
+	# Libraries (32bit)
+	_install_libs usr/lib32
+}
+
+nvidia470-gtklibs_package() {
+	short_desc="${_desc} - GTK+ libraries"
+	pkg_install() {
+		vmove "usr/lib/lib*gtk*.so*"
+	}
+}
+
+nvidia470-libs-32bit_package() {
+	short_desc="${_desc} - common libraries (32bit)"
+	# manually set 32bit depends for libglvnd
+	depends="glibc-32bit>=0 libX11-32bit>=0 libXext-32bit>=0 libglvnd-32bit>=0"
+	repository="multilib/nonfree"
+	pkg_install() {
+		vmove usr/lib32
+	}
+}
+
+nvidia470-libs_package() {
+	short_desc="${_desc} - common libraries"
+	depends="libglvnd"
+	nostrip_files="gsp.bin"
+	pkg_install() {
+		vmove usr/lib
+	}
+}
+
+nvidia470-dkms_package() {
+	short_desc="${_desc} - DKMS kernel module"
+	depends="dkms xbps-triggers>=0.121_1"
+	dkms_modules="nvidia ${version}"
+	# dkms must be before initramfs-regenerate to build modules before images
+	triggers="dkms initramfs-regenerate"
+
+	pkg_install() {
+		vmove usr/src
+		vmove usr/lib/modprobe.d
+	}
+}
+
+nvidia470-opencl_package() {
+	short_desc="${_desc} - OpenCL implementation"
+	depends="ocl-icd"
+	pkg_install() {
+		vmove "usr/lib/libnvidia-compiler*"
+		vmove "usr/lib/libnvidia-opencl*"
+		vmove etc/OpenCL
+	}
+}
diff --git a/srcpkgs/nvidia470/update b/srcpkgs/nvidia470/update
new file mode 100644
index 000000000000..d33b1d9a141f
--- /dev/null
+++ b/srcpkgs/nvidia470/update
@@ -0,0 +1,2 @@
+site="http://www.nvidia.com/object/unix.html"
+pattern='Branch Version.+>\K[\d.]+(?=</A>)'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
@ 2022-01-26 17:36 ` prateekmedia
  2022-01-26 21:32 ` motorto
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: prateekmedia @ 2022-01-26 17:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 219 bytes --]

New comment by prateekmedia on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1022431573

Comment:
Nvidia 510 drivers are the latest drivers, So why are you using 495 one?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
  2022-01-26 17:36 ` prateekmedia
@ 2022-01-26 21:32 ` motorto
  2022-01-28 16:17 ` wael444
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: motorto @ 2022-01-26 21:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 459 bytes --]

New comment by motorto on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1022622282

Comment:
As stated by @abenson : 
> We typically stick to Production branch releases for nvidia.
This is a good start for what will be the next nvidia major update, so keep it open.

Void Linux only uses Production branch releases for nvidia drivers. We are basically just waiting for the new drivers to reach that state .

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
  2022-01-26 17:36 ` prateekmedia
  2022-01-26 21:32 ` motorto
@ 2022-01-28 16:17 ` wael444
  2022-01-28 17:32 ` wael444
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: wael444 @ 2022-01-28 16:17 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

New comment by wael444 on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1024371944

Comment:
would it be possible to have an unofficial version 510 template?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (2 preceding siblings ...)
  2022-01-28 16:17 ` wael444
@ 2022-01-28 17:32 ` wael444
  2022-01-28 21:50 ` abenson
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: wael444 @ 2022-01-28 17:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 240 bytes --]

New comment by wael444 on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1024448108

Comment:
build fails, [here are the logs](https://gist.github.com/wael444/df3aa076d82fd1dbcb83c4fec2ca1ec9)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (3 preceding siblings ...)
  2022-01-28 17:32 ` wael444
@ 2022-01-28 21:50 ` abenson
  2022-01-28 22:14 ` [PR PATCH] [Updated] " abenson
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-01-28 21:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 267 bytes --]

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1024669710

Comment:
> Nvidia 510 drivers are the latest drivers

510.xx are Beta.

> build fails

The branch needs to be rebased on master.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PR PATCH] [Updated] Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (4 preceding siblings ...)
  2022-01-28 21:50 ` abenson
@ 2022-01-28 22:14 ` abenson
  2022-01-28 22:16 ` abenson
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-01-28 22:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

There is an updated pull request by abenson against master on the void-packages repository

https://github.com/motorto/void-packages nvidiaDrivers
https://github.com/void-linux/void-packages/pull/34911

Nvidia drivers
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

A patch file from https://github.com/void-linux/void-packages/pull/34911.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nvidiaDrivers-34911.patch --]
[-- Type: text/x-diff, Size: 18649 bytes --]

From b9a901f995889cb8779eb033bc9e31fc6c47f659 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 22 Dec 2021 18:08:55 +0000
Subject: [PATCH 1/2] nvidia: update to 495.46.

---
 srcpkgs/nvidia/template | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index 49f986385e1a..4ca42d8b2f28 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -1,10 +1,9 @@
-# Template file for 'nvidia'
 
 _desc="NVIDIA drivers for linux"
 
 pkgname=nvidia
-version=470.94
-revision=3
+version=495.46
+revision=1
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="custom:NVIDIA Proprietary"
 homepage="https://www.nvidia.com"
@@ -19,7 +18,7 @@ conflicts="xserver-abi-video>25_1"
 
 _pkg="NVIDIA-Linux-x86_64-${version}"
 distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
-checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+checksum=d83b77d17da0c54667aa5b13d6ea95a5c51304257b1ecf2f8d4a3b5ae31c62f5
 # subpackages need to be processed in this specific order
 subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit"
 depends="nvidia-libs-${version}_${revision}
@@ -69,10 +68,6 @@ _install_libs() {
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
 
-	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
-
 	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
@@ -128,9 +123,20 @@ do_install() {
 	ln -sf libglxserver_nvidia.so.${version} \
 		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
 
-	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
-	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+	# Wayland/GBM
+	vinstall libnvidia-egl-wayland.so.1.1.9 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.9 \
 		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+	vinstall libnvidia-egl-gbm.so.1.1.0 755 usr/lib
+	ln -sf libnvidia-egl-gbm.so.1.1.0 \
+		${DESTDIR}/usr/lib/libnvidia-egl-gbm.so.1
+
+	vmkdir usr/share/glvnd/egl_vendor.d
+	vinstall 15_nvidia_gbm.json 755 usr/share/glvnd/egl_vendor.d
+
+	vmkdir usr/lib/gbm
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/usr/lib/gbm/nvidia-drm_gbm.so
 
 	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
 	vinstall 10_nvidia_wayland.json \
@@ -204,7 +210,12 @@ do_install() {
 
 	# vulkan real-time ray tracing extensions
 	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
-	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	vinstall libnvidia-vulkan-producer.so.${version} 755 usr/lib
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so.1
 
 	# ngx
 	vbin nvidia-ngx-updater

From a2dc6c8620902e3f83d3dae481d34a62205a6964 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Tue, 4 Jan 2022 18:23:11 +0000
Subject: [PATCH 2/2] New package: nvidia470-470.94

Closes: #34911 [via git-merge-pr]
---
 srcpkgs/nvidia470-dkms                        |   1 +
 srcpkgs/nvidia470-gtklibs                     |   1 +
 srcpkgs/nvidia470-libs                        |   1 +
 srcpkgs/nvidia470-libs-32bit                  |   1 +
 srcpkgs/nvidia470-opencl                      |   1 +
 srcpkgs/nvidia470/INSTALL                     |   3 +
 srcpkgs/nvidia470/files/dkms.conf             |  19 ++
 .../files/nvidia-drm-outputclass.conf         |  18 +
 srcpkgs/nvidia470/files/prime-run             |   5 +
 srcpkgs/nvidia470/template                    | 311 ++++++++++++++++++
 srcpkgs/nvidia470/update                      |   2 +
 11 files changed, 363 insertions(+)
 create mode 120000 srcpkgs/nvidia470-dkms
 create mode 120000 srcpkgs/nvidia470-gtklibs
 create mode 120000 srcpkgs/nvidia470-libs
 create mode 120000 srcpkgs/nvidia470-libs-32bit
 create mode 120000 srcpkgs/nvidia470-opencl
 create mode 100644 srcpkgs/nvidia470/INSTALL
 create mode 100644 srcpkgs/nvidia470/files/dkms.conf
 create mode 100644 srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
 create mode 100644 srcpkgs/nvidia470/files/prime-run
 create mode 100644 srcpkgs/nvidia470/template
 create mode 100644 srcpkgs/nvidia470/update

diff --git a/srcpkgs/nvidia470-dkms b/srcpkgs/nvidia470-dkms
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-dkms
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-gtklibs b/srcpkgs/nvidia470-gtklibs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-gtklibs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs b/srcpkgs/nvidia470-libs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs-32bit b/srcpkgs/nvidia470-libs-32bit
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs-32bit
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-opencl b/srcpkgs/nvidia470-opencl
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-opencl
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470/INSTALL b/srcpkgs/nvidia470/INSTALL
new file mode 100644
index 000000000000..2461dca609f6
--- /dev/null
+++ b/srcpkgs/nvidia470/INSTALL
@@ -0,0 +1,3 @@
+case "${ACTION}" in
+post) ldconfig -X || : ;;
+esac
diff --git a/srcpkgs/nvidia470/files/dkms.conf b/srcpkgs/nvidia470/files/dkms.conf
new file mode 100644
index 000000000000..ec795dbdc635
--- /dev/null
+++ b/srcpkgs/nvidia470/files/dkms.conf
@@ -0,0 +1,19 @@
+PACKAGE_NAME="nvidia470"
+PACKAGE_VERSION="__PKGVER"
+AUTOINSTALL="yes"
+
+# By default, DKMS will add KERNELRELEASE to the make command line; however,
+# this will cause the kernel module build to infer that it was invoked via
+# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+# the 'make' command name to suppress this behavior.
+MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
+
+# The list of kernel modules was generated by nvidia-installer at runtime.
+BUILT_MODULE_NAME[0]="nvidia"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
+BUILT_MODULE_NAME[1]="nvidia-uvm"
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
+BUILT_MODULE_NAME[2]="nvidia-modeset"
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
+BUILT_MODULE_NAME[3]="nvidia-drm"
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
diff --git a/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
new file mode 100644
index 000000000000..65e3fd38622c
--- /dev/null
+++ b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
@@ -0,0 +1,18 @@
+Section "ServerLayout"
+  Identifier "layout"
+  Option "AllowNVIDIAGPUScreens"
+EndSection
+
+Section "OutputClass"
+    Identifier "intel"
+    MatchDriver "i915"
+    Driver "modesetting"
+EndSection
+
+Section "OutputClass"
+    Identifier "nvidia"
+    MatchDriver "nvidia-drm"
+    Driver "nvidia"
+    Option "AllowEmptyInitialConfiguration"
+    ModulePath "/usr/lib/nvidia/xorg"
+EndSection
diff --git a/srcpkgs/nvidia470/files/prime-run b/srcpkgs/nvidia470/files/prime-run
new file mode 100644
index 000000000000..fc8752fc36c1
--- /dev/null
+++ b/srcpkgs/nvidia470/files/prime-run
@@ -0,0 +1,5 @@
+#!/bin/sh
+export __NV_PRIME_RENDER_OFFLOAD=1
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export __VK_LAYER_NV_optimus=NVIDIA_only
+exec "$@"
diff --git a/srcpkgs/nvidia470/template b/srcpkgs/nvidia470/template
new file mode 100644
index 000000000000..909e3f6f4c61
--- /dev/null
+++ b/srcpkgs/nvidia470/template
@@ -0,0 +1,311 @@
+# Template file for 'nvidia470'
+
+_desc="NVIDIA drivers (GKxxx “Kepler”)"
+
+pkgname=nvidia470
+version=470.94
+revision=1
+maintainer="Andrew Benson <abenson+void@gmail.com>"
+license="custom:NVIDIA Proprietary"
+homepage="https://www.nvidia.com"
+
+archs="x86_64"
+nopie=yes
+repository="nonfree"
+create_wrksrc=yes
+short_desc="${_desc} - Libraries and Utilities"
+hostmakedepends="tar"
+conflicts="xserver-abi-video>24_1"
+
+_pkg="NVIDIA-Linux-x86_64-${version}"
+distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
+checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+# subpackages need to be processed in this specific order
+subpackages="nvidia470-gtklibs nvidia470-dkms nvidia470-opencl nvidia470-libs nvidia470-libs-32bit"
+depends="nvidia470-libs-${version}_${revision}
+ nvidia470-gtklibs-${version}_${revision}
+ nvidia470-dkms-${version}_${revision}"
+
+_install_libs() {
+	local libdir=$1
+
+	# GLX client libs
+	# Required for GLVND option
+	vinstall libGLX_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_nvidia.so.0
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_indirect.so.0
+
+	# OpenGL core library
+	vinstall libnvidia-glcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-eglcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-glsi.so.${version} 755 ${libdir}
+
+	# Vulkan core library
+	vinstall libnvidia-glvkspirv.so.${version} 755 ${libdir}
+
+	vinstall libEGL_nvidia.so.${version} 755 ${libdir}
+	ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/${libdir}/libEGL_nvidia.so.0
+
+	vinstall libGLESv1_CM_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv1_CM_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/libGLESv1_CM_nvidia.so.1
+
+	vinstall libGLESv2_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLESv2_nvidia.so.2
+
+	# Thread Local Storage
+	vinstall libnvidia-tls.so.${version} 755 ${libdir}
+
+	# VDPAU
+	vinstall libvdpau_nvidia.so.${version} 755 ${libdir}/vdpau
+	ln -sf libvdpau_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/vdpau/libvdpau_nvidia.so.1
+
+	vinstall libnvidia-ml.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so.1
+
+	vinstall libnvidia-encode.so.${version} 755 ${libdir}
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
+
+	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
+
+	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
+
+	# CUDA
+	vinstall libcuda.so.${version} 755 ${libdir}
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so.1
+
+	vinstall libnvcuvid.so.${version} 755 ${libdir}
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so.1
+
+	vinstall libnvidia-opticalflow.so.${version} 755 ${libdir}
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so.1
+
+	vinstall libnvidia-ptxjitcompiler.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ptxjitcompiler.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so.1
+	ln -sf libnvidia-ptxjitcompiler.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so
+
+	vinstall libnvidia-allocator.so.${version} 755 ${libdir}
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so.1
+	ln -sf libnvidia-allocator.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so
+}
+
+do_extract() {
+	install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
+	cd ${wrksrc}
+	./${_pkg}.run --extract-only
+	rm -f ${_pkg}.run
+}
+
+do_install() {
+	cd ${_pkg}
+
+	# X driver
+	vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
+
+	# firmware
+	vinstall firmware/gsp.bin 644 usr/lib/firmware/nvidia/${version}
+
+	# GLX extension module for X
+	vinstall libglxserver_nvidia.so.${version} 755 usr/lib/nvidia/xorg
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
+
+	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+
+	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
+	vinstall 10_nvidia_wayland.json \
+		755 usr/share/egl/egl_external_platform.d
+
+	vinstall libnvidia-cfg.so.${version} 755 usr/lib
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
+
+	vbin nvidia-cuda-mps-control
+	vbin nvidia-cuda-mps-server
+	gzip -d nvidia-cuda-mps-control.1.gz
+	vman nvidia-cuda-mps-control.1
+
+	# nvidia-xconfig
+	vbin nvidia-xconfig
+	gzip -d nvidia-xconfig.1.gz
+	vman nvidia-xconfig.1
+
+	# nvidia-settings
+	vbin nvidia-settings
+	gzip -d nvidia-settings.1.gz
+	vman nvidia-settings.1
+	vinstall nvidia-settings.desktop 644 usr/share/applications
+	vinstall nvidia-settings.png 644 usr/share/pixmaps
+	sed -e 's:__UTILS_PATH__:/usr/bin:' \
+		-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+		-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
+
+	vinstall libnvidia-gtk3.so.${version} 755 usr/lib
+	vinstall libnvidia-gtk2.so.${version} 755 usr/lib
+
+	# application profiles (needed by nvidia-settings)
+	vinstall nvidia-application-profiles-${version}-key-documentation \
+		644 usr/share/nvidia
+	vinstall nvidia-application-profiles-${version}-rc 644 usr/share/nvidia
+
+	# nvidia-bug-report
+	vbin nvidia-bug-report.sh nvidia-bug-report
+	vbin nvidia-debugdump
+
+	# nvidia-smi
+	vbin nvidia-smi
+	gzip -d nvidia-smi.1.gz
+	vman nvidia-smi.1
+
+	# nvidia-modprobe
+	vinstall nvidia-modprobe 4755 usr/bin
+	gzip -d nvidia-modprobe.1.gz
+	vman nvidia-modprobe.1
+
+	# nvidia-persistenced
+	vinstall nvidia-persistenced 4755 usr/bin
+	gzip -d nvidia-persistenced.1.gz
+	vman nvidia-persistenced.1
+
+	# opencl pkg
+	vinstall nvidia.icd 644 etc/OpenCL/vendors
+	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
+
+	vinstall libnvidia-compiler.so.${version} 755 usr/lib
+
+	vinstall libnvidia-opencl.so.${version} 755 usr/lib
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so.1
+
+	# vulkan icd
+	vinstall nvidia_icd.json 644 usr/share/vulkan/icd.d
+
+	# vulkan real-time ray tracing extensions
+	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
+	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	# ngx
+	vbin nvidia-ngx-updater
+	vinstall libnvidia-ngx.so.${version} 755 usr/lib
+	ln -sf libnvidia-ngx.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so.1
+	ln -sf libnvidia-ngx.so.1 \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so
+
+	vinstall _nvngx.dll 755 usr/lib/nvidia/wine
+	vinstall nvngx.dll 755 usr/lib/nvidia/wine
+
+	# optix ray racing engine
+	vinstall libnvoptix.so.${version} 755 usr/lib
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so.1
+
+	# dkms pkg
+	vmkdir usr/src/nvidia-${version}
+	vcopy "kernel/*" usr/src/nvidia-${version}
+	vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
+	sed -e "s/__PKGVER/${version}/g" \
+		-e 's/__MAKEJOBS/-j$(nproc)/g' \
+		-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
+
+	# Xorg conf for PRIME
+	vmkdir /usr/share/X11/xorg.conf.d/
+	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 \
+		/usr/share/X11/xorg.conf.d 10-nvidia-drm-outputclass.conf
+
+	vbin ${FILESDIR}/prime-run
+
+	# Blacklist nouveau
+	vmkdir usr/lib/modprobe.d
+	echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+	chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+
+	# License and documentation
+	vlicense LICENSE
+	vdoc README.txt README
+	vdoc NVIDIA_Changelog
+
+	# nvvm compiler
+	vinstall libnvidia-nvvm.so.4.0.0 755 usr/lib
+	ln -sf libnvidia-nvvm.so.4.0.0 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so.4
+	ln -sf libnvidia-nvvm.so.4 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so
+
+	# Libraries (64bit)
+	_install_libs usr/lib
+	cd 32
+	# Libraries (32bit)
+	_install_libs usr/lib32
+}
+
+nvidia470-gtklibs_package() {
+	short_desc="${_desc} - GTK+ libraries"
+	pkg_install() {
+		vmove "usr/lib/lib*gtk*.so*"
+	}
+}
+
+nvidia470-libs-32bit_package() {
+	short_desc="${_desc} - common libraries (32bit)"
+	# manually set 32bit depends for libglvnd
+	depends="glibc-32bit>=0 libX11-32bit>=0 libXext-32bit>=0 libglvnd-32bit>=0"
+	repository="multilib/nonfree"
+	pkg_install() {
+		vmove usr/lib32
+	}
+}
+
+nvidia470-libs_package() {
+	short_desc="${_desc} - common libraries"
+	depends="libglvnd"
+	nostrip_files="gsp.bin"
+	pkg_install() {
+		vmove usr/lib
+	}
+}
+
+nvidia470-dkms_package() {
+	short_desc="${_desc} - DKMS kernel module"
+	depends="dkms xbps-triggers>=0.121_1"
+	dkms_modules="nvidia ${version}"
+	# dkms must be before initramfs-regenerate to build modules before images
+	triggers="dkms initramfs-regenerate"
+
+	pkg_install() {
+		vmove usr/src
+		vmove usr/lib/modprobe.d
+	}
+}
+
+nvidia470-opencl_package() {
+	short_desc="${_desc} - OpenCL implementation"
+	depends="ocl-icd"
+	pkg_install() {
+		vmove "usr/lib/libnvidia-compiler*"
+		vmove "usr/lib/libnvidia-opencl*"
+		vmove etc/OpenCL
+	}
+}
diff --git a/srcpkgs/nvidia470/update b/srcpkgs/nvidia470/update
new file mode 100644
index 000000000000..d33b1d9a141f
--- /dev/null
+++ b/srcpkgs/nvidia470/update
@@ -0,0 +1,2 @@
+site="http://www.nvidia.com/object/unix.html"
+pattern='Branch Version.+>\K[\d.]+(?=</A>)'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (5 preceding siblings ...)
  2022-01-28 22:14 ` [PR PATCH] [Updated] " abenson
@ 2022-01-28 22:16 ` abenson
  2022-02-02 13:05 ` Lolzen
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-01-28 22:16 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 255 bytes --]

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1024693432

Comment:
> would it be possible to have an unofficial version 510 template?

I don't plan on making one in the meantime.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (6 preceding siblings ...)
  2022-01-28 22:16 ` abenson
@ 2022-02-02 13:05 ` Lolzen
  2022-02-03  4:03 ` [PR PATCH] [Updated] " abenson
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Lolzen @ 2022-02-02 13:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 173 bytes --]

New comment by Lolzen on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1027921333

Comment:
510.47.03 stable is now official

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PR PATCH] [Updated] Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (7 preceding siblings ...)
  2022-02-02 13:05 ` Lolzen
@ 2022-02-03  4:03 ` abenson
  2022-02-03  4:07 ` abenson
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-03  4:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

There is an updated pull request by abenson against master on the void-packages repository

https://github.com/motorto/void-packages nvidiaDrivers
https://github.com/void-linux/void-packages/pull/34911

Nvidia drivers
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

A patch file from https://github.com/void-linux/void-packages/pull/34911.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nvidiaDrivers-34911.patch --]
[-- Type: text/x-diff, Size: 19448 bytes --]

From cc800bbb839464cf0597c92efb6a0f2dda81cf63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 22 Dec 2021 18:08:55 +0000
Subject: [PATCH 1/2] nvidia: update to 510.47.03.

---
 srcpkgs/nvidia/files/nvidia-powerd/run |  3 ++
 srcpkgs/nvidia/template                | 38 ++++++++++++++++++--------
 2 files changed, 30 insertions(+), 11 deletions(-)
 create mode 100644 srcpkgs/nvidia/files/nvidia-powerd/run

diff --git a/srcpkgs/nvidia/files/nvidia-powerd/run b/srcpkgs/nvidia/files/nvidia-powerd/run
new file mode 100644
index 000000000000..8fe7540cce5e
--- /dev/null
+++ b/srcpkgs/nvidia/files/nvidia-powerd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/bin/nvidia-powerd
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index 49f986385e1a..531d038753d6 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -3,8 +3,8 @@
 _desc="NVIDIA drivers for linux"
 
 pkgname=nvidia
-version=470.94
-revision=3
+version=510.47.03
+revision=1
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="custom:NVIDIA Proprietary"
 homepage="https://www.nvidia.com"
@@ -19,7 +19,7 @@ conflicts="xserver-abi-video>25_1"
 
 _pkg="NVIDIA-Linux-x86_64-${version}"
 distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
-checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+checksum=f2a421dae836318d3c0d96459ccb3af27e90e50c95b0faa4288af76279e5d690
 # subpackages need to be processed in this specific order
 subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit"
 depends="nvidia-libs-${version}_${revision}
@@ -69,10 +69,6 @@ _install_libs() {
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
 
-	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
-
 	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
@@ -128,9 +124,20 @@ do_install() {
 	ln -sf libglxserver_nvidia.so.${version} \
 		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
 
-	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
-	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+	# Wayland/GBM
+	vinstall libnvidia-egl-wayland.so.1.1.9 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.9 \
 		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+	vinstall libnvidia-egl-gbm.so.1.1.0 755 usr/lib
+	ln -sf libnvidia-egl-gbm.so.1.1.0 \
+		${DESTDIR}/usr/lib/libnvidia-egl-gbm.so.1
+
+	vmkdir usr/share/glvnd/egl_vendor.d
+	vinstall 15_nvidia_gbm.json 755 usr/share/glvnd/egl_vendor.d
+
+	vmkdir usr/lib/gbm
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/usr/lib/gbm/nvidia-drm_gbm.so
 
 	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
 	vinstall 10_nvidia_wayland.json \
@@ -183,10 +190,14 @@ do_install() {
 	vman nvidia-modprobe.1
 
 	# nvidia-persistenced
-	vinstall nvidia-persistenced 4755 usr/bin
+	vinstall nvidia-persistenced 755 usr/bin
 	gzip -d nvidia-persistenced.1.gz
 	vman nvidia-persistenced.1
 
+	# nvidia-powerd
+	vinstall nvidia-powerd 755 usr/bin
+	vsv nvidia-powerd
+
 	# opencl pkg
 	vinstall nvidia.icd 644 etc/OpenCL/vendors
 	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
@@ -204,7 +215,12 @@ do_install() {
 
 	# vulkan real-time ray tracing extensions
 	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
-	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	vinstall libnvidia-vulkan-producer.so.${version} 755 usr/lib
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so.1
 
 	# ngx
 	vbin nvidia-ngx-updater

From 55cc4a50ec21896f545c4816debdf60352ce1876 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Tue, 4 Jan 2022 18:23:11 +0000
Subject: [PATCH 2/2] New package: nvidia470-470.94

Closes: #34911 [via git-merge-pr]
---
 srcpkgs/nvidia470-dkms                        |   1 +
 srcpkgs/nvidia470-gtklibs                     |   1 +
 srcpkgs/nvidia470-libs                        |   1 +
 srcpkgs/nvidia470-libs-32bit                  |   1 +
 srcpkgs/nvidia470-opencl                      |   1 +
 srcpkgs/nvidia470/INSTALL                     |   3 +
 srcpkgs/nvidia470/files/dkms.conf             |  19 ++
 .../files/nvidia-drm-outputclass.conf         |  18 +
 srcpkgs/nvidia470/files/prime-run             |   5 +
 srcpkgs/nvidia470/template                    | 311 ++++++++++++++++++
 srcpkgs/nvidia470/update                      |   2 +
 11 files changed, 363 insertions(+)
 create mode 120000 srcpkgs/nvidia470-dkms
 create mode 120000 srcpkgs/nvidia470-gtklibs
 create mode 120000 srcpkgs/nvidia470-libs
 create mode 120000 srcpkgs/nvidia470-libs-32bit
 create mode 120000 srcpkgs/nvidia470-opencl
 create mode 100644 srcpkgs/nvidia470/INSTALL
 create mode 100644 srcpkgs/nvidia470/files/dkms.conf
 create mode 100644 srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
 create mode 100644 srcpkgs/nvidia470/files/prime-run
 create mode 100644 srcpkgs/nvidia470/template
 create mode 100644 srcpkgs/nvidia470/update

diff --git a/srcpkgs/nvidia470-dkms b/srcpkgs/nvidia470-dkms
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-dkms
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-gtklibs b/srcpkgs/nvidia470-gtklibs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-gtklibs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs b/srcpkgs/nvidia470-libs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs-32bit b/srcpkgs/nvidia470-libs-32bit
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs-32bit
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-opencl b/srcpkgs/nvidia470-opencl
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-opencl
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470/INSTALL b/srcpkgs/nvidia470/INSTALL
new file mode 100644
index 000000000000..2461dca609f6
--- /dev/null
+++ b/srcpkgs/nvidia470/INSTALL
@@ -0,0 +1,3 @@
+case "${ACTION}" in
+post) ldconfig -X || : ;;
+esac
diff --git a/srcpkgs/nvidia470/files/dkms.conf b/srcpkgs/nvidia470/files/dkms.conf
new file mode 100644
index 000000000000..ec795dbdc635
--- /dev/null
+++ b/srcpkgs/nvidia470/files/dkms.conf
@@ -0,0 +1,19 @@
+PACKAGE_NAME="nvidia470"
+PACKAGE_VERSION="__PKGVER"
+AUTOINSTALL="yes"
+
+# By default, DKMS will add KERNELRELEASE to the make command line; however,
+# this will cause the kernel module build to infer that it was invoked via
+# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+# the 'make' command name to suppress this behavior.
+MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
+
+# The list of kernel modules was generated by nvidia-installer at runtime.
+BUILT_MODULE_NAME[0]="nvidia"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
+BUILT_MODULE_NAME[1]="nvidia-uvm"
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
+BUILT_MODULE_NAME[2]="nvidia-modeset"
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
+BUILT_MODULE_NAME[3]="nvidia-drm"
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
diff --git a/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
new file mode 100644
index 000000000000..65e3fd38622c
--- /dev/null
+++ b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
@@ -0,0 +1,18 @@
+Section "ServerLayout"
+  Identifier "layout"
+  Option "AllowNVIDIAGPUScreens"
+EndSection
+
+Section "OutputClass"
+    Identifier "intel"
+    MatchDriver "i915"
+    Driver "modesetting"
+EndSection
+
+Section "OutputClass"
+    Identifier "nvidia"
+    MatchDriver "nvidia-drm"
+    Driver "nvidia"
+    Option "AllowEmptyInitialConfiguration"
+    ModulePath "/usr/lib/nvidia/xorg"
+EndSection
diff --git a/srcpkgs/nvidia470/files/prime-run b/srcpkgs/nvidia470/files/prime-run
new file mode 100644
index 000000000000..fc8752fc36c1
--- /dev/null
+++ b/srcpkgs/nvidia470/files/prime-run
@@ -0,0 +1,5 @@
+#!/bin/sh
+export __NV_PRIME_RENDER_OFFLOAD=1
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export __VK_LAYER_NV_optimus=NVIDIA_only
+exec "$@"
diff --git a/srcpkgs/nvidia470/template b/srcpkgs/nvidia470/template
new file mode 100644
index 000000000000..909e3f6f4c61
--- /dev/null
+++ b/srcpkgs/nvidia470/template
@@ -0,0 +1,311 @@
+# Template file for 'nvidia470'
+
+_desc="NVIDIA drivers (GKxxx “Kepler”)"
+
+pkgname=nvidia470
+version=470.94
+revision=1
+maintainer="Andrew Benson <abenson+void@gmail.com>"
+license="custom:NVIDIA Proprietary"
+homepage="https://www.nvidia.com"
+
+archs="x86_64"
+nopie=yes
+repository="nonfree"
+create_wrksrc=yes
+short_desc="${_desc} - Libraries and Utilities"
+hostmakedepends="tar"
+conflicts="xserver-abi-video>24_1"
+
+_pkg="NVIDIA-Linux-x86_64-${version}"
+distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
+checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+# subpackages need to be processed in this specific order
+subpackages="nvidia470-gtklibs nvidia470-dkms nvidia470-opencl nvidia470-libs nvidia470-libs-32bit"
+depends="nvidia470-libs-${version}_${revision}
+ nvidia470-gtklibs-${version}_${revision}
+ nvidia470-dkms-${version}_${revision}"
+
+_install_libs() {
+	local libdir=$1
+
+	# GLX client libs
+	# Required for GLVND option
+	vinstall libGLX_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_nvidia.so.0
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_indirect.so.0
+
+	# OpenGL core library
+	vinstall libnvidia-glcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-eglcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-glsi.so.${version} 755 ${libdir}
+
+	# Vulkan core library
+	vinstall libnvidia-glvkspirv.so.${version} 755 ${libdir}
+
+	vinstall libEGL_nvidia.so.${version} 755 ${libdir}
+	ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/${libdir}/libEGL_nvidia.so.0
+
+	vinstall libGLESv1_CM_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv1_CM_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/libGLESv1_CM_nvidia.so.1
+
+	vinstall libGLESv2_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLESv2_nvidia.so.2
+
+	# Thread Local Storage
+	vinstall libnvidia-tls.so.${version} 755 ${libdir}
+
+	# VDPAU
+	vinstall libvdpau_nvidia.so.${version} 755 ${libdir}/vdpau
+	ln -sf libvdpau_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/vdpau/libvdpau_nvidia.so.1
+
+	vinstall libnvidia-ml.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so.1
+
+	vinstall libnvidia-encode.so.${version} 755 ${libdir}
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
+
+	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
+
+	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
+
+	# CUDA
+	vinstall libcuda.so.${version} 755 ${libdir}
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so.1
+
+	vinstall libnvcuvid.so.${version} 755 ${libdir}
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so.1
+
+	vinstall libnvidia-opticalflow.so.${version} 755 ${libdir}
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so.1
+
+	vinstall libnvidia-ptxjitcompiler.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ptxjitcompiler.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so.1
+	ln -sf libnvidia-ptxjitcompiler.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so
+
+	vinstall libnvidia-allocator.so.${version} 755 ${libdir}
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so.1
+	ln -sf libnvidia-allocator.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so
+}
+
+do_extract() {
+	install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
+	cd ${wrksrc}
+	./${_pkg}.run --extract-only
+	rm -f ${_pkg}.run
+}
+
+do_install() {
+	cd ${_pkg}
+
+	# X driver
+	vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
+
+	# firmware
+	vinstall firmware/gsp.bin 644 usr/lib/firmware/nvidia/${version}
+
+	# GLX extension module for X
+	vinstall libglxserver_nvidia.so.${version} 755 usr/lib/nvidia/xorg
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
+
+	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+
+	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
+	vinstall 10_nvidia_wayland.json \
+		755 usr/share/egl/egl_external_platform.d
+
+	vinstall libnvidia-cfg.so.${version} 755 usr/lib
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
+
+	vbin nvidia-cuda-mps-control
+	vbin nvidia-cuda-mps-server
+	gzip -d nvidia-cuda-mps-control.1.gz
+	vman nvidia-cuda-mps-control.1
+
+	# nvidia-xconfig
+	vbin nvidia-xconfig
+	gzip -d nvidia-xconfig.1.gz
+	vman nvidia-xconfig.1
+
+	# nvidia-settings
+	vbin nvidia-settings
+	gzip -d nvidia-settings.1.gz
+	vman nvidia-settings.1
+	vinstall nvidia-settings.desktop 644 usr/share/applications
+	vinstall nvidia-settings.png 644 usr/share/pixmaps
+	sed -e 's:__UTILS_PATH__:/usr/bin:' \
+		-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+		-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
+
+	vinstall libnvidia-gtk3.so.${version} 755 usr/lib
+	vinstall libnvidia-gtk2.so.${version} 755 usr/lib
+
+	# application profiles (needed by nvidia-settings)
+	vinstall nvidia-application-profiles-${version}-key-documentation \
+		644 usr/share/nvidia
+	vinstall nvidia-application-profiles-${version}-rc 644 usr/share/nvidia
+
+	# nvidia-bug-report
+	vbin nvidia-bug-report.sh nvidia-bug-report
+	vbin nvidia-debugdump
+
+	# nvidia-smi
+	vbin nvidia-smi
+	gzip -d nvidia-smi.1.gz
+	vman nvidia-smi.1
+
+	# nvidia-modprobe
+	vinstall nvidia-modprobe 4755 usr/bin
+	gzip -d nvidia-modprobe.1.gz
+	vman nvidia-modprobe.1
+
+	# nvidia-persistenced
+	vinstall nvidia-persistenced 4755 usr/bin
+	gzip -d nvidia-persistenced.1.gz
+	vman nvidia-persistenced.1
+
+	# opencl pkg
+	vinstall nvidia.icd 644 etc/OpenCL/vendors
+	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
+
+	vinstall libnvidia-compiler.so.${version} 755 usr/lib
+
+	vinstall libnvidia-opencl.so.${version} 755 usr/lib
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so.1
+
+	# vulkan icd
+	vinstall nvidia_icd.json 644 usr/share/vulkan/icd.d
+
+	# vulkan real-time ray tracing extensions
+	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
+	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	# ngx
+	vbin nvidia-ngx-updater
+	vinstall libnvidia-ngx.so.${version} 755 usr/lib
+	ln -sf libnvidia-ngx.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so.1
+	ln -sf libnvidia-ngx.so.1 \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so
+
+	vinstall _nvngx.dll 755 usr/lib/nvidia/wine
+	vinstall nvngx.dll 755 usr/lib/nvidia/wine
+
+	# optix ray racing engine
+	vinstall libnvoptix.so.${version} 755 usr/lib
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so.1
+
+	# dkms pkg
+	vmkdir usr/src/nvidia-${version}
+	vcopy "kernel/*" usr/src/nvidia-${version}
+	vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
+	sed -e "s/__PKGVER/${version}/g" \
+		-e 's/__MAKEJOBS/-j$(nproc)/g' \
+		-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
+
+	# Xorg conf for PRIME
+	vmkdir /usr/share/X11/xorg.conf.d/
+	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 \
+		/usr/share/X11/xorg.conf.d 10-nvidia-drm-outputclass.conf
+
+	vbin ${FILESDIR}/prime-run
+
+	# Blacklist nouveau
+	vmkdir usr/lib/modprobe.d
+	echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+	chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+
+	# License and documentation
+	vlicense LICENSE
+	vdoc README.txt README
+	vdoc NVIDIA_Changelog
+
+	# nvvm compiler
+	vinstall libnvidia-nvvm.so.4.0.0 755 usr/lib
+	ln -sf libnvidia-nvvm.so.4.0.0 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so.4
+	ln -sf libnvidia-nvvm.so.4 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so
+
+	# Libraries (64bit)
+	_install_libs usr/lib
+	cd 32
+	# Libraries (32bit)
+	_install_libs usr/lib32
+}
+
+nvidia470-gtklibs_package() {
+	short_desc="${_desc} - GTK+ libraries"
+	pkg_install() {
+		vmove "usr/lib/lib*gtk*.so*"
+	}
+}
+
+nvidia470-libs-32bit_package() {
+	short_desc="${_desc} - common libraries (32bit)"
+	# manually set 32bit depends for libglvnd
+	depends="glibc-32bit>=0 libX11-32bit>=0 libXext-32bit>=0 libglvnd-32bit>=0"
+	repository="multilib/nonfree"
+	pkg_install() {
+		vmove usr/lib32
+	}
+}
+
+nvidia470-libs_package() {
+	short_desc="${_desc} - common libraries"
+	depends="libglvnd"
+	nostrip_files="gsp.bin"
+	pkg_install() {
+		vmove usr/lib
+	}
+}
+
+nvidia470-dkms_package() {
+	short_desc="${_desc} - DKMS kernel module"
+	depends="dkms xbps-triggers>=0.121_1"
+	dkms_modules="nvidia ${version}"
+	# dkms must be before initramfs-regenerate to build modules before images
+	triggers="dkms initramfs-regenerate"
+
+	pkg_install() {
+		vmove usr/src
+		vmove usr/lib/modprobe.d
+	}
+}
+
+nvidia470-opencl_package() {
+	short_desc="${_desc} - OpenCL implementation"
+	depends="ocl-icd"
+	pkg_install() {
+		vmove "usr/lib/libnvidia-compiler*"
+		vmove "usr/lib/libnvidia-opencl*"
+		vmove etc/OpenCL
+	}
+}
diff --git a/srcpkgs/nvidia470/update b/srcpkgs/nvidia470/update
new file mode 100644
index 000000000000..d33b1d9a141f
--- /dev/null
+++ b/srcpkgs/nvidia470/update
@@ -0,0 +1,2 @@
+site="http://www.nvidia.com/object/unix.html"
+pattern='Branch Version.+>\K[\d.]+(?=</A>)'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PR PATCH] [Updated] Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (8 preceding siblings ...)
  2022-02-03  4:03 ` [PR PATCH] [Updated] " abenson
@ 2022-02-03  4:07 ` abenson
  2022-02-03  4:08 ` abenson
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-03  4:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

There is an updated pull request by abenson against master on the void-packages repository

https://github.com/motorto/void-packages nvidiaDrivers
https://github.com/void-linux/void-packages/pull/34911

Nvidia drivers
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

A patch file from https://github.com/void-linux/void-packages/pull/34911.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nvidiaDrivers-34911.patch --]
[-- Type: text/x-diff, Size: 19416 bytes --]

From bc9194e17430eb5f697055050c91fc1e14198e3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 22 Dec 2021 18:08:55 +0000
Subject: [PATCH 1/2] nvidia: update to 510.47.03.

---
 srcpkgs/nvidia/files/nvidia-powerd/run |  3 ++
 srcpkgs/nvidia/template                | 38 ++++++++++++++++++--------
 2 files changed, 30 insertions(+), 11 deletions(-)
 create mode 100644 srcpkgs/nvidia/files/nvidia-powerd/run

diff --git a/srcpkgs/nvidia/files/nvidia-powerd/run b/srcpkgs/nvidia/files/nvidia-powerd/run
new file mode 100644
index 000000000000..8fe7540cce5e
--- /dev/null
+++ b/srcpkgs/nvidia/files/nvidia-powerd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/bin/nvidia-powerd
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index 49f986385e1a..43a6ba6821f0 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -3,8 +3,8 @@
 _desc="NVIDIA drivers for linux"
 
 pkgname=nvidia
-version=470.94
-revision=3
+version=510.47.03
+revision=1
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="custom:NVIDIA Proprietary"
 homepage="https://www.nvidia.com"
@@ -19,7 +19,7 @@ conflicts="xserver-abi-video>25_1"
 
 _pkg="NVIDIA-Linux-x86_64-${version}"
 distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
-checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+checksum=f2a421dae836318d3c0d96459ccb3af27e90e50c95b0faa4288af76279e5d690
 # subpackages need to be processed in this specific order
 subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit"
 depends="nvidia-libs-${version}_${revision}
@@ -69,10 +69,6 @@ _install_libs() {
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
 
-	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
-
 	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
@@ -128,9 +124,20 @@ do_install() {
 	ln -sf libglxserver_nvidia.so.${version} \
 		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
 
-	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
-	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+	# Wayland/GBM
+	vinstall libnvidia-egl-wayland.so.1.1.9 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.9 \
 		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+	vinstall libnvidia-egl-gbm.so.1.1.0 755 usr/lib
+	ln -sf libnvidia-egl-gbm.so.1.1.0 \
+		${DESTDIR}/usr/lib/libnvidia-egl-gbm.so.1
+
+	vmkdir usr/share/glvnd/egl_vendor.d
+	vinstall 15_nvidia_gbm.json 755 usr/share/glvnd/egl_vendor.d
+
+	vmkdir usr/lib/gbm
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/usr/lib/gbm/nvidia-drm_gbm.so
 
 	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
 	vinstall 10_nvidia_wayland.json \
@@ -183,10 +190,14 @@ do_install() {
 	vman nvidia-modprobe.1
 
 	# nvidia-persistenced
-	vinstall nvidia-persistenced 4755 usr/bin
+	vbin nvidia-persistenced
 	gzip -d nvidia-persistenced.1.gz
 	vman nvidia-persistenced.1
 
+	# nvidia-powerd
+	vbin nvidia-powerd
+	vsv nvidia-powerd
+
 	# opencl pkg
 	vinstall nvidia.icd 644 etc/OpenCL/vendors
 	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
@@ -204,7 +215,12 @@ do_install() {
 
 	# vulkan real-time ray tracing extensions
 	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
-	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	vinstall libnvidia-vulkan-producer.so.${version} 755 usr/lib
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so.1
 
 	# ngx
 	vbin nvidia-ngx-updater

From cb40cb5377f8d08db4426495a1054763e59bb83a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Tue, 4 Jan 2022 18:23:11 +0000
Subject: [PATCH 2/2] New package: nvidia470-470.94

Closes: #34911 [via git-merge-pr]
---
 srcpkgs/nvidia470-dkms                        |   1 +
 srcpkgs/nvidia470-gtklibs                     |   1 +
 srcpkgs/nvidia470-libs                        |   1 +
 srcpkgs/nvidia470-libs-32bit                  |   1 +
 srcpkgs/nvidia470-opencl                      |   1 +
 srcpkgs/nvidia470/INSTALL                     |   3 +
 srcpkgs/nvidia470/files/dkms.conf             |  19 ++
 .../files/nvidia-drm-outputclass.conf         |  18 +
 srcpkgs/nvidia470/files/prime-run             |   5 +
 srcpkgs/nvidia470/template                    | 311 ++++++++++++++++++
 srcpkgs/nvidia470/update                      |   2 +
 11 files changed, 363 insertions(+)
 create mode 120000 srcpkgs/nvidia470-dkms
 create mode 120000 srcpkgs/nvidia470-gtklibs
 create mode 120000 srcpkgs/nvidia470-libs
 create mode 120000 srcpkgs/nvidia470-libs-32bit
 create mode 120000 srcpkgs/nvidia470-opencl
 create mode 100644 srcpkgs/nvidia470/INSTALL
 create mode 100644 srcpkgs/nvidia470/files/dkms.conf
 create mode 100644 srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
 create mode 100644 srcpkgs/nvidia470/files/prime-run
 create mode 100644 srcpkgs/nvidia470/template
 create mode 100644 srcpkgs/nvidia470/update

diff --git a/srcpkgs/nvidia470-dkms b/srcpkgs/nvidia470-dkms
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-dkms
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-gtklibs b/srcpkgs/nvidia470-gtklibs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-gtklibs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs b/srcpkgs/nvidia470-libs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs-32bit b/srcpkgs/nvidia470-libs-32bit
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs-32bit
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-opencl b/srcpkgs/nvidia470-opencl
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-opencl
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470/INSTALL b/srcpkgs/nvidia470/INSTALL
new file mode 100644
index 000000000000..2461dca609f6
--- /dev/null
+++ b/srcpkgs/nvidia470/INSTALL
@@ -0,0 +1,3 @@
+case "${ACTION}" in
+post) ldconfig -X || : ;;
+esac
diff --git a/srcpkgs/nvidia470/files/dkms.conf b/srcpkgs/nvidia470/files/dkms.conf
new file mode 100644
index 000000000000..ec795dbdc635
--- /dev/null
+++ b/srcpkgs/nvidia470/files/dkms.conf
@@ -0,0 +1,19 @@
+PACKAGE_NAME="nvidia470"
+PACKAGE_VERSION="__PKGVER"
+AUTOINSTALL="yes"
+
+# By default, DKMS will add KERNELRELEASE to the make command line; however,
+# this will cause the kernel module build to infer that it was invoked via
+# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+# the 'make' command name to suppress this behavior.
+MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
+
+# The list of kernel modules was generated by nvidia-installer at runtime.
+BUILT_MODULE_NAME[0]="nvidia"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
+BUILT_MODULE_NAME[1]="nvidia-uvm"
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
+BUILT_MODULE_NAME[2]="nvidia-modeset"
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
+BUILT_MODULE_NAME[3]="nvidia-drm"
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
diff --git a/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
new file mode 100644
index 000000000000..65e3fd38622c
--- /dev/null
+++ b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
@@ -0,0 +1,18 @@
+Section "ServerLayout"
+  Identifier "layout"
+  Option "AllowNVIDIAGPUScreens"
+EndSection
+
+Section "OutputClass"
+    Identifier "intel"
+    MatchDriver "i915"
+    Driver "modesetting"
+EndSection
+
+Section "OutputClass"
+    Identifier "nvidia"
+    MatchDriver "nvidia-drm"
+    Driver "nvidia"
+    Option "AllowEmptyInitialConfiguration"
+    ModulePath "/usr/lib/nvidia/xorg"
+EndSection
diff --git a/srcpkgs/nvidia470/files/prime-run b/srcpkgs/nvidia470/files/prime-run
new file mode 100644
index 000000000000..fc8752fc36c1
--- /dev/null
+++ b/srcpkgs/nvidia470/files/prime-run
@@ -0,0 +1,5 @@
+#!/bin/sh
+export __NV_PRIME_RENDER_OFFLOAD=1
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export __VK_LAYER_NV_optimus=NVIDIA_only
+exec "$@"
diff --git a/srcpkgs/nvidia470/template b/srcpkgs/nvidia470/template
new file mode 100644
index 000000000000..909e3f6f4c61
--- /dev/null
+++ b/srcpkgs/nvidia470/template
@@ -0,0 +1,311 @@
+# Template file for 'nvidia470'
+
+_desc="NVIDIA drivers (GKxxx “Kepler”)"
+
+pkgname=nvidia470
+version=470.94
+revision=1
+maintainer="Andrew Benson <abenson+void@gmail.com>"
+license="custom:NVIDIA Proprietary"
+homepage="https://www.nvidia.com"
+
+archs="x86_64"
+nopie=yes
+repository="nonfree"
+create_wrksrc=yes
+short_desc="${_desc} - Libraries and Utilities"
+hostmakedepends="tar"
+conflicts="xserver-abi-video>24_1"
+
+_pkg="NVIDIA-Linux-x86_64-${version}"
+distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
+checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+# subpackages need to be processed in this specific order
+subpackages="nvidia470-gtklibs nvidia470-dkms nvidia470-opencl nvidia470-libs nvidia470-libs-32bit"
+depends="nvidia470-libs-${version}_${revision}
+ nvidia470-gtklibs-${version}_${revision}
+ nvidia470-dkms-${version}_${revision}"
+
+_install_libs() {
+	local libdir=$1
+
+	# GLX client libs
+	# Required for GLVND option
+	vinstall libGLX_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_nvidia.so.0
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_indirect.so.0
+
+	# OpenGL core library
+	vinstall libnvidia-glcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-eglcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-glsi.so.${version} 755 ${libdir}
+
+	# Vulkan core library
+	vinstall libnvidia-glvkspirv.so.${version} 755 ${libdir}
+
+	vinstall libEGL_nvidia.so.${version} 755 ${libdir}
+	ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/${libdir}/libEGL_nvidia.so.0
+
+	vinstall libGLESv1_CM_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv1_CM_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/libGLESv1_CM_nvidia.so.1
+
+	vinstall libGLESv2_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLESv2_nvidia.so.2
+
+	# Thread Local Storage
+	vinstall libnvidia-tls.so.${version} 755 ${libdir}
+
+	# VDPAU
+	vinstall libvdpau_nvidia.so.${version} 755 ${libdir}/vdpau
+	ln -sf libvdpau_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/vdpau/libvdpau_nvidia.so.1
+
+	vinstall libnvidia-ml.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so.1
+
+	vinstall libnvidia-encode.so.${version} 755 ${libdir}
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
+
+	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
+
+	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
+
+	# CUDA
+	vinstall libcuda.so.${version} 755 ${libdir}
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so.1
+
+	vinstall libnvcuvid.so.${version} 755 ${libdir}
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so.1
+
+	vinstall libnvidia-opticalflow.so.${version} 755 ${libdir}
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so.1
+
+	vinstall libnvidia-ptxjitcompiler.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ptxjitcompiler.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so.1
+	ln -sf libnvidia-ptxjitcompiler.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so
+
+	vinstall libnvidia-allocator.so.${version} 755 ${libdir}
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so.1
+	ln -sf libnvidia-allocator.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so
+}
+
+do_extract() {
+	install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
+	cd ${wrksrc}
+	./${_pkg}.run --extract-only
+	rm -f ${_pkg}.run
+}
+
+do_install() {
+	cd ${_pkg}
+
+	# X driver
+	vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
+
+	# firmware
+	vinstall firmware/gsp.bin 644 usr/lib/firmware/nvidia/${version}
+
+	# GLX extension module for X
+	vinstall libglxserver_nvidia.so.${version} 755 usr/lib/nvidia/xorg
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
+
+	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+
+	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
+	vinstall 10_nvidia_wayland.json \
+		755 usr/share/egl/egl_external_platform.d
+
+	vinstall libnvidia-cfg.so.${version} 755 usr/lib
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
+
+	vbin nvidia-cuda-mps-control
+	vbin nvidia-cuda-mps-server
+	gzip -d nvidia-cuda-mps-control.1.gz
+	vman nvidia-cuda-mps-control.1
+
+	# nvidia-xconfig
+	vbin nvidia-xconfig
+	gzip -d nvidia-xconfig.1.gz
+	vman nvidia-xconfig.1
+
+	# nvidia-settings
+	vbin nvidia-settings
+	gzip -d nvidia-settings.1.gz
+	vman nvidia-settings.1
+	vinstall nvidia-settings.desktop 644 usr/share/applications
+	vinstall nvidia-settings.png 644 usr/share/pixmaps
+	sed -e 's:__UTILS_PATH__:/usr/bin:' \
+		-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+		-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
+
+	vinstall libnvidia-gtk3.so.${version} 755 usr/lib
+	vinstall libnvidia-gtk2.so.${version} 755 usr/lib
+
+	# application profiles (needed by nvidia-settings)
+	vinstall nvidia-application-profiles-${version}-key-documentation \
+		644 usr/share/nvidia
+	vinstall nvidia-application-profiles-${version}-rc 644 usr/share/nvidia
+
+	# nvidia-bug-report
+	vbin nvidia-bug-report.sh nvidia-bug-report
+	vbin nvidia-debugdump
+
+	# nvidia-smi
+	vbin nvidia-smi
+	gzip -d nvidia-smi.1.gz
+	vman nvidia-smi.1
+
+	# nvidia-modprobe
+	vinstall nvidia-modprobe 4755 usr/bin
+	gzip -d nvidia-modprobe.1.gz
+	vman nvidia-modprobe.1
+
+	# nvidia-persistenced
+	vinstall nvidia-persistenced 4755 usr/bin
+	gzip -d nvidia-persistenced.1.gz
+	vman nvidia-persistenced.1
+
+	# opencl pkg
+	vinstall nvidia.icd 644 etc/OpenCL/vendors
+	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
+
+	vinstall libnvidia-compiler.so.${version} 755 usr/lib
+
+	vinstall libnvidia-opencl.so.${version} 755 usr/lib
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so.1
+
+	# vulkan icd
+	vinstall nvidia_icd.json 644 usr/share/vulkan/icd.d
+
+	# vulkan real-time ray tracing extensions
+	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
+	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	# ngx
+	vbin nvidia-ngx-updater
+	vinstall libnvidia-ngx.so.${version} 755 usr/lib
+	ln -sf libnvidia-ngx.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so.1
+	ln -sf libnvidia-ngx.so.1 \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so
+
+	vinstall _nvngx.dll 755 usr/lib/nvidia/wine
+	vinstall nvngx.dll 755 usr/lib/nvidia/wine
+
+	# optix ray racing engine
+	vinstall libnvoptix.so.${version} 755 usr/lib
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so.1
+
+	# dkms pkg
+	vmkdir usr/src/nvidia-${version}
+	vcopy "kernel/*" usr/src/nvidia-${version}
+	vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
+	sed -e "s/__PKGVER/${version}/g" \
+		-e 's/__MAKEJOBS/-j$(nproc)/g' \
+		-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
+
+	# Xorg conf for PRIME
+	vmkdir /usr/share/X11/xorg.conf.d/
+	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 \
+		/usr/share/X11/xorg.conf.d 10-nvidia-drm-outputclass.conf
+
+	vbin ${FILESDIR}/prime-run
+
+	# Blacklist nouveau
+	vmkdir usr/lib/modprobe.d
+	echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+	chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+
+	# License and documentation
+	vlicense LICENSE
+	vdoc README.txt README
+	vdoc NVIDIA_Changelog
+
+	# nvvm compiler
+	vinstall libnvidia-nvvm.so.4.0.0 755 usr/lib
+	ln -sf libnvidia-nvvm.so.4.0.0 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so.4
+	ln -sf libnvidia-nvvm.so.4 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so
+
+	# Libraries (64bit)
+	_install_libs usr/lib
+	cd 32
+	# Libraries (32bit)
+	_install_libs usr/lib32
+}
+
+nvidia470-gtklibs_package() {
+	short_desc="${_desc} - GTK+ libraries"
+	pkg_install() {
+		vmove "usr/lib/lib*gtk*.so*"
+	}
+}
+
+nvidia470-libs-32bit_package() {
+	short_desc="${_desc} - common libraries (32bit)"
+	# manually set 32bit depends for libglvnd
+	depends="glibc-32bit>=0 libX11-32bit>=0 libXext-32bit>=0 libglvnd-32bit>=0"
+	repository="multilib/nonfree"
+	pkg_install() {
+		vmove usr/lib32
+	}
+}
+
+nvidia470-libs_package() {
+	short_desc="${_desc} - common libraries"
+	depends="libglvnd"
+	nostrip_files="gsp.bin"
+	pkg_install() {
+		vmove usr/lib
+	}
+}
+
+nvidia470-dkms_package() {
+	short_desc="${_desc} - DKMS kernel module"
+	depends="dkms xbps-triggers>=0.121_1"
+	dkms_modules="nvidia ${version}"
+	# dkms must be before initramfs-regenerate to build modules before images
+	triggers="dkms initramfs-regenerate"
+
+	pkg_install() {
+		vmove usr/src
+		vmove usr/lib/modprobe.d
+	}
+}
+
+nvidia470-opencl_package() {
+	short_desc="${_desc} - OpenCL implementation"
+	depends="ocl-icd"
+	pkg_install() {
+		vmove "usr/lib/libnvidia-compiler*"
+		vmove "usr/lib/libnvidia-opencl*"
+		vmove etc/OpenCL
+	}
+}
diff --git a/srcpkgs/nvidia470/update b/srcpkgs/nvidia470/update
new file mode 100644
index 000000000000..d33b1d9a141f
--- /dev/null
+++ b/srcpkgs/nvidia470/update
@@ -0,0 +1,2 @@
+site="http://www.nvidia.com/object/unix.html"
+pattern='Branch Version.+>\K[\d.]+(?=</A>)'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PR PATCH] [Updated] Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (9 preceding siblings ...)
  2022-02-03  4:07 ` abenson
@ 2022-02-03  4:08 ` abenson
  2022-02-03  4:14 ` abenson
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-03  4:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

There is an updated pull request by abenson against master on the void-packages repository

https://github.com/motorto/void-packages nvidiaDrivers
https://github.com/void-linux/void-packages/pull/34911

Nvidia drivers
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

A patch file from https://github.com/void-linux/void-packages/pull/34911.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-nvidiaDrivers-34911.patch --]
[-- Type: text/x-diff, Size: 19382 bytes --]

From bc9194e17430eb5f697055050c91fc1e14198e3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Wed, 22 Dec 2021 18:08:55 +0000
Subject: [PATCH 1/2] nvidia: update to 510.47.03.

---
 srcpkgs/nvidia/files/nvidia-powerd/run |  3 ++
 srcpkgs/nvidia/template                | 38 ++++++++++++++++++--------
 2 files changed, 30 insertions(+), 11 deletions(-)
 create mode 100644 srcpkgs/nvidia/files/nvidia-powerd/run

diff --git a/srcpkgs/nvidia/files/nvidia-powerd/run b/srcpkgs/nvidia/files/nvidia-powerd/run
new file mode 100644
index 000000000000..8fe7540cce5e
--- /dev/null
+++ b/srcpkgs/nvidia/files/nvidia-powerd/run
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/bin/nvidia-powerd
diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template
index 49f986385e1a..43a6ba6821f0 100644
--- a/srcpkgs/nvidia/template
+++ b/srcpkgs/nvidia/template
@@ -3,8 +3,8 @@
 _desc="NVIDIA drivers for linux"
 
 pkgname=nvidia
-version=470.94
-revision=3
+version=510.47.03
+revision=1
 maintainer="Andrew Benson <abenson+void@gmail.com>"
 license="custom:NVIDIA Proprietary"
 homepage="https://www.nvidia.com"
@@ -19,7 +19,7 @@ conflicts="xserver-abi-video>25_1"
 
 _pkg="NVIDIA-Linux-x86_64-${version}"
 distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
-checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+checksum=f2a421dae836318d3c0d96459ccb3af27e90e50c95b0faa4288af76279e5d690
 # subpackages need to be processed in this specific order
 subpackages="nvidia-gtklibs nvidia-dkms nvidia-opencl nvidia-libs nvidia-libs-32bit"
 depends="nvidia-libs-${version}_${revision}
@@ -69,10 +69,6 @@ _install_libs() {
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
 	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
 
-	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
-	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
-
 	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
 	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
@@ -128,9 +124,20 @@ do_install() {
 	ln -sf libglxserver_nvidia.so.${version} \
 		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
 
-	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
-	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+	# Wayland/GBM
+	vinstall libnvidia-egl-wayland.so.1.1.9 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.9 \
 		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+	vinstall libnvidia-egl-gbm.so.1.1.0 755 usr/lib
+	ln -sf libnvidia-egl-gbm.so.1.1.0 \
+		${DESTDIR}/usr/lib/libnvidia-egl-gbm.so.1
+
+	vmkdir usr/share/glvnd/egl_vendor.d
+	vinstall 15_nvidia_gbm.json 755 usr/share/glvnd/egl_vendor.d
+
+	vmkdir usr/lib/gbm
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/usr/lib/gbm/nvidia-drm_gbm.so
 
 	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
 	vinstall 10_nvidia_wayland.json \
@@ -183,10 +190,14 @@ do_install() {
 	vman nvidia-modprobe.1
 
 	# nvidia-persistenced
-	vinstall nvidia-persistenced 4755 usr/bin
+	vbin nvidia-persistenced
 	gzip -d nvidia-persistenced.1.gz
 	vman nvidia-persistenced.1
 
+	# nvidia-powerd
+	vbin nvidia-powerd
+	vsv nvidia-powerd
+
 	# opencl pkg
 	vinstall nvidia.icd 644 etc/OpenCL/vendors
 	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
@@ -204,7 +215,12 @@ do_install() {
 
 	# vulkan real-time ray tracing extensions
 	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
-	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	vinstall libnvidia-vulkan-producer.so.${version} 755 usr/lib
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so
+	ln -sf libnvidia-vulkan-producer.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-vulkan-producer.so.1
 
 	# ngx
 	vbin nvidia-ngx-updater

From bc1453a92d5dabd3ecdbd8d531395292e4d14454 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Cerqueira?= <acerqueira021@gmail.com>
Date: Tue, 4 Jan 2022 18:23:11 +0000
Subject: [PATCH 2/2] New package: nvidia470-470.94

---
 srcpkgs/nvidia470-dkms                        |   1 +
 srcpkgs/nvidia470-gtklibs                     |   1 +
 srcpkgs/nvidia470-libs                        |   1 +
 srcpkgs/nvidia470-libs-32bit                  |   1 +
 srcpkgs/nvidia470-opencl                      |   1 +
 srcpkgs/nvidia470/INSTALL                     |   3 +
 srcpkgs/nvidia470/files/dkms.conf             |  19 ++
 .../files/nvidia-drm-outputclass.conf         |  18 +
 srcpkgs/nvidia470/files/prime-run             |   5 +
 srcpkgs/nvidia470/template                    | 311 ++++++++++++++++++
 srcpkgs/nvidia470/update                      |   2 +
 11 files changed, 363 insertions(+)
 create mode 120000 srcpkgs/nvidia470-dkms
 create mode 120000 srcpkgs/nvidia470-gtklibs
 create mode 120000 srcpkgs/nvidia470-libs
 create mode 120000 srcpkgs/nvidia470-libs-32bit
 create mode 120000 srcpkgs/nvidia470-opencl
 create mode 100644 srcpkgs/nvidia470/INSTALL
 create mode 100644 srcpkgs/nvidia470/files/dkms.conf
 create mode 100644 srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
 create mode 100644 srcpkgs/nvidia470/files/prime-run
 create mode 100644 srcpkgs/nvidia470/template
 create mode 100644 srcpkgs/nvidia470/update

diff --git a/srcpkgs/nvidia470-dkms b/srcpkgs/nvidia470-dkms
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-dkms
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-gtklibs b/srcpkgs/nvidia470-gtklibs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-gtklibs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs b/srcpkgs/nvidia470-libs
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-libs-32bit b/srcpkgs/nvidia470-libs-32bit
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-libs-32bit
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470-opencl b/srcpkgs/nvidia470-opencl
new file mode 120000
index 000000000000..f69702e946ca
--- /dev/null
+++ b/srcpkgs/nvidia470-opencl
@@ -0,0 +1 @@
+nvidia470
\ No newline at end of file
diff --git a/srcpkgs/nvidia470/INSTALL b/srcpkgs/nvidia470/INSTALL
new file mode 100644
index 000000000000..2461dca609f6
--- /dev/null
+++ b/srcpkgs/nvidia470/INSTALL
@@ -0,0 +1,3 @@
+case "${ACTION}" in
+post) ldconfig -X || : ;;
+esac
diff --git a/srcpkgs/nvidia470/files/dkms.conf b/srcpkgs/nvidia470/files/dkms.conf
new file mode 100644
index 000000000000..ec795dbdc635
--- /dev/null
+++ b/srcpkgs/nvidia470/files/dkms.conf
@@ -0,0 +1,19 @@
+PACKAGE_NAME="nvidia470"
+PACKAGE_VERSION="__PKGVER"
+AUTOINSTALL="yes"
+
+# By default, DKMS will add KERNELRELEASE to the make command line; however,
+# this will cause the kernel module build to infer that it was invoked via
+# Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+# the 'make' command name to suppress this behavior.
+MAKE[0]="'make' __MAKEJOBS NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
+
+# The list of kernel modules was generated by nvidia-installer at runtime.
+BUILT_MODULE_NAME[0]="nvidia"
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"
+BUILT_MODULE_NAME[1]="nvidia-uvm"
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"
+BUILT_MODULE_NAME[2]="nvidia-modeset"
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"
+BUILT_MODULE_NAME[3]="nvidia-drm"
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"
diff --git a/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
new file mode 100644
index 000000000000..65e3fd38622c
--- /dev/null
+++ b/srcpkgs/nvidia470/files/nvidia-drm-outputclass.conf
@@ -0,0 +1,18 @@
+Section "ServerLayout"
+  Identifier "layout"
+  Option "AllowNVIDIAGPUScreens"
+EndSection
+
+Section "OutputClass"
+    Identifier "intel"
+    MatchDriver "i915"
+    Driver "modesetting"
+EndSection
+
+Section "OutputClass"
+    Identifier "nvidia"
+    MatchDriver "nvidia-drm"
+    Driver "nvidia"
+    Option "AllowEmptyInitialConfiguration"
+    ModulePath "/usr/lib/nvidia/xorg"
+EndSection
diff --git a/srcpkgs/nvidia470/files/prime-run b/srcpkgs/nvidia470/files/prime-run
new file mode 100644
index 000000000000..fc8752fc36c1
--- /dev/null
+++ b/srcpkgs/nvidia470/files/prime-run
@@ -0,0 +1,5 @@
+#!/bin/sh
+export __NV_PRIME_RENDER_OFFLOAD=1
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export __VK_LAYER_NV_optimus=NVIDIA_only
+exec "$@"
diff --git a/srcpkgs/nvidia470/template b/srcpkgs/nvidia470/template
new file mode 100644
index 000000000000..909e3f6f4c61
--- /dev/null
+++ b/srcpkgs/nvidia470/template
@@ -0,0 +1,311 @@
+# Template file for 'nvidia470'
+
+_desc="NVIDIA drivers (GKxxx “Kepler”)"
+
+pkgname=nvidia470
+version=470.94
+revision=1
+maintainer="Andrew Benson <abenson+void@gmail.com>"
+license="custom:NVIDIA Proprietary"
+homepage="https://www.nvidia.com"
+
+archs="x86_64"
+nopie=yes
+repository="nonfree"
+create_wrksrc=yes
+short_desc="${_desc} - Libraries and Utilities"
+hostmakedepends="tar"
+conflicts="xserver-abi-video>24_1"
+
+_pkg="NVIDIA-Linux-x86_64-${version}"
+distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
+checksum=9585aa29330ebad9bdf22ce3ca2bac2026c85a9a32f03d7c59f714a7798500eb
+# subpackages need to be processed in this specific order
+subpackages="nvidia470-gtklibs nvidia470-dkms nvidia470-opencl nvidia470-libs nvidia470-libs-32bit"
+depends="nvidia470-libs-${version}_${revision}
+ nvidia470-gtklibs-${version}_${revision}
+ nvidia470-dkms-${version}_${revision}"
+
+_install_libs() {
+	local libdir=$1
+
+	# GLX client libs
+	# Required for GLVND option
+	vinstall libGLX_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_nvidia.so.0
+	ln -sf libGLX_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLX_indirect.so.0
+
+	# OpenGL core library
+	vinstall libnvidia-glcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-eglcore.so.${version} 755 ${libdir}
+	vinstall libnvidia-glsi.so.${version} 755 ${libdir}
+
+	# Vulkan core library
+	vinstall libnvidia-glvkspirv.so.${version} 755 ${libdir}
+
+	vinstall libEGL_nvidia.so.${version} 755 ${libdir}
+	ln -sf libEGL_nvidia.so.${version} ${DESTDIR}/${libdir}/libEGL_nvidia.so.0
+
+	vinstall libGLESv1_CM_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv1_CM_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/libGLESv1_CM_nvidia.so.1
+
+	vinstall libGLESv2_nvidia.so.${version} 755 ${libdir}
+	ln -sf libGLESv2_nvidia.so.${version} ${DESTDIR}/${libdir}/libGLESv2_nvidia.so.2
+
+	# Thread Local Storage
+	vinstall libnvidia-tls.so.${version} 755 ${libdir}
+
+	# VDPAU
+	vinstall libvdpau_nvidia.so.${version} 755 ${libdir}/vdpau
+	ln -sf libvdpau_nvidia.so.${version} \
+		${DESTDIR}/${libdir}/vdpau/libvdpau_nvidia.so.1
+
+	vinstall libnvidia-ml.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so
+	ln -sf libnvidia-ml.so.${version} ${DESTDIR}/${libdir}/libnvidia-ml.so.1
+
+	vinstall libnvidia-encode.so.${version} 755 ${libdir}
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so
+	ln -sf libnvidia-encode.so.${version} ${DESTDIR}/${libdir}/libnvidia-encode.so.1
+
+	vinstall libnvidia-ifr.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so
+	ln -sf libnvidia-ifr.so.${version} ${DESTDIR}/${libdir}/libnvidia-ifr.so.1
+
+	vinstall libnvidia-fbc.so.${version} 755 ${libdir}
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so
+	ln -sf libnvidia-fbc.so.${version} ${DESTDIR}/${libdir}/libnvidia-fbc.so.1
+
+	# CUDA
+	vinstall libcuda.so.${version} 755 ${libdir}
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so
+	ln -sf libcuda.so.${version} ${DESTDIR}/${libdir}/libcuda.so.1
+
+	vinstall libnvcuvid.so.${version} 755 ${libdir}
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so
+	ln -sf libnvcuvid.so.${version} ${DESTDIR}/${libdir}/libnvcuvid.so.1
+
+	vinstall libnvidia-opticalflow.so.${version} 755 ${libdir}
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so
+	ln -sf libnvidia-opticalflow.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-opticalflow.so.1
+
+	vinstall libnvidia-ptxjitcompiler.so.${version} 755 ${libdir}
+	ln -sf libnvidia-ptxjitcompiler.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so.1
+	ln -sf libnvidia-ptxjitcompiler.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-ptxjitcompiler.so
+
+	vinstall libnvidia-allocator.so.${version} 755 ${libdir}
+	ln -sf libnvidia-allocator.so.${version} \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so.1
+	ln -sf libnvidia-allocator.so.1 \
+		${DESTDIR}/${libdir}/libnvidia-allocator.so
+}
+
+do_extract() {
+	install -m755 ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_pkg}.run ${wrksrc}
+	cd ${wrksrc}
+	./${_pkg}.run --extract-only
+	rm -f ${_pkg}.run
+}
+
+do_install() {
+	cd ${_pkg}
+
+	# X driver
+	vinstall nvidia_drv.so 755 usr/lib/xorg/modules/drivers
+
+	# firmware
+	vinstall firmware/gsp.bin 644 usr/lib/firmware/nvidia/${version}
+
+	# GLX extension module for X
+	vinstall libglxserver_nvidia.so.${version} 755 usr/lib/nvidia/xorg
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so
+	ln -sf libglxserver_nvidia.so.${version} \
+		${DESTDIR}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1
+
+	vinstall libnvidia-egl-wayland.so.1.1.7 755 usr/lib
+	ln -sf libnvidia-egl-wayland.so.1.1.7 \
+		${DESTDIR}/usr/lib/libnvidia-egl-wayland.so.1
+
+	vinstall 10_nvidia.json 755 usr/share/glvnd/egl_vendor.d
+	vinstall 10_nvidia_wayland.json \
+		755 usr/share/egl/egl_external_platform.d
+
+	vinstall libnvidia-cfg.so.${version} 755 usr/lib
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so
+	ln -sf libnvidia-cfg.so.${version} ${DESTDIR}/usr/lib/libnvidia-cfg.so.1
+
+	vbin nvidia-cuda-mps-control
+	vbin nvidia-cuda-mps-server
+	gzip -d nvidia-cuda-mps-control.1.gz
+	vman nvidia-cuda-mps-control.1
+
+	# nvidia-xconfig
+	vbin nvidia-xconfig
+	gzip -d nvidia-xconfig.1.gz
+	vman nvidia-xconfig.1
+
+	# nvidia-settings
+	vbin nvidia-settings
+	gzip -d nvidia-settings.1.gz
+	vman nvidia-settings.1
+	vinstall nvidia-settings.desktop 644 usr/share/applications
+	vinstall nvidia-settings.png 644 usr/share/pixmaps
+	sed -e 's:__UTILS_PATH__:/usr/bin:' \
+		-e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
+		-i ${DESTDIR}/usr/share/applications/nvidia-settings.desktop
+
+	vinstall libnvidia-gtk3.so.${version} 755 usr/lib
+	vinstall libnvidia-gtk2.so.${version} 755 usr/lib
+
+	# application profiles (needed by nvidia-settings)
+	vinstall nvidia-application-profiles-${version}-key-documentation \
+		644 usr/share/nvidia
+	vinstall nvidia-application-profiles-${version}-rc 644 usr/share/nvidia
+
+	# nvidia-bug-report
+	vbin nvidia-bug-report.sh nvidia-bug-report
+	vbin nvidia-debugdump
+
+	# nvidia-smi
+	vbin nvidia-smi
+	gzip -d nvidia-smi.1.gz
+	vman nvidia-smi.1
+
+	# nvidia-modprobe
+	vinstall nvidia-modprobe 4755 usr/bin
+	gzip -d nvidia-modprobe.1.gz
+	vman nvidia-modprobe.1
+
+	# nvidia-persistenced
+	vinstall nvidia-persistenced 4755 usr/bin
+	gzip -d nvidia-persistenced.1.gz
+	vman nvidia-persistenced.1
+
+	# opencl pkg
+	vinstall nvidia.icd 644 etc/OpenCL/vendors
+	vinstall nvidia_layers.json 644 usr/share/vulkan/implicit_layer.d
+
+	vinstall libnvidia-compiler.so.${version} 755 usr/lib
+
+	vinstall libnvidia-opencl.so.${version} 755 usr/lib
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so
+	ln -sf libnvidia-opencl.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-opencl.so.1
+
+	# vulkan icd
+	vinstall nvidia_icd.json 644 usr/share/vulkan/icd.d
+
+	# vulkan real-time ray tracing extensions
+	vinstall libnvidia-rtcore.so.${version} 755 usr/lib
+	vinstall libnvidia-cbl.so.${version} 755 usr/lib
+
+	# ngx
+	vbin nvidia-ngx-updater
+	vinstall libnvidia-ngx.so.${version} 755 usr/lib
+	ln -sf libnvidia-ngx.so.${version} \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so.1
+	ln -sf libnvidia-ngx.so.1 \
+		${DESTDIR}/usr/lib/libnvidia-ngx.so
+
+	vinstall _nvngx.dll 755 usr/lib/nvidia/wine
+	vinstall nvngx.dll 755 usr/lib/nvidia/wine
+
+	# optix ray racing engine
+	vinstall libnvoptix.so.${version} 755 usr/lib
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so
+	ln -sf libnvoptix.so.${version} /usr/lib/libnvoptix.so.1
+
+	# dkms pkg
+	vmkdir usr/src/nvidia-${version}
+	vcopy "kernel/*" usr/src/nvidia-${version}
+	vcopy ${FILESDIR}/dkms.conf usr/src/nvidia-${version}
+	sed -e "s/__PKGVER/${version}/g" \
+		-e 's/__MAKEJOBS/-j$(nproc)/g' \
+		-i ${DESTDIR}/usr/src/nvidia-${version}/dkms.conf
+
+	# Xorg conf for PRIME
+	vmkdir /usr/share/X11/xorg.conf.d/
+	vinstall ${FILESDIR}/nvidia-drm-outputclass.conf 644 \
+		/usr/share/X11/xorg.conf.d 10-nvidia-drm-outputclass.conf
+
+	vbin ${FILESDIR}/prime-run
+
+	# Blacklist nouveau
+	vmkdir usr/lib/modprobe.d
+	echo "blacklist nouveau" > ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+	chmod 644 ${DESTDIR}/usr/lib/modprobe.d/nvidia.conf
+
+	# License and documentation
+	vlicense LICENSE
+	vdoc README.txt README
+	vdoc NVIDIA_Changelog
+
+	# nvvm compiler
+	vinstall libnvidia-nvvm.so.4.0.0 755 usr/lib
+	ln -sf libnvidia-nvvm.so.4.0.0 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so.4
+	ln -sf libnvidia-nvvm.so.4 \
+		${DESTDIR}/usr/lib/libnvidia-nvvm.so
+
+	# Libraries (64bit)
+	_install_libs usr/lib
+	cd 32
+	# Libraries (32bit)
+	_install_libs usr/lib32
+}
+
+nvidia470-gtklibs_package() {
+	short_desc="${_desc} - GTK+ libraries"
+	pkg_install() {
+		vmove "usr/lib/lib*gtk*.so*"
+	}
+}
+
+nvidia470-libs-32bit_package() {
+	short_desc="${_desc} - common libraries (32bit)"
+	# manually set 32bit depends for libglvnd
+	depends="glibc-32bit>=0 libX11-32bit>=0 libXext-32bit>=0 libglvnd-32bit>=0"
+	repository="multilib/nonfree"
+	pkg_install() {
+		vmove usr/lib32
+	}
+}
+
+nvidia470-libs_package() {
+	short_desc="${_desc} - common libraries"
+	depends="libglvnd"
+	nostrip_files="gsp.bin"
+	pkg_install() {
+		vmove usr/lib
+	}
+}
+
+nvidia470-dkms_package() {
+	short_desc="${_desc} - DKMS kernel module"
+	depends="dkms xbps-triggers>=0.121_1"
+	dkms_modules="nvidia ${version}"
+	# dkms must be before initramfs-regenerate to build modules before images
+	triggers="dkms initramfs-regenerate"
+
+	pkg_install() {
+		vmove usr/src
+		vmove usr/lib/modprobe.d
+	}
+}
+
+nvidia470-opencl_package() {
+	short_desc="${_desc} - OpenCL implementation"
+	depends="ocl-icd"
+	pkg_install() {
+		vmove "usr/lib/libnvidia-compiler*"
+		vmove "usr/lib/libnvidia-opencl*"
+		vmove etc/OpenCL
+	}
+}
diff --git a/srcpkgs/nvidia470/update b/srcpkgs/nvidia470/update
new file mode 100644
index 000000000000..d33b1d9a141f
--- /dev/null
+++ b/srcpkgs/nvidia470/update
@@ -0,0 +1,2 @@
+site="http://www.nvidia.com/object/unix.html"
+pattern='Branch Version.+>\K[\d.]+(?=</A>)'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (10 preceding siblings ...)
  2022-02-03  4:08 ` abenson
@ 2022-02-03  4:14 ` abenson
  2022-02-03 14:24 ` Lolzen
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-03  4:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1028585549

Comment:
I've made a mess of this, but:

@motorto Thank you for your work.  I hope you don't mind, but I updated your PR to the new production version.

Everyone else, please test!

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (11 preceding siblings ...)
  2022-02-03  4:14 ` abenson
@ 2022-02-03 14:24 ` Lolzen
  2022-02-03 22:02 ` motorto
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Lolzen @ 2022-02-03 14:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 370 bytes --]

New comment by Lolzen on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1029041324

Comment:
On a userlevel test everything seems to be fine. 
DKMS module built on 5.15, 5.16 fine. WoW on Lutris no issues, had some issues starting steam due to usererror and not upgrading the 32bit libs, once done no issues there aswell.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (12 preceding siblings ...)
  2022-02-03 14:24 ` Lolzen
@ 2022-02-03 22:02 ` motorto
  2022-02-04  4:31 ` Lolzen
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: motorto @ 2022-02-03 22:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 737 bytes --]

New comment by motorto on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1029442782

Comment:
Don't mind at all
Its your package after all! Thanks for your incredible work !

(My pc was inoperable for some days, sorry for the late reply)

On 22/02/02 08:14pm, Andrew Benson wrote:
> I've made a mess of this, but:
> 
> @motorto Thank you for your work.  I hope you don't mind, but I updated your PR to the new production version.
> 
> Everyone else, please test!
> 
> -- 
> Reply to this email directly or view it on GitHub:
> https://github.com/void-linux/void-packages/pull/34911#issuecomment-1028585549
> You are receiving this because you were mentioned.
> 
> Message ID: ***@***.***>


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (13 preceding siblings ...)
  2022-02-03 22:02 ` motorto
@ 2022-02-04  4:31 ` Lolzen
  2022-02-04  5:33 ` [PR PATCH] [Closed]: " abenson
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Lolzen @ 2022-02-04  4:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 477 bytes --]

New comment by Lolzen on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1029041324

Comment:
On a userlevel test everything seems to be fine. 
DKMS module built on 5.15, 5.16 fine. WoW on Lutris no issues, had some issues starting steam due to usererror and not upgrading the 32bit libs, once done no issues there aswell.
EDIT: no crashes throughout normal usage throughout the day. (video streaming, gaming, discord, browsing)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PR PATCH] [Closed]: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (14 preceding siblings ...)
  2022-02-04  4:31 ` Lolzen
@ 2022-02-04  5:33 ` abenson
  2022-02-04 12:18 ` wael444
  2022-02-04 14:59 ` abenson
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-04  5:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 472 bytes --]

There's a closed pull request on the void-packages repository

Nvidia drivers
https://github.com/void-linux/void-packages/pull/34911

Description:
Testing the changes

    I tested the changes in this PR: NO

    I built this PR locally for my native architecture, x86_64

Still haven't got the time to test on hardware, but it builds and installs fine .

Testers are welcome, hope I didn't miss anything ...

I closed the other one without intention... #34664 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (15 preceding siblings ...)
  2022-02-04  5:33 ` [PR PATCH] [Closed]: " abenson
@ 2022-02-04 12:18 ` wael444
  2022-02-04 14:59 ` abenson
  17 siblings, 0 replies; 19+ messages in thread
From: wael444 @ 2022-02-04 12:18 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 374 bytes --]

New comment by wael444 on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1029936143

Comment:
> 510.47.03 stable is now official

what? i thought 495 is stable and 510 is production release
also good timing for my comment:

> would it be possible to have an unofficial version 510 template?

i hope wayland works now!


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: Nvidia drivers
  2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
                   ` (16 preceding siblings ...)
  2022-02-04 12:18 ` wael444
@ 2022-02-04 14:59 ` abenson
  17 siblings, 0 replies; 19+ messages in thread
From: abenson @ 2022-02-04 14:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 426 bytes --]

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/34911#issuecomment-1030065379

Comment:
>  i thought 495 is stable and 510 is production release

495.xx is still "New Feature" branch, though its currently behind 510.xx "Production Branch".  470.xx is the newest "Legacy".  [Current Releases](https://forums.developer.nvidia.com/t/current-graphics-driver-releases/28500).

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2022-02-04 14:59 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-06 18:26 [PR PATCH] Nvidia drivers motorto
2022-01-26 17:36 ` prateekmedia
2022-01-26 21:32 ` motorto
2022-01-28 16:17 ` wael444
2022-01-28 17:32 ` wael444
2022-01-28 21:50 ` abenson
2022-01-28 22:14 ` [PR PATCH] [Updated] " abenson
2022-01-28 22:16 ` abenson
2022-02-02 13:05 ` Lolzen
2022-02-03  4:03 ` [PR PATCH] [Updated] " abenson
2022-02-03  4:07 ` abenson
2022-02-03  4:08 ` abenson
2022-02-03  4:14 ` abenson
2022-02-03 14:24 ` Lolzen
2022-02-03 22:02 ` motorto
2022-02-04  4:31 ` Lolzen
2022-02-04  5:33 ` [PR PATCH] [Closed]: " abenson
2022-02-04 12:18 ` wael444
2022-02-04 14:59 ` abenson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).