You are not logged in.

#1 2007-08-05 01:31:18

Nameless One
Member
Registered: 2007-08-05
Posts: 11

[SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

Hey,
I have a nVidia GeForce2 Integrated graphics card on my Asus A7N266 motherboard. According to the nVidia site, http://www.nvidia.com/object/IO_32667.html, the most recent driver that supports this is the 96.xx series. Yet as shown here, http://www.nvnews.net/vbulletin/showthread.php?t=87332, many people have found that the 96.xx series drivers cause graphical corruption when using a GeForce2 IGP.
Before coming to Arch, I had used Xubuntu 7.04 and managed to compile the last known working drivers, version 87.76, following the instructions here: http://kmandla.wordpress.com/2007/03/25 … 20-12-386/
That all went well but now I'm using Arch. I tried using the nvidia-96.xx driver in the repos just for testing sake but I still got the same graphical corruption.
Thus I have been trying to install the 87.76 drivers on Arch, but it always fails at the kernel module building stage. I had first applied this patch here, http://www.nvnews.net/vbulletin/showthr … ost1086669, before compling as the plain driver wont compile against recent kernels.
Here is the output from the installer:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sun Aug  5 11:57:53 2007

option status:
  license pre-accepted    : false
  update                  : false
  force update            : false
  expert                  : false
  uninstall               : false
  driver info             : false
  precompiled interfaces  : true
  no ncurses color        : false
  query latest version    : false
  OpenGL header files     : true
  no questions            : false
  silent                  : false
  no recursion            : false
  no backup               : false
  kernel module only      : false
  sanity                  : false
  add this kernel         : false
  no runlevel check       : false
  no network              : false
  no ABI note             : false
  no RPMs                 : false
  no kernel module        : false
  force SELinux           : default
  force tls               : (not specified)
  X install prefix        : (not specified)
  X library install path  : (not specified)
  X module install path   : (not specified)
  OpenGL install prefix   : (not specified)
  OpenGL install libdir   : (not specified)
  utility install prefix  : (not specified)
  utility install libdir  : (not specified)
  doc install prefix      : (not specified)
  kernel name             : (not specified)
  kernel include path     : (not specified)
  kernel source path      : (not specified)
  kernel output path      : (not specified)
  kernel install path     : (not specified)
  proc mount point        : /proc
  ui                      : (not specified)
  tmpdir                  : /tmp
  ftp mirror              : ftp://download.nvidia.com
  RPM file list           : (not specified)

Using: nvidia-installer ncurses user interface
-> License accepted.
-> No precompiled kernel interface was found to match your kernel; would you li
   ke the installer to attempt to download a kernel interface for your kernel f
   rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: Yes)
-> No matching precompiled kernel interface was found on the NVIDIA ftp site;
   this means that the installer will need to compile a kernel interface for
   your kernel.
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> Kernel source path: '/lib/modules/2.6.22-ARCH/build'
-> Kernel output path: '/lib/modules/2.6.22-ARCH/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Cleaning kernel module build directory.
   executing: 'cd ./usr/src/nv; make clean'...
   rm -f -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nv-i2c.o nv.o nv
   -vm.o os-agp.o os-interface.o os-registry.o nv-i2c.o nvidia.mod.o
   rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
   rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
   rm -f -f stprof stprof.o symtab.h
   rm -f -rf .tmp_versions
-> Building kernel module:
   executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.6.22-ARCH/bui
   ld SYSOUT=/lib/modules/2.6.22-ARCH/build'...
   
   NVIDIA: calling KBUILD...
   make CC=cc  KBUILD_VERBOSE=1 -C /lib/modules/2.6.22-ARCH/build SUBDIRS=/home
   /kris/Source/nVidia GLX 87.76 Driver/NVIDIA-Linux-x86-1.0-8776-pkg1/usr/src/
   nv modules
   test -e include/linux/autoconf.h -a -e include/config/auto.conf || (        \
       echo;                                \
       echo "  ERROR: Kernel configuration is invalid.";        \
       echo "         include/linux/autoconf.h or include/config/auto.conf are mis
   sing.";    \
       echo "         Run 'make oldconfig && make prepare' on kernel src to fix it
   .";    \
       echo;                                \
       /bin/false)
   make[2]: *** No rule to make target `GLX'.  Stop.
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [mdl] Error 1
   make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.

Any ideas as to how I can get the kernel module to build?
I am using 'kernel26 2.6.22.1-4' with the 'kernel-headers 2.6.22.1-1' from the testing repo.

Last edited by Nameless One (2007-08-10 07:08:38)

Offline

#2 2007-08-08 06:02:08

Nameless One
Member
Registered: 2007-08-05
Posts: 11

Re: [SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

Help? Someone must know how to solve this.......................

Offline

#3 2007-08-08 06:39:08

sula
Member
Registered: 2005-08-07
Posts: 93

Re: [SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

You have to use nvidia-legacy drivers.

8xxx series will not work with new kernels.

Offline

#4 2007-08-08 07:07:53

Nameless One
Member
Registered: 2007-08-05
Posts: 11

Re: [SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

8x.xx series should work with recent kernels as that's what the patch mentioned above was made to achieve. Also I have previously complied a 87.76 kernel module against a 2.6.20 series kernel, except that was on Ubuntu.
So there must be a way to do it.

Offline

#5 2007-08-09 11:12:17

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

Re: [SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

make CC=cc  KBUILD_VERBOSE=1 -C /lib/modules/2.6.22-ARCH/buildSUBDIRS=/home/kris/Source/nVidia GLX 87.76 Driver/NVIDIA-Linux-x86-1.0-8776-pkg1/usr/src/

The name of the directory you placed the driver in contains spaces. That is  why you get the no rule to make target GLX error.

It would be better not to circumvent pacman. I am using the following PKGBUILDs for the 8776 driver:

nvidia-8776:

pkgname=nvidia-8776
pkgver=1.0.8776
_nver=1.0-8776
_kernver='2.6.22-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-8776-utils)
conflicts=('nvidia' 'nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
install=nvidia.install
source=(http://download.nvidia.com/XFree86/Linux-$ARCH/${_nver}/NVIDIA-Linux-$ARCH-${_nver}-pkg0.run NVIDIA_kernel-1.0-8776-20061203.diff.txt)
md5sums=('93ad45fe7b974a5a80348e1890f9b7c9' '70e669f06ee4881c2583261672de292a')
[ "$CARCH" = "x86_64" ] && md5sums=('f5340e4bbce811add994b1685cdea03b' '70e669f06ee4881c2583261672de292a')

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.txt  ||return 1

  cd usr/src/nv/
  ln -s Makefile.kbuild Makefile
  make SYSSRC=/lib/modules/$_kernver/build module || return 1
  
  # 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
}

Place the patch (NVIDIA_kernel-1.0-8776-20061203.diff.txt) and nvidia.install in the same directory as the PKGBUILD.




nvidia-utils:

pkgname=nvidia-8776-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' 'libgl-dri' 'ati-fglrx-utils' 'nvidia-legacy-utils' 'nvidia-71xx-utils' 'nvidia-96xx-utils')
provides=('libgl' )

#install=nvidia.install
source=(http://download.nvidia.com/XFree86/Linux-$ARCH/${_nver}/NVIDIA-Linux-$ARCH-${_nver}-pkg0.run)
md5sums=('93ad45fe7b974a5a80348e1890f9b7c9')
[ "$CARCH" = "x86_64" ] && md5sums=('f5340e4bbce811add994b1685cdea03b')

build()
{
  # override nvida 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 :)
}

Last edited by kappa (2007-08-09 11:14:42)

Offline

#6 2007-08-10 07:09:46

Nameless One
Member
Registered: 2007-08-05
Posts: 11

Re: [SOLVED] nVidia 87.76 Drivers installer fails to build kernel module

Great, thanks kappa, you're a genius. It has all worked out fine and its nice to have it working with pacman.
hmm Damned folder spaces.

If only I could get Gizoogle Earth to work...

Last edited by Nameless One (2007-08-10 07:31:19)

Offline

Board footer

Powered by FluxBB