OK, first a little background. I have spent quite a few hours attempting to manually install knoppmyth using the i686 choice (Running an Athalon 64 Venice, let me know if this is the wrong choice). Much of this time spent editing XConfig and wiping and reinstalling and reading anything I could find.
Basically every time I get to the point of installing the nvidia drivers the same thing happens. The drivers install apparently without error...and then the screen goes black. Well actually I figured out that it goes dark, if I jacked up the brightness, I can see the screen. Dark grey mostly on darker grey but at least I can read it. Of course this is completely useless as an htpc. Now remember I tried this with both install nvidia scripts, same results. Tried all the xconfig setting I could find but the only thing that helps is putting back the XF86Config-4 that was originally installed.
OK, so this leads me to believe that the problem is somewhere in the install-nvidia script. That in combination with my desire to try the latest nvidia driver got me digging in the script.
At first glance the script looks pretty neat. It pulls the driver from the nvidia website. It pulls the driver based on version and kernel processor architecture.
But when I look at the URL that would be generated, it seems to have two problems.
1) Not detecting my architecture as 64. This is because my system reports i686.
2) Pulling package 1 instead of 2. Not sure how much difference this make but nvidia thought enough of it to make two packages.
So I made changes for these and the change to pull the new version(7676). My version of the script is at the bottom of the post. Keep in mind it does not work at this point and has some hard-coding.
So I run it and it get the right package but then it has some sort of make errors. At this point it is over my head and its time for a sanity check. Am I on the right track? If so can somebody fix this? Output from the script is as follows:
--07:22:11--
http://download.nvidia.com/XFree86/Linu ... 6-pkg2.run
=> `NVIDIA-Linux-x86_64-1.0-7676-pkg2.run'
Resolving download.nvidia.com... 216.228.115.13, 216.228.115.17
Connecting to download.nvidia.com[216.228.115.13]:80... connected.
HTTP request sent, awaiting response... 200 OK
The file is already fully retrieved; nothing to do.
Stopping GNOME Display Manager: gdm.
cd usr/src/nv; make install
make[1]: Entering directory `/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv'
NVIDIA: calling KBUILD...
make CC=/usr/bin/gcc-3.3 KBUILD_OUTPUT=/lib/modules/2.6.11.9-chw-2/build KBUILD_VERBOSE=1 -C /lib/modules/2.6.11.9-chw-2/source SUBDIRS=/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv modules
make -C /lib/modules/2.6.11.9-chw-2/build \
KBUILD_SRC=/usr/src/kernel-source-2.6.11.9-chw-2 KBUILD_VERBOSE=1 \
KBUILD_CHECK= KBUILD_EXTMOD="/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv" \
-f /usr/src/kernel-source-2.6.11.9-chw-2/Makefile modules
mkdir -p /usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/.tmp_versions
make -f /usr/src/kernel-source-2.6.11.9-chw-2/scripts/Makefile.build obj=/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv
echo \#define NV_COMPILER \"`/usr/bin/gcc-3.3 -v 2>&1 | tail -n 1`\" > /usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/nv_compiler.h
/usr/bin/gcc-3.3 -Wp,-MD,/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc-lib/i486-linux/3.3.5/include -D__KERNEL__ -Iinclude -Iinclude2 -I/usr/src/kernel-source-2.6.11.9-chw-2/include -I/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i586 -I/usr/src/kernel-source-2.6.11.9-chw-2/include/asm-i386/mach-default -Iinclude/asm-i386/mach-default -I/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -mno-red-zone -minline-all-stringops -MD -Wsign-compare -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -mcmodel=kernel -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=7676 -UDEBUG -U_DEBUG -DNDEBUG -DNV_SIGNAL_STRUCT_RLIM -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_PCI_DISABLE_DEVICE_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DNV_VMAP_4_PRESENT -DMODULE -DKBUILD_BASENAME=nv -DKBUILD_MODNAME=nvidia -c -o /usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/nv.o /usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/nv.c
cc1: error: code model `kernel' not supported in the 32 bit mode
make[5]: *** [/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv/nv.o] Error 1
make[4]: *** [_module_/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv] Error 2
make[3]: *** [modules] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[2]: *** [module] Error 1
make[1]: *** [install] Error 2
make[1]: Leaving directory `/usr/src/NVIDIA-Linux-x86_64-1.0-7676-pkg2/usr/src/nv'
make: *** [kernel_module_install] Error 2
Starting GNOME Display Manager: gdm.
-------------------------------------------------------------------
#!/bin/sh
if test -z "`lspci|grep VGA|grep -i nvidia`"; then
echo Error: No nVidia VGA adapter found.
exit 3
fi
if test $(id -u) != 0; then
echo Error: You must be root to run this script!
exit 4
fi
if test -n "$DISPLAY"; then
echo Error: Can\`t be run within X! Use a text console \(ALT-CTRL-F1\)
exit 5
fi
if ! [ -d /usr/src/kernel-source-2.6.11.9-chw-2 ] ; then
cd /usr/src
echo "Uncompressing kernel..."
tar xvfj /usr/src/kernel-source-2.6.11.9-chw-2.tar.bz2 &>/dev/null
fi
rm -fr /etc/X11/XvMCConfig
echo /usr/X11R6/lib/libXvMCNVIDIA_dynamic.so.1 >> /etc/X11/XvMCConfig
#VER=1.0-4620
#URL=http://www.sh.nu/download/nvidia/linux-2.4/
#VER=1.0-5328
#VER=1.0-5336
#VER=1.0-6106
#VER=1.0-6111
#VER=1.0-6629
#VER=1.0-7174
VER=1.0-7676
VERWPKG=$VER"-pkg2"
ARCH=""
[ "$(uname -m)" == "x86_64" ] || [ "$(uname -m)" == "i686" ] && ARCH="_64"
URL=http://download.nvidia.com/XFree86/Linux-x86$ARCH/$VER/
PATCH=0
HACK=0
cd /usr/src
wget -Nc "$URL"NVIDIA-Linux-x86$ARCH-$VERWPKG.run
rm -rf NVIDIA-Linux-x86$ARCH-$VER-pkg?
sh NVIDIA-Linux-x86$ARCH-$VERWPKG.run --extract-only &>/dev/null || (
rm -f NVIDIA-Linux-x86$ARCH-$VERWPKG.run
echo NVIDIA-Linux-x86$ARCH-$VERWPKG.run could not be extracted
echo and has been deleted. Please restart this script.
exit 1
) || exit $?
if test "$(kernelversion)" == "2.6" -a "$PATCH" == "1"; then
wget -Nc
http://www.minion.de/files/NVIDIA_kernel-$VER-2.6.diff
fi
if test -f /etc/modutils/1alsa; then
mv /lib/modules/extra/alsa /lib/modules/`uname -r`/
rm -f /etc/modutils/1alsa
update-modules
fi
DM=`cat /etc/X11/default-display-manager 2>/dev/null`
DM=`basename $DM 2>/dev/null`
if test -z "$DM"; then
test -e /etc/init.d/kdm && /etc/init.d/kdm stop
else
test -e /etc/init.d/$DM && /etc/init.d/$DM stop
fi
rmmod nvidia &>/dev/null
rm -f /lib/modules/`uname -r`/kernel/drivers/video/nvidia.*o
cd NVIDIA-Linux-x86$ARCH-$VERWPKG
if test "$VER" == "1.0-4620" -o "$VER" == "1.0-6106" -o "$VER" == "1.0-6111" -o "$VER" == "1.0-6629"; then
rm -f /usr/bin/nvidia-settings
rm -f /usr/local/bin/nvidia-settings
cp usr/bin/nvidia-settings /usr/local/bin
fi
if test "$(kernelversion)" == "2.6"; then
if test "$PATCH" == "1"; then
cd usr/src/nv
patch -p1 < ../../../../NVIDIA_kernel-$VER-2.6.diff
ln -s Makefile.kbuild Makefile
cd ../../..
fi
else
# fix NVIDIA's stupid error in Makefile
perl -pi -e 's/"\$\$\?"/"\$\?"/' Makefile
fi
CC=gcc-$(perl -pe '($_)=/gcc.[Vv]ersion\s(3\.\d|2\.\d+)/;' /proc/version)
if test -e /usr/bin/$CC; then
make install CC=/usr/bin/$CC IGNORE_CC_MISMATCH=1
else
make install IGNORE_CC_MISMATCH=1
fi
cd ..
rm -rf NVIDIA-Linux-x86-$VERWPKG
rm -f /etc/modutils/nvidia
perl -pi -e 's|.*char-major-195.*[\n]?||' /etc/modutils/aliases
perl -pi -e 's|[\n]?$|\n|' /etc/modutils/aliases
echo alias char-major-195 nvidia >> /etc/modutils/aliases
update-modules
if ! test -e /etc/X11/XF86Config-4.1st; then
cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.1st
fi
perl -p -e 's/^[\s]*Load\s*"GLcore"/#\tLoad "GLcore"/;
s/^[\s]*Load\s*"dri"/#\tLoad "dri"/;
s/^[\s]*#*[\s]*Load\s*"glx"/\tLoad "glx"/;
s/^[\s]*Driver\s*"nv"/\tDriver "nvidia"/g;
s/^[\s]*Driver\s*"fbdev"/\tDriver "nvidia"/g;
s/^[\s]*Driver\s*"vesa"/\tDriver "nvidia"/g;
s/DefaultColorDepth.*/DefaultColorDepth 24/;
s/^[\s]*Option\s*"sw_cursor"/\t#Option "sw_cursor"/' \
< /etc/X11/XF86Config-4.1st > /etc/X11/XF86Config-4
test "$HACK" == "1" && rm -rf /usr/lib/tls
ldconfig
sync
if test -z "$DM"; then
test -e /etc/init.d/kdm && /etc/init.d/kdm start
else
test -e /etc/init.d/$DM && /etc/init.d/$DM start
fi
--------------------------------------------------------