Add nvidia-custom

This commit is contained in:
Tom Willemse 2013-10-05 10:53:06 +02:00
parent bfd1c68369
commit 83907f392d
4 changed files with 92 additions and 0 deletions

1
nvidia-custom/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
*.run

48
nvidia-custom/PKGBUILD Normal file
View file

@ -0,0 +1,48 @@
# $Id: PKGBUILD 194514 2013-09-17 06:52:19Z tpowa $
# Maintainer : Thomas Baechler <thomas@archlinux.org>
pkgname=nvidia-custom
pkgver=325.15
_extramodules=extramodules-3.11-custom
pkgrel=7
pkgdesc="NVIDIA drivers for linux"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux-custom>=3.11' 'linux-custom<3.12' "nvidia-libgl" "nvidia-utils=${pkgver}")
makedepends=('linux-custom-headers>=3.11' 'linux-custom-headers<3.12')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
options=(!strip)
source=('nvidia-linux-3.11.patch')
md5sums=('5c962760de069ed4ad34e64d5988686a')
if [ "$CARCH" = "i686" ]; then
_arch='x86'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
source+=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums+=('528fc538584de6446384b9cec3099d6c')
elif [ "$CARCH" = "x86_64" ]; then
_arch='x86_64'
_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
source+=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
md5sums+=('63b2caa0cb128efa1a7808d7bddb2074')
fi
build() {
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
cd "${srcdir}"
sh "${_pkg}.run" --extract-only
cd "${_pkg}/kernel"
patch -Np2 -i ${srcdir}/nvidia-linux-3.11.patch
make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}
package() {
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-custom.conf"
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
}

View file

@ -0,0 +1,25 @@
From 8a8647ad942c8ac5161e1335f7f3e9dbb34dbf9e Mon Sep 17 00:00:00 2001
From: Lukas Elsner <open@mindrunner.de>
Date: Wed, 17 Jul 2013 01:16:04 +0200
Subject: [PATCH] replace num_physpages with totalram_pages
---
kernel/nv-linux.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
index 4e5ed89..46c51ec 100644
--- a/kernel/nv-linux.h
+++ b/kernel/nv-linux.h
@@ -957,7 +957,7 @@ static inline int nv_execute_on_all_cpus(void (*func)(void *info), void *info)
#endif
#if !defined(NV_VMWARE)
-#define NV_NUM_PHYSPAGES num_physpages
+#define NV_NUM_PHYSPAGES totalram_pages
#define NV_GET_CURRENT_PROCESS() current->tgid
#define NV_IN_ATOMIC() in_atomic()
#define NV_LOCAL_BH_DISABLE() local_bh_disable()
--
1.8.3.2

View file

@ -0,0 +1,18 @@
post_install() {
EXTRAMODULES='extramodules-3.11-custom'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
echo 'In order to use nvidia module, reboot the system.'
}
post_upgrade() {
EXTRAMODULES='extramodules-3.11-custom'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
if [ "$(vercmp $2 310.19-2)" -lt 0 ]; then
echo 'If your card is from the 7xxx series or earlier, install nvidia-304xx'
fi
}
post_remove() {
EXTRAMODULES='extramodules-3.11-custom'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}