You are not logged in.
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
Help? Someone must know how to solve this.......................
Offline
You have to use nvidia-legacy drivers.
8xxx series will not work with new kernels.
Offline
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
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
Great, thanks kappa, you're a genius. It has all worked out fine and its nice to have it working with pacman.
Damned folder spaces.
If only I could get Gizoogle Earth to work...
Last edited by Nameless One (2007-08-10 07:31:19)
Offline