You are not logged in.
Can anybody make an PKGBUILD for 8xxx version of the Nvidia driver?
Use the Source, Luke!
Offline
You additionally need this file (in order to compile with current kernels): http://www.nvnews.net/vbulletin/attachm … 1165198337
It needs to be placed in the same directory as the PKGBUILD. (Make sure the file extension is ".diff" and not ".diff.txt")
Don't forget to change the _kernver if you are not using the vanilla kernel, and to install the matching nvidia-utils (simply change the pkgver and _nver in the official PKGBUILD)
pkgname=nvidia
pkgver=1.0.8776
_nver=1.0-8776
_kernver='2.6.20-ARCH'
pkgrel=1
pkgdesc="NVIDIA drivers for Arch kernel."
arch=(i686 x86_64)
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=(kernel26 nvidia-utils)
install=nvidia.install
source=(http://download.nvidia.com/XFree86/Linux-$ARCH/${_nver}/NVIDIA-Linux-$ARCH-${_nver}-pkg0.run)
md5sums=('56676850e400a10a123c7f65f63e3aea')
[ "$CARCH" = "x86_64" ] && md5sums=('f5340e4bbce811add994b1685cdea03b')
build()
{
# Extract
cd $startdir/src/
sh NVIDIA-Linux-$ARCH-${_nver}-pkg0.run --extract-only
cd NVIDIA-Linux-$ARCH-${_nver}-pkg0
# Any extra patches are applied in here...
patch -p0 < $startdir/NVIDIA_kernel-1.0-8776-20061203.diff
cd usr/src/nv/
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/$_kernver/build module
# install kernel module
mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
install -m644 nvidia.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/video/
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
}
Offline
Could you please make an PKGBUILD for the matching nvidia-utils?
I would be very glad:)
Use the Source, Luke!
Offline
pkgname=nvidia-utils
pkgver=1.0.8776
_nver=1.0-8776
pkgrel=1
pkgdesc="NVIDIA drivers utilities and libraries."
arch=(i686 x86_64)
[ "$CARCH" = "i686" ] && ARCH=x86
[ "$CARCH" = "x86_64" ] && ARCH=x86_64
url="http://www.nvidia.com/"
depends=(xorg-server)
conflicts=('libgl' 'ati-fglrx-utils')
provides=('libgl')
#install=nvidia.install
source=(http://download.nvidia.com/XFree86/Linux-$ARCH/${_nver}/NVIDIA-Linux-$ARCH-${_nver}-pkg0.run)
md5sums=('56676850e400a10a123c7f65f63e3aea')
[ "$CARCH" = "x86_64" ] && md5sums=('f5340e4bbce811add994b1685cdea03b')
build()
{
# override nvidia install routine and do it the long way.
cd $startdir/src/
sh NVIDIA-Linux-${ARCH}-${_nver}-pkg0.run --extract-only
cd NVIDIA-Linux-${ARCH}-${_nver}-pkg0/usr/
mkdir -p $startdir/pkg/usr/{lib,bin,share/applications,share/pixmaps,man/man1}
mkdir -p $startdir/pkg/usr/lib/xorg/modules/{extensions,drivers}
mkdir -p $startdir/pkg/usr/share/licenses/nvidia/
install `find lib/ -iname \*.so\*` $startdir/pkg/usr/lib/
install lib/tls/* $startdir/pkg/usr/lib
install share/man/man1/* $startdir/pkg/usr/man/man1/
rm $startdir/pkg/usr/man/man1/nvidia-installer.1.gz
install X11R6/lib/libXv* $startdir/pkg/usr/lib/
install share/applications/nvidia-settings.desktop $startdir/pkg/usr/share/applications/
# fix nvidia .desktop file
sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $startdir/pkg/usr/share/applications/nvidia-settings.desktop
install share/pixmaps/nvidia-settings.png $startdir/pkg/usr/share/pixmaps/
install X11R6/lib/modules/drivers/nvidia_drv.so $startdir/pkg/usr/lib/xorg/modules/drivers
install X11R6/lib/modules/extensions/libglx.so.$pkgver $startdir/pkg/usr/lib/xorg/modules/extensions
install -m755 bin/nvidia-{settings,xconfig,bug-report.sh} $startdir/pkg/usr/bin/
cd $startdir/pkg/usr/lib/;
ln -s /usr/lib/libGL.so.$pkgver libGL.so
ln -s /usr/lib/libGL.so.$pkgver libGL.so.1
ln -s /usr/lib/libGLcore.so.$pkgver libGLcore.so.1
ln -s /usr/lib/libnvidia-cfg.so.$pkgver libnvidia-cfg.so.1
ln -s /usr/lib/libnvidia-tls.so.$pkgver libnvidia-tls.so.1
cd $startdir/pkg/usr/lib/xorg/modules/extensions;
ln -s /usr/lib/xorg/modules/extensions/libglx.so.$pkgver libglx.so
install $startdir/src/NVIDIA-Linux-${ARCH}-${_nver}-pkg0/LICENSE $startdir/pkg/usr/share/licenses/nvidia/
find $startdir/pkg/usr -type d -exec chmod 755 {} \;
# phew :)
}
Offline
kappa: Can I upload these to the AUR?
EDIT: Scratch that for now. They have a few problems:
1. The md5sums are wrong. That's easy to fix.
2. They should follow the new Arch nvidia package naming scheme: "nvidia-87xx" and "nvidia-utils-87xx".
3. Big problem: the kernel won't accept the module. Here's the error:
nvidia: Unknown symbol __FIXADDR_TOP
I grepped the nvidia source and /usr/include and didn't come up with anything. I'll try grepping the kernel source once it's done downloading (unless someone has a better idea).
Last edited by skymt (2007-04-06 23:27:43)
Offline
1) You are right, the md5 for the 32bit version are off. I have a 64bit system and neglected to recheck the 32bit ones. My apologies.
3) Could you post the output of makepkg? It compiles and runs fine for me on vanilla 2.20, beyond 2.19, and suspend 2.19 kernels.
Offline
3) Could you post the output of makepkg? It compiles and runs fine for me on vanilla 2.20, beyond 2.19, and suspend 2.19 kernels.
It compiles perfectly. The only error occurs when I try to insert the kernel module using modprobe; it gives a generic error message. I didn't copy it, but it basically told me that it couldn't insert the module, check dmesg for more information. I did, and the only error message is what I posted earlier. I'm using vanilla 2.6.20, by the way.
Offline
Scratch that, never mind, it works perfectly. It just needed a reboot. For some reason, the usual rmmod/modprobe method wasn't enough.
So can I upload these to the AUR? I think my problems have been solved.
Last edited by skymt (2007-04-07 16:33:47)
Offline
The problem is that compilation with recent kernels relies on an unofficial patch (for 2.6.19) by a NVIDIA employee. This might stop working with the next kernel release.
If you think it appropriate to post it to the AUR under these circumstances, feel free to do so. (Not that you would have to ask for my permission in the first place. All I did was adding the patch to official PKGBUILD)
Offline
Well lets hope nvidia gets their driver on steady course again soon:)
Use the Source, Luke!
Offline