ubuntu Nvidia 驱动安装脚本
Posted 11 months, 1 week ago at 11:30 am. 0 comments
guoshuang2006-09-24+Envy的安装有所变化,请到官方站点下载 deb 然后
1) Download and install the deb package
2) Log out and press CTRL+ALT+F1 (so as to get out of the Desktop Environment, i.e. you’ll see ONLY the command line)
3) Log in (if required)
4) Run “envy” by opening Terminal or Konsole and typing (quite obviously):
envy
5) Choose to install or uninstall the driver (from the textual interface)
下面是原来的老办法
本来是没问题的,但在安装Nvidia 官网的NVIDIA-Linux-x86-1.0-8762-pkg1.run时,出现问题于是连原来的驱动也不能使用,而只能改
Section “Device”
Identifier “NVIDIA Corporation NV11 [GeForce2 MX/MX 400]”
Driver “nvidia”
EndSection
回
Section “Device”
Identifier “NVIDIA Corporation NV11 [GeForce2 MX/MX 400]”
Driver “nv”
EndSection
但这样没有加速,不能跑游戏。折腾了N天也无法解决。今天找到这个脚本Envy,执行后搞定。
我用的是 envy_8762_32,内容如下:
#!/bin/bash
# “Envy”
# Written by Alberto Milone (aka “tseliot”)
# Licence GPL
# Version 0.41
# For Ubuntu Dapper Drake 32 bit ONLY!!!
ARCA=x86
VERA=1.0-8762
PACA=pkg1
DRIVER=NVIDIA-Linux-$ARCA-$VERA-$PACA.run
MD5OLD=86bcf4a3a9d441dff9e25b82ec8a6060
NVIDIAFTP=Linux-$ARCA/$VERA
function installer {
echo -e “Do you want to install or uninstall the Nvidia driver $VERA ?\n(Type “i” to install or “u” to uninstall) (or press CTRL+C to exit)”
read inst
if [ "$inst" = "i" ]
then sudo apt-get –assume-yes –force-yes –purge remove linux-restricted-modules-`uname -r` linux-restricted-modules-common nvidia-glx nvidia-settings nvidia-kernel-common;
sudo rm /etc/init.d/nvidia-* >&/dev/null;
sudo apt-get –assume-yes –force-yes install linux-headers-`uname -r` build-essential gcc gcc-3.4 xserver-xorg-dev;
#AVOID CONFLICTS
sudo rm /usr/lib/xorg/modules/extensions/libglx.so.* >&/dev/null;
sudo rm /usr/lib/libGLcore.so.* >&/dev/null;
#GO TO YOUR HOME FOLDER
cd $HOME
#DOWNLOAD AND/OR CHECK THE NVIDIA INSTALLER
if [ ! -f $DRIVER ]
then wget -c ftp://download.nvidia.com/XFree86/$NVIDIAFTP/$DRIVER;
if [ ! -f $DRIVER ]
then echo “ERROR: I can’t find the Nvidia installer. Make sure it’s in the same folder of this script”; exit
fi
MD5PRINT1=`md5sum $DRIVER | cut -d ” ” -f1`
if [ "$MD5PRINT1" = "$MD5OLD" ]
then echo “md5sum is ok”;
else echo “ERROR: md5sum is not correct!”; exit;
fi
else
MD5PRINT2=`md5sum $DRIVER | cut -d ” ” -f1`
if [ "$MD5PRINT2" = "$MD5OLD" ]
then echo “md5sum is ok”
else echo “ERROR: md5sum is not correct!”; exit;
fi
fi
#FIND AND DELETE THE EXTRACTED FOLDER
if [ -f NVIDIA-Linux-$ARCA-$VERA-$PACA ]
then sudo rm -R NVIDIA-Linux-$ARCA-$VERA-$PACA >&/dev/null;
fi
#EXTRACT THE INSTALLER
sh $DRIVER –extract-only;
cd NVIDIA-Linux-$ARCA-$VERA-$PACA;
#BACKUP THE XORG.CONF
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup_`date +%Y%m%d%H%M`;
#CHECK AND/OR SET GCC
if [ `uname -r | grep "2.6.12"` -o `uname -r | grep "2.6.11"` -o `uname -r | grep "2.6.10"` ]
then sudo ln -sf /usr/bin/gcc-3.4 /usr/bin/gcc
fi
#SUPPORT FOR KERNEL 2.6.14 OR HIGHER
if ls /usr/src/ | grep “kernel-headers-`uname -r`”
then
if [ `uname -r | grep "2.6.14"` -o `uname -r | grep "2.6.15"` -o `uname -r | grep "2.6.16"` -o `uname -r | grep "2.6.17"` ]
then
cd /usr/src/kernel-headers-`uname -r`/arch/i386/
sudo rm Makefile.cpu >&/dev/null;
sudo wget www.albertomilone.eu/ubuntu/nvidia/scripts/Makefile.cpu
cd /usr/src/kernel-headers-`uname -r`/
sudo make prepare
sudo make prepare scripts
cd $HOME/NVIDIA-Linux-$ARCA-$VERA-$PACA;
fi
fi
#UBUNTU AMD64 CHECK
if [ ! -f /usr/lib64/xorg/ ]
then
#SEE IF THE KERNEL IS RECOMPILED OR NOT (32BIT)
if ls /usr/src/ | grep “kernel-headers-`uname -r`”
then sudo ./nvidia-installer -n -s –x-prefix=/usr/lib/xorg/modules –kernel-source-path=/usr/src/kernel-headers-`uname -r`
else sudo ./nvidia-installer -n -s –x-prefix=/usr/lib/xorg/modules –kernel-source-path=/usr/src/linux-headers-`uname -r`
fi
else
#SEE IF THE KERNEL IS RECOMPILED OR NOT (64BIT)
if ls /usr/src/ | grep “kernel-headers-`uname -r`”
then sudo ./nvidia-installer -n -s –x-prefix=/usr/lib64/xorg/modules –kernel-source-path=/usr/src/kernel-headers-`uname -r`
else sudo ./nvidia-installer -n -s –x-prefix=/usr/lib64/xorg/modules –kernel-source-path=/usr/src/linux-headers-`uname -r`
fi
fi
#RESTORE GCC (SYMLINK)
if [ `uname -r | grep 2.6.12` -o `uname -r | grep 2.6.11` -o `uname -r | grep 2.6.10` ]
then sudo ln -sf /usr/bin/gcc-4.0 /usr/bin/gcc
fi
#Return to previous directory
cd ..
choice=”nada”;
while [ "$choice" = "nada" ]; do
echo “Do you want your xorg.conf to be automatically configured? (y/n) \ “Yes” is the default answer”;
read choice;
if [ "$choice" = "y" ]
then sudo /usr/bin/nvidia-xconfig
elif [ "$choice" = "" ]
then sudo /usr/bin/nvidia-xconfig
elif [ "$choice" = "n" ]
then echo “Remember to set the Driver to nvidia in your xorg.conf”
elif [ "$choice" = "no" ]
then echo “Remember to set the Driver to nvidia in your xorg.conf”
else choice=”nada”
fi;
done;
sudo modprobe nvidia;
echo “Do you want to Start the Xserver now? (y/n) \ “Yes” is the default answer”;
read server;
if [ "$server" = "y" ]
then
sudo /etc/init.d/gdm restart >&/dev/null; sudo /etc/init.d/kdm restart >&/dev/null;
elif [ "$server" = "" ]
then
sudo /etc/init.d/gdm restart >&/dev/null; sudo /etc/init.d/kdm restart >&/dev/null;
elif [ "$server" = "n" ]
then echo “Remember to start the xserver manually”
elif [ "$server" = "no" ]
then echo “Remember to start the xserver manually”
fi;
elif [ "$inst" = "u" ]
then sudo apt-get –assume-yes –force-yes –purge remove linux-restricted-modules-`uname -r` linux-restricted-modules-common nvidia-glx nvidia-settings nvidia-kernel-common;
#GO TO YOUR HOME FOLDER
cd $HOME
if [ ! -f NVIDIA-Linux-$ARCA-$VERA-$PACA ]
then
if [ ! -f $DRIVER ]
then wget ftp://download.nvidia.com/XFree86/$NVIDIAFTP/$DRIVER;
if [ ! -f $DRIVER ]
then echo “ERROR: I can’t find the Nvidia installer. Make sure it’s in the same folder of this script”; exit
fi
MD5PRINT1=`md5sum $DRIVER | cut -d ” ” -f1`
if [ "$MD5PRINT1" = "$MD5OLD" ]
then echo “md5sum is ok”;
else echo “ERROR: md5sum is not correct!”; exit;
fi
else MD5PRINT2=`md5sum $DRIVER | cut -d ” ” -f1`
if [ "$MD5PRINT2" = "$MD5OLD" ]
then echo “md5sum is ok”;
else echo “ERROR: md5sum is not correct!”; exit;
fi
fi
sh $DRIVER –extract-only;
fi
cd NVIDIA-Linux-$ARCA-$VERA-$PACA;
sudo ./nvidia-installer –uninstall;
sudo rm /etc/init.d/nvidia-* >&/dev/null;
#UBUNTU AMD64 CHECK
if [ ! -f /usr/lib64/xorg/ ]
then
sudo rm /usr/lib/xorg/lib/libX* >&/dev/null;
sudo rm /usr/lib/xorg/modules/libX* >&/dev/null;
sudo rm /usr/lib/xorg/lib/modules/drivers/nvidia_drv.* >&/dev/null;
sudo rm /usr/lib/xorg/modules/drivers/nvidia_drv.* >&/dev/null;
#AVOID CONFLICTS
sudo rm /usr/lib/xorg/modules/extensions/libglx.so.* >&/dev/null;
sudo rm /usr/lib/libGLcore.so.* >/dev/null;
sudo rm /usr/lib/xorg/lib/modules/extensions/libglx.so* >&/dev/null;
else
sudo rm /usr/lib64/xorg/lib/libX* >&/dev/null;
sudo rm /usr/lib64/xorg/modules/libX* >&/dev/null;
sudo rm /usr/lib64/xorg/lib/modules/drivers/nvidia_drv.* >&/dev/null;
sudo rm /usr/lib64/xorg/modules/drivers/nvidia_drv.* >&/dev/null;
#AVOID CONFLICTS
sudo rm /usr/lib64/xorg/modules/extensions/libglx.so.* >&/dev/null;
sudo rm /usr/lib64/libGLcore.so.* >&/dev/null;
sudo rm /usr/lib64/xorg/lib/modules/extensions/libglx.so* >&/dev/null;
fi
else echo ‘You should type “i” or “u”! (or press CTRL+C to exit)’; installer;
fi
}
#set -x
#set -v
sudo /etc/init.d/gdm stop >&/dev/null; sudo /etc/init.d/kdm stop >&/dev/null;
installer
使用方法:
复制上面内容为文件 nvidia,ctrl+alt+backspace 退出 xserver。登录。进入 nvidia 所在目录。
chmod a+x nvidia
./nvidia
Popularity: 13% [?]
Tags: amd64, deb, install, linux, ls, ubuntu, viRelated posts
No Replies
Feel free to leave a reply using the form below!