summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO45
-rw-r--r--20-nvidia.conf4
-rw-r--r--PKGBUILD232
-rw-r--r--nvidia-346xx-utils.install10
4 files changed, 291 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..207aa846c835
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,45 @@
+pkgbase = nvidia-346xx-utils
+ pkgver = 346.59
+ pkgrel = 1
+ url = http://www.nvidia.com/
+ arch = i686
+ arch = x86_64
+ license = custom:NVIDIA
+ makedepends = pacman>=4.2.0
+ options = !strip
+ source = 20-nvidia.conf
+ md5sums = 2640eac092c220073f0668a7aaff61f7
+ source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/346.59/NVIDIA-Linux-x86-346.59.run
+ md5sums_i686 = 565800c3d9bf347eb35a393f48a6b7f3
+ source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/346.59/NVIDIA-Linux-x86_64-346.59-no-compat32.run
+ md5sums_x86_64 = db1cebc2a78eac85777bb4c7c2c8c70c
+
+pkgname = nvidia-346xx-utils
+ pkgdesc = NVIDIA libraries and utilities (346 Series)
+ install = nvidia-346xx-utils.install
+ depends = xorg-server
+ optdepends = gtk2: nvidia-settings (GTK+ v2)
+ optdepends = gtk3: nvidia-settings (GTK+ v3)
+ optdepends = opencl-nvidia-346xx: OpenCL support
+ optdepends = xorg-server-devel: nvidia-xconfig
+ provides = nvidia-utils=346.59
+ conflicts = nvidia-utils
+ backup = etc/X11/xorg.conf.d/20-nvidia.conf
+
+pkgname = nvidia-346xx-libgl
+ pkgdesc = NVIDIA library symlinks (346 Series)
+ depends = nvidia-346xx-utils
+ provides = libgl
+ provides = nvidia-libgl
+ conflicts = libgl
+ conflicts = nvidia-libgl
+ conflicts = mesa<10.1.0-2
+
+pkgname = opencl-nvidia-346xx
+ pkgdesc = OpenCL implemention for NVIDIA (346 Series)
+ depends = libcl
+ depends = zlib
+ optdepends = opencl-headers: headers necessary for OpenCL development
+ provides = opencl-nvidia
+ conflicts = opencl-nvidia
+
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..8d89ebe8b1eb
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,232 @@
+# Maintainer: jyantis <yantis@yantis.net>
+# Contributor: Det <nimetonmaili g-mail>
+# Contributors: Ng Oon-Ee, Dan Vratil
+
+# NOTE: This is just nvidia-utils-beta for the 346xx series
+# https://aur.archlinux.org/packages/nvidia-utils-beta/
+
+pkgname=('nvidia-346xx-utils' 'nvidia-346xx-libgl' 'opencl-nvidia-346xx')
+pkgver=346.59
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.nvidia.com/"
+license=('custom:NVIDIA')
+makedepends=('pacman>=4.2.0')
+options=('!strip')
+
+# Installer name
+case "$CARCH" in
+ i686) _pkg="NVIDIA-Linux-x86-$pkgver" ;;
+ x86_64) _pkg="NVIDIA-Linux-x86_64-$pkgver-no-compat32" ;;
+esac
+
+# 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/NVIDIA-Linux-x86_64-$pkgver-no-compat32.run")
+
+md5sums=('2640eac092c220073f0668a7aaff61f7')
+md5sums_i686=('565800c3d9bf347eb35a393f48a6b7f3')
+md5sums_x86_64=('db1cebc2a78eac85777bb4c7c2c8c70c')
+
+_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
+}
+
+package_opencl-nvidia-346xx() {
+ pkgdesc="OpenCL implemention for NVIDIA (346 Series)"
+ depends=('libcl' 'zlib')
+ optdepends=('opencl-headers: headers necessary for OpenCL development')
+ provides=('opencl-nvidia')
+ conflicts=('opencl-nvidia')
+ 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-346xx-libgl() {
+ pkgdesc="NVIDIA library symlinks (346 Series)"
+ depends=('nvidia-346xx-utils')
+ provides=('libgl' 'nvidia-libgl')
+ conflicts=('libgl' 'nvidia-libgl' 'mesa<10.1.0-2')
+ 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-346xx-utils() {
+ pkgdesc="NVIDIA libraries and utilities (346 Series)"
+ depends=('xorg-server')
+ optdepends=('gtk2: nvidia-settings (GTK+ v2)'
+ 'gtk3: nvidia-settings (GTK+ v3)'
+ 'opencl-nvidia-346xx: OpenCL support'
+ 'xorg-server-devel: nvidia-xconfig')
+ provides=("nvidia-utils=$pkgver")
+ conflicts=('nvidia-utils')
+ 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
+}
diff --git a/nvidia-346xx-utils.install b/nvidia-346xx-utils.install
new file mode 100644
index 000000000000..5c4c1cfa36dd
--- /dev/null
+++ b/nvidia-346xx-utils.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
+}