diff options
author | Det | 2015-06-14 04:13:28 +0300 |
---|---|---|
committer | Det | 2015-06-14 04:14:15 +0300 |
commit | ac906aaa391fa8e15659d46e3b5e04cfbc7b8896 (patch) | |
tree | f924daa3e1c14343878c2eae5af623aed7761498 | |
download | aur-ac906aaa391fa8e15659d46e3b5e04cfbc7b8896.tar.gz |
Initial import: 352.09-1
-rw-r--r-- | .SRCINFO | 64 | ||||
-rw-r--r-- | 20-nvidia.conf | 4 | ||||
-rw-r--r-- | PKGBUILD | 410 | ||||
-rw-r--r-- | nvidia-full-beta-all.install | 47 | ||||
-rw-r--r-- | nvidia-utils-full-beta-all.install | 10 |
5 files changed, 535 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..466f778804d2 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,64 @@ +pkgbase = nvidia-full-beta-all + pkgver = 352.09 + pkgrel = 1 + url = http://www.nvidia.com/ + arch = i686 + arch = x86_64 + license = custom:NVIDIA + makedepends = linux-headers + makedepends = pacman>=4.2.0 + options = !strip + source = 20-nvidia.conf + md5sums = 2640eac092c220073f0668a7aaff61f7 + source_i686 = ftp://download.nvidia.com/XFree86/Linux-x86/352.09/NVIDIA-Linux-x86-352.09.run + md5sums_i686 = 0e009686400c522209eaa8ab835ff81f + source_x86_64 = ftp://download.nvidia.com/XFree86/Linux-x86_64/352.09/NVIDIA-Linux-x86_64-352.09-no-compat32.run + md5sums_x86_64 = eb5ad6a07dc03e0a19d5f6fa069c494b + source_x86_64_full = ftp://download.nvidia.com/XFree86/Linux-x86_64/352.09/NVIDIA-Linux-x86_64-352.09.run + md5sums_x86_64_full = 1fd89728cda5f5a68411a04bda1d22e4 + +pkgname = nvidia-full-beta-all + pkgdesc = NVIDIA drivers for linux (beta) + install = nvidia-full-beta-all.install + depends = nvidia-utils-full-beta=352.09 + depends = libgl + provides = nvidia + conflicts = nvidia-96xx + conflicts = nvidia-173xx + conflicts = nvidia + +pkgname = nvidia-utils-full-beta-all + pkgdesc = NVIDIA libraries and utilities (beta) + install = nvidia-utils-full-beta-all.install + depends = xorg-server + optdepends = gtk2: nvidia-settings (GTK+ v2) + optdepends = gtk3: nvidia-settings (GTK+ v3) + optdepends = opencl-nvidia-beta: OpenCL support + optdepends = xorg-server-devel: nvidia-xconfig + provides = nvidia-utils=352.09 + provides = nvidia-utils-full-beta=352.09 + conflicts = nvidia-utils + conflicts = nvidia-utils-full-beta + backup = etc/X11/xorg.conf.d/20-nvidia.conf + +pkgname = nvidia-libgl-full-beta-all + pkgdesc = NVIDIA library symlinks (beta) + depends = nvidia-utils-full-beta + provides = libgl + provides = nvidia-libgl + provides = nvidia-libgl-full-beta=352.09 + conflicts = libgl + conflicts = nvidia-libgl + conflicts = mesa<10.1.0-2 + conflicts = nvidia-libgl-full-beta + +pkgname = opencl-nvidia-full-beta-all + pkgdesc = OpenCL implemention for NVIDIA (beta) + depends = libcl + depends = zlib + optdepends = opencl-headers: headers necessary for OpenCL development + provides = opencl-nvidia + provides = opencl-nvidia-full-beta=352.09 + conflicts = opencl-nvidia + conflicts = opencl-nvidia-full-beta + diff --git a/20-nvidia.conf b/20-nvidia.conf new file mode 100644 index 000000000000..8b8e26863c90 --- /dev/null +++ b/20-nvidia.conf @@ -0,0 +1,4 @@ +Section "Device" + Identifier "Default Nvidia Device" + Option "NoLogo" "True" +EndSection diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..d2fea6083c0a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,410 @@ +# Maintainer: Det <nimetonmaili g-mail> +# Based on nvidia-beta-all: https://aur.archlinux.org/packages/nvidia-beta-all/, +# nvidia-utils-beta: https://aur.archlinux.org/packages/nvidia-utils-beta/ and +# lib32-nvidia-utils-beta: https://aur.archlinux.org/packages/lib32-nvidia-utils-beta/ + +# Build the lib32 packages too? This only needs to be defined once and will +# remain until the packages are removed. "1" to enable. +_lib32=0 + +pkgname=('nvidia-full-beta-all' 'nvidia-utils-full-beta-all' 'nvidia-libgl-full-beta-all' 'opencl-nvidia-full-beta-all') +pkgver=352.09 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://www.nvidia.com/" +license=('custom:NVIDIA') +makedepends=('linux-headers' 'pacman>=4.2.0') +options=('!strip') + +# Installer name +_pkg="NVIDIA-Linux-x86_64-$pkgver-no-compat32" +if [[ $CARCH = i686 ]]; then + _pkg="NVIDIA-Linux-x86-$pkgver" +elif [[ $_lib32 = 1 ]] || pacman -Q lib32-nvidia-utils-full-beta-all &>/dev/null; then + pkgname+=('lib32-nvidia-utils-full-beta-all' 'lib32-nvidia-libgl-full-beta-all' 'lib32-opencl-nvidia-full-beta-all') + _pkg="NVIDIA-Linux-x86_64-$pkgver" +fi + +# Source +source=('20-nvidia.conf') +source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/$pkgver/NVIDIA-Linux-x86-$pkgver.run") +source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/$pkgver/$_pkg.run") +md5sums=('2640eac092c220073f0668a7aaff61f7') +md5sums_i686=('0e009686400c522209eaa8ab835ff81f') +md5sums_x86_64=('eb5ad6a07dc03e0a19d5f6fa069c494b') +[[ $_pkg = NVIDIA-Linux-x86_64-$pkgver ]] && md5sums_x86_64=('1fd89728cda5f5a68411a04bda1d22e4') + +# Patch +#source+=('linux-4.0.patch') +#md5sums+=('fb510521aae27ebc91c0f3065ba73f11') + +_create_links() { + # create missing soname links + for _lib in $(find "$pkgdir" -name '*.so*' | grep -v 'xorg/'); do + # Get soname/base name + _soname=$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true) + _base=$(echo "$_soname" | sed -r 's/(.*).so.*/\1.so/') + + # Create missing links + [[ -e $_soname ]] || ln -s $(basename "$_lib") "$_soname" + [[ -e $_base ]] || ln -s $(basename "$_soname") "$_base" + done +} + +prepare() { + # Remove previous builds + if [[ -d $_pkg ]]; then + rm -rf $_pkg + fi + + # Extract + msg2 "Self-Extracting $_pkg.run..." + sh $_pkg.run -x + cd $_pkg + bsdtar -xf nvidia-persistenced-init.tar.bz2 + + for _kernel in $(cat /usr/lib/modules/extramodules-*/version); do + # Use separate source directories + cp -r kernel kernel-$_kernel + # Patch + if [[ $(ls "$srcdir"/*.patch 2>/dev/null) ]]; then + # Loop + cd kernel-$_kernel + for _patch in "$srcdir"/*.patch; do + # Check version + _major_patch=$(echo $_patch | grep -Po "\d+\.\d+") + if (( $(vercmp $_kernel $_major_patch) >= 0 )); then + msg2 "Applying ${_patch##*/} for $_kernel..." + patch -p2 -i "$_patch" + fi + done + cd .. + fi + done +} + +build() { + # Build for all kernels + for _kernel in $(cat /usr/lib/modules/extramodules-*/version); do + cd "$srcdir"/$_pkg/kernel-$_kernel + + # Main module + msg2 "Building Nvidia module for $_kernel..." + make SYSSRC=/usr/lib/modules/$_kernel/build module + + # Unified memory: http://devblogs.nvidia.com/parallelforall/unified-memory-in-cuda-6/ + if [[ $CARCH = x86_64 ]]; then + cd uvm + msg2 "Building Unified memory module for $_kernel..." + make SYSSRC=/usr/lib/modules/$_kernel/build module + fi + done +} + +package_opencl-nvidia-full-beta-all() { + pkgdesc="OpenCL implemention for NVIDIA (beta)" + depends=('libcl' 'zlib') + optdepends=('opencl-headers: headers necessary for OpenCL development') + provides=('opencl-nvidia' "opencl-nvidia-full-beta=$pkgver") + conflicts=('opencl-nvidia' 'opencl-nvidia-full-beta') + cd $_pkg + + # OpenCL + install -Dm644 nvidia.icd "$pkgdir"/etc/OpenCL/vendors/nvidia.icd + install -Dm755 libnvidia-compiler.so.$pkgver "$pkgdir"/usr/lib/libnvidia-compiler.so.$pkgver + install -Dm755 libnvidia-opencl.so.$pkgver "$pkgdir"/usr/lib/libnvidia-opencl.so.$pkgver + + # create missing soname links + _create_links + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia/ "$pkgdir"/usr/share/licenses/opencl-nvidia +} + +package_nvidia-libgl-full-beta-all() { + pkgdesc="NVIDIA library symlinks (beta)" + depends=('nvidia-utils-full-beta') + provides=('libgl' 'nvidia-libgl' "nvidia-libgl-full-beta=$pkgver") + conflicts=('libgl' 'nvidia-libgl' 'mesa<10.1.0-2' 'nvidia-libgl-full-beta') + cd $_pkg + + # GLX extension for X (link) + install -d "$pkgdir"/usr/lib/xorg/modules/extensions/ + ln -s /usr/lib/nvidia/xorg/modules/extensions/libglx.so.$pkgver \ + "$pkgdir"/usr/lib/xorg/modules/extensions/libglx.so.$pkgver + ln -s libglx.so.$pkgver "$pkgdir"/usr/lib/xorg/modules/extensions/libglx.so.1 + ln -s libglx.so.$pkgver "$pkgdir"/usr/lib/xorg/modules/extensions/libglx.so + + # OpenGL (link) + ln -s /usr/lib/nvidia/libGL.so.$pkgver "$pkgdir"/usr/lib/libGL.so.$pkgver + ln -s libGL.so.$pkgver "$pkgdir"/usr/lib/libGL.so.1 + ln -s libGL.so.$pkgver "$pkgdir"/usr/lib/libGL.so + + # EGL (link) + ln -s /usr/lib/nvidia/libEGL.so.$pkgver "$pkgdir"/usr/lib/libEGL.so.$pkgver + ln -s libEGL.so.$pkgver "$pkgdir"/usr/lib/libEGL.so.1 + ln -s libEGL.so.$pkgver "$pkgdir"/usr/lib/libEGL.so + + # OpenGL ES 1 (link) + ln -s /usr/lib/nvidia/libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib/libGLESv1_CM.so.$pkgver + ln -s libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib/libGLESv1_CM.so.1 + ln -s libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib/libGLESv1_CM.so + + # OpenGL ES 2 (link) + ln -s /usr/lib/nvidia/libGLESv2.so.$pkgver "$pkgdir"/usr/lib/libGLESv2.so.$pkgver + ln -s libGLESv2.so.$pkgver "$pkgdir"/usr/lib/libGLESv2.so.2 + ln -s libGLESv2.so.$pkgver "$pkgdir"/usr/lib/libGLESv2.so + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia/ "$pkgdir"/usr/share/licenses/nvidia-libgl +} + +package_nvidia-utils-full-beta-all() { + pkgdesc="NVIDIA libraries and utilities (beta)" + depends=('xorg-server') + optdepends=('gtk2: nvidia-settings (GTK+ v2)' + 'gtk3: nvidia-settings (GTK+ v3)' + 'opencl-nvidia-beta: OpenCL support' + 'xorg-server-devel: nvidia-xconfig') + provides=("nvidia-utils=$pkgver" "nvidia-utils-full-beta=$pkgver") + conflicts=('nvidia-utils' 'nvidia-utils-full-beta') + backup=('etc/X11/xorg.conf.d/20-nvidia.conf') + install=$pkgname.install + cd $_pkg + + # X driver + install -Dm755 nvidia_drv.so "$pkgdir"/usr/lib/xorg/modules/drivers/nvidia_drv.so + + # GLX extension for X + install -Dm755 libglx.so.$pkgver "$pkgdir"/usr/lib/nvidia/xorg/modules/extensions/libglx.so.$pkgver + ln -s libglx.so.$pkgver "$pkgdir"/usr/lib/nvidia/xorg/modules/extensions/libglx.so + + # OpenGL + install -Dm755 libGL.so.$pkgver "$pkgdir"/usr/lib/nvidia/libGL.so.$pkgver + install -Dm755 libnvidia-glcore.so.$pkgver "$pkgdir"/usr/lib/libnvidia-glcore.so.$pkgver + + # EGL + install -Dm755 libEGL.so.$pkgver "$pkgdir"/usr/lib/nvidia/libEGL.so.$pkgver + install -Dm755 libnvidia-eglcore.so.$pkgver "$pkgdir"/usr/lib/libnvidia-eglcore.so.$pkgver + + # OpenGL ES + install -Dm755 libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib/nvidia/libGLESv1_CM.so.$pkgver + install -Dm755 libGLESv2.so.$pkgver "$pkgdir"/usr/lib/nvidia/libGLESv2.so.$pkgver + install -Dm755 libnvidia-glsi.so.$pkgver "$pkgdir"/usr/lib/libnvidia-glsi.so.$pkgver + + # VDPAU (Video Decode and Presentation API for Unix) + install -Dm755 libvdpau_nvidia.so.$pkgver "$pkgdir"/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver + + # GPU-accelerated video encoding + install -Dm755 libnvidia-encode.so.$pkgver "$pkgdir"/usr/lib/libnvidia-encode.so.$pkgver + + # GTK+ for nvidia-settings + install -Dm755 libnvidia-gtk2.so.$pkgver "$pkgdir"/usr/lib/libnvidia-gtk2.so.$pkgver + install -Dm755 libnvidia-gtk3.so.$pkgver "$pkgdir"/usr/lib/libnvidia-gtk3.so.$pkgver + + # CUDA (Compute Unified Device Architecture) + install -Dm755 libcuda.so.$pkgver "$pkgdir"/usr/lib/libcuda.so.$pkgver + install -Dm755 libnvcuvid.so.$pkgver "$pkgdir"/usr/lib/libnvcuvid.so.$pkgver + + # TLS (Thread local storage) support for OpenGL libs + install -Dm755 tls/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib/libnvidia-tls.so.$pkgver + + # GPU monitoring and management + install -Dm755 libnvidia-ml.so.$pkgver "$pkgdir"/usr/lib/libnvidia-ml.so.$pkgver + install -Dm755 nvidia-smi "$pkgdir"/usr/bin/nvidia-smi + install -Dm644 nvidia-smi.1.gz "$pkgdir"/usr/share/man/man1/nvidia-smi.1.gz + + # Helper libs for approved partners' GRID remote apps + install -Dm755 libnvidia-ifr.so.$pkgver "$pkgdir"/usr/lib/libnvidia-ifr.so.$pkgver + install -Dm755 libnvidia-fbc.so.$pkgver "$pkgdir"/usr/lib/libnvidia-fbc.so.$pkgver + + # create missing soname links + _create_links + + # CUDA MPS (Multi Process Service) + install -Dm755 nvidia-cuda-mps-control "$pkgdir"/usr/bin/nvidia-cuda-mps-control + install -Dm644 nvidia-cuda-mps-control.1.gz "$pkgdir"/usr/share/man/man1/nvidia-cuda-mps-control.1.gz + install -Dm755 nvidia-cuda-mps-server "$pkgdir"/usr/bin/nvidia-cuda-mps-server + + # nvidia-modprobe + install -Dm4755 nvidia-modprobe "$pkgdir"/usr/bin/nvidia-modprobe + install -Dm644 nvidia-modprobe.1.gz "$pkgdir"/usr/share/man/man1/nvidia-modprobe.1.gz + + # nvidia-persistenced + install -Dm755 nvidia-persistenced "$pkgdir"/usr/bin/nvidia-persistenced + install -Dm644 nvidia-persistenced.1.gz "$pkgdir"/usr/share/man/man1/nvidia-persistenced.1.gz + install -Dm644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template \ + "$pkgdir"/usr/lib/systemd/system/nvidia-persistenced.service + sed -i 's/__USER__/nvidia-persistenced/' "$pkgdir"/usr/lib/systemd/system/nvidia-persistenced.service + + # nvidia-settings + install -Dm755 nvidia-settings "$pkgdir"/usr/bin/nvidia-settings + install -Dm644 nvidia-settings.1.gz "$pkgdir"/usr/share/man/man1/nvidia-settings.1.gz + install -Dm644 nvidia-settings.png "$pkgdir"/usr/share/pixmaps/nvidia-settings.png + install -Dm644 nvidia-settings.desktop "$pkgdir"/usr/share/applications/nvidia-settings.desktop + sed -e 's:__UTILS_PATH__:/usr/bin:' \ + -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \ + -i "$pkgdir"/usr/share/applications/nvidia-settings.desktop + + # nvidia-xconfig + install -Dm755 nvidia-xconfig "$pkgdir"/usr/bin/nvidia-xconfig + install -Dm644 nvidia-xconfig.1.gz "$pkgdir"/usr/share/man/man1/nvidia-xconfig.1.gz + install -Dm755 libnvidia-cfg.so.$pkgver "$pkgdir"/usr/lib/libnvidia-cfg.so.$pkgver + + # Debug + install -Dm755 nvidia-bug-report.sh "$pkgdir"/usr/bin/nvidia-bug-report.sh + install -Dm755 nvidia-debugdump "$pkgdir"/usr/bin/nvidia-debugdump + + # Disable logo splash + install -Dm644 "$srcdir"/20-nvidia.conf "$pkgdir"/etc/X11/xorg.conf.d/20-nvidia.conf + + # Vendor profiles + install -Dm644 nvidia-application-profiles-$pkgver-rc \ + "$pkgdir"/usr/share/nvidia/nvidia-application-profiles-$pkgver-rc + install -Dm644 nvidia-application-profiles-$pkgver-key-documentation \ + "$pkgdir"/usr/share/nvidia/nvidia-application-profiles-$pkgver-key-documentation + + # Documentation + install -Dm644 README.txt "$pkgdir"/usr/share/doc/nvidia/README + install -Dm644 NVIDIA_Changelog "$pkgdir"/usr/share/doc/nvidia/NVIDIA_Changelog + cp -r html "$pkgdir"/usr/share/doc/nvidia/ + ln -s nvidia/ "$pkgdir"/usr/share/doc/nvidia-utils + + # Licenses + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/nvidia/LICENSE + ln -s nvidia/ "$pkgdir"/usr/share/licenses/nvidia-utils +} + +package_nvidia-full-beta-all() { + pkgdesc="NVIDIA drivers for linux (beta)" + depends=("nvidia-utils-full-beta=$pkgver" 'libgl') + provides=('nvidia') + conflicts=('nvidia-96xx' 'nvidia-173xx' 'nvidia') + install=$pkgname.install + + # Install for all kernels + for _extramod in $(find /usr/lib/modules/extramodules-*/version -printf '%h\n'); do + _kernel=$(cat $_extramod/version) + + # Install + install -Dm644 $_pkg/kernel-$_kernel/nvidia.ko \ + "$pkgdir"/$_extramod/nvidia.ko + + # Unified Memory + if [[ $CARCH = x86_64 ]]; then + install -Dm644 $_pkg/kernel-$_kernel/uvm/nvidia-uvm.ko \ + "$pkgdir/$_extramod/nvidia-uvm.ko" + fi + + # Compress + gzip "$pkgdir"/$_extramod/nvidia*.ko + done + + # Blacklist Nouveau + install -d "$pkgdir"/usr/lib/modprobe.d/ + echo "blacklist nouveau" >> "$pkgdir"/usr/lib/modprobe.d/nvidia.conf +} + +package_lib32-opencl-nvidia-full-beta-all() { + pkgdesc="OpenCL implemention for NVIDIA (32-bit, beta)" + depends=('lib32-libcl' 'lib32-zlib' 'lib32-gcc-libs') + optdepends=('opencl-headers: headers necessary for OpenCL development') + provides=('lib32-opencl-nvidia' "lib32-opencl-nvidia-full-beta=$pkgver") + conflicts=('lib32-opencl-nvidia' 'lib32-opencl-nvidia-full-beta') + cd $_pkg + + # OpenCL + install -Dm755 libnvidia-compiler.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-compiler.so.$pkgver + install -Dm755 libnvidia-opencl.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-opencl.so.$pkgver + + # create missing soname links + _create_links + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-opencl-nvidia +} + +package_lib32-nvidia-libgl-full-beta-all() { + pkgdesc="NVIDIA library symlinks (32-bit, beta)" + depends=('lib32-nvidia-utils-full-beta') + provides=('lib32-libgl' 'lib32-nvidia-libgl' "lib32-nvidia-libgl-full-beta=$pkgver") + conflicts=('lib32-libgl' 'lib32-nvidia-libgl' 'lib32-mesa<10.1.0-2' 'lib32-nvidia-libgl-full-beta') + cd $_pkg + + # OpenGL (link) + install -d "$pkgdir"/usr/lib32/ + ln -s /usr/lib32/nvidia/libGL.so.$pkgver "$pkgdir"/usr/lib32/libGL.so.$pkgver + ln -s libGL.so.$pkgver "$pkgdir"/usr/lib32/libGL.so.1 + ln -s libGL.so.$pkgver "$pkgdir"/usr/lib32/libGL.so + + # EGL (link) + ln -s /usr/lib32/nvidia/libEGL.so.$pkgver "$pkgdir"/usr/lib32/libEGL.so.$pkgver + ln -s libEGL.so.$pkgver "$pkgdir"/usr/lib32/libEGL.so.1 + ln -s libEGL.so.$pkgver "$pkgdir"/usr/lib32/libEGL.so + + # OpenGL ES 1 (link) + ln -s /usr/lib32/nvidia/libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib32/libGLESv1_CM.so.$pkgver + ln -s libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib32/libGLESv1_CM.so.1 + ln -s libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib32/libGLESv1_CM.so + + # OpenGL ES 2 (link) + ln -s /usr/lib32/nvidia/libGLESv2.so.$pkgver "$pkgdir"/usr/lib32/libGLESv2.so.$pkgver + ln -s libGLESv2.so.$pkgver "$pkgdir"/usr/lib32/libGLESv2.so.2 + ln -s libGLESv2.so.$pkgver "$pkgdir"/usr/lib32/libGLESv2.so + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-nvidia-libgl +} + +package_lib32-nvidia-utils-full-beta-all() { + pkgdesc="NVIDIA libraries (32-bit, beta)" + depends=('lib32-zlib' 'lib32-gcc-libs') + optdepends=('lib32-opencl-nvidia-full-beta: OpenCL support') + provides=("lib32-nvidia-utils=$pkgver" "lib32-nvidia-utils-full-beta=$pkgver") + conflicts=('lib32-nvidia-utils' 'lib32-nvidia-utils-full-beta') + cd $_pkg + + # OpenGL + install -Dm755 32/libGL.so.$pkgver "$pkgdir"/usr/lib32/nvidia/libGL.so.$pkgver + install -Dm755 32/libnvidia-glcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glcore.so.$pkgver + + # EGL + install -Dm755 32/libEGL.so.$pkgver "$pkgdir"/usr/lib32/nvidia/libEGL.so.$pkgver + install -Dm755 32/libnvidia-eglcore.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-eglcore.so.$pkgver + + # OpenGL ES + install -Dm755 32/libGLESv1_CM.so.$pkgver "$pkgdir"/usr/lib32/nvidia/libGLESv1_CM.so.$pkgver + install -Dm755 32/libGLESv2.so.$pkgver "$pkgdir"/usr/lib32/nvidia/libGLESv2.so.$pkgver + install -Dm755 32/libnvidia-glsi.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-glsi.so.$pkgver + + # VDPAU (Video Decode and Presentation API for Unix) + install -Dm755 32/libvdpau_nvidia.so.$pkgver "$pkgdir"/usr/lib32/vdpau/libvdpau_nvidia.so.$pkgver + + # GPU-accelerated video encoding + install -Dm755 32/libnvidia-encode.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-encode.so.$pkgver + + # CUDA (Compute Unified Device Architecture) + install -Dm755 32/libcuda.so.$pkgver "$pkgdir"/usr/lib32/libcuda.so.$pkgver + install -Dm755 32/libnvcuvid.so.$pkgver "$pkgdir"/usr/lib32/libnvcuvid.so.$pkgver + + # TLS (Thread local storage) support for OpenGL libs + install -Dm755 32/tls/libnvidia-tls.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-tls.so.$pkgver + + # GPU monitoring and management + install -Dm755 32/libnvidia-ml.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ml.so.$pkgver + + # Helper libs for approved partners' GRID remote apps + install -Dm755 32/libnvidia-ifr.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-ifr.so.$pkgver + install -Dm755 32/libnvidia-fbc.so.$pkgver "$pkgdir"/usr/lib32/libnvidia-fbc.so.$pkgver + + # create missing soname links + _create_links + + # License (link) + install -d "$pkgdir"/usr/share/licenses/ + ln -s nvidia-utils/ "$pkgdir"/usr/share/licenses/lib32-nvidia-utils +}
\ No newline at end of file diff --git a/nvidia-full-beta-all.install b/nvidia-full-beta-all.install new file mode 100644 index 000000000000..d4f23604aeca --- /dev/null +++ b/nvidia-full-beta-all.install @@ -0,0 +1,47 @@ +_depmod() { + _extramodules='extramodules-3.17-ARCH' + + # Update module dependencies for all kernels + for _kernel in $(cat /usr/lib/modules/extramodules-*/version); do + depmod $_kernel + done +} + +_rmmod() { + # Try unloading + if lsmod | grep -q nvidia; then + rmmod nvidia + fi + + # What? + if [[ $? != 0 ]]; then + # X running? + if pidof Xorg >/dev/null; then + echo ":: Please reboot or exit X first." + fi + fi +} + +post_install() { + _depmod + + # X running? + if pidof Xorg >/dev/null; then + echo ":: Please reboot or exit X to unload the current module." + fi +} + +post_upgrade() { + _depmod + + # Not rebuilding? + if (( $(vercmp $1 $2) != 0 )); then + _rmmod + fi +} + +post_remove() { + _depmod + + _rmmod +} diff --git a/nvidia-utils-full-beta-all.install b/nvidia-utils-full-beta-all.install new file mode 100644 index 000000000000..5c4c1cfa36dd --- /dev/null +++ b/nvidia-utils-full-beta-all.install @@ -0,0 +1,10 @@ +post_upgrade() { + echo ":: If CUDA is unavailable, run 'nvidia-modprobe'." +} + +post_install() { + getent group nvidia-persistenced &>/dev/null || groupadd -g 143 nvidia-persistenced + getent passwd nvidia-persistenced &>/dev/null || useradd -c 'NVIDIA Persistence Daemon' -u 143 -g nvidia-persistenced -d '/' -s /sbin/nologin nvidia-persistenced + + post_upgrade +} |