You are not logged in.

#1 2007-04-04 12:16:18

Roberth
Member
From: The Pale Blue Dot
Registered: 2007-01-12
Posts: 894

[Request] Nvidia-8xxx

Can anybody make an PKGBUILD for 8xxx version of the Nvidia driver?


Use the Source, Luke!

Offline

#2 2007-04-06 18:26:18

kappa
Member
Registered: 2006-11-10
Posts: 26

Re: [Request] Nvidia-8xxx

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

#3 2007-04-06 20:28:11

Roberth
Member
From: The Pale Blue Dot
Registered: 2007-01-12
Posts: 894

Re: [Request] Nvidia-8xxx

Could you please make an PKGBUILD for the matching nvidia-utils?

I would be very glad:)


Use the Source, Luke!

Offline

#4 2007-04-06 22:00:36

kappa
Member
Registered: 2006-11-10
Posts: 26

Re: [Request] Nvidia-8xxx

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

#5 2007-04-06 22:55:53

skymt
Member
Registered: 2006-11-27
Posts: 443

Re: [Request] Nvidia-8xxx

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

#6 2007-04-07 10:49:48

kappa
Member
Registered: 2006-11-10
Posts: 26

Re: [Request] Nvidia-8xxx

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

#7 2007-04-07 16:23:32

skymt
Member
Registered: 2006-11-27
Posts: 443

Re: [Request] Nvidia-8xxx

kappa wrote:

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

#8 2007-04-07 16:33:14

skymt
Member
Registered: 2006-11-27
Posts: 443

Re: [Request] Nvidia-8xxx

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

#9 2007-04-07 18:22:58

kappa
Member
Registered: 2006-11-10
Posts: 26

Re: [Request] Nvidia-8xxx

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

#10 2007-04-08 19:18:35

Roberth
Member
From: The Pale Blue Dot
Registered: 2007-01-12
Posts: 894

Re: [Request] Nvidia-8xxx

Well lets hope nvidia gets their driver on steady course again soon:)


Use the Source, Luke!

Offline

Board footer

Powered by FluxBB