目前Ubuntu 8.10中提供的最新Nvidia显卡驱动依然是180.11,除了不支持一些新的显卡,缺乏一些功能,在有些平台上也不稳定,容易Crash。很多人都用上Nvidia官网版的驱程,可是每当系统更新内核的时候,不得不回到console重新安装一次Nvidia,虽然不是很复杂,但长久如此,也挺麻烦的。
UbuntuForums上面一个Howto介绍了解决方法,下面简述之:
- 本方法不适合使用EnvyNG安装的驱动。
- 确保你全手动安装过Nvidia驱动并确定你所用的版本正常工作。
- 把NV的驱动安装文件复制到/usr/src,同时建立一链接。
sudo mv NVIDIA-Linux-x86-180.37-pkg1.run /usr/src
sudo ln -s /usr/src/NVIDIA-Linux-x86-180.37-pkg1.run /usr/src/nvidia-driver我安装的是180.37版本,注意不同版本的文件名不同。链接的作用是以后如果换一个新版的驱动进来,修改该链接即可,不用修改下面的脚本。
- 保存下面的代码为文件update-nvidia
#!/bin/bash # # Set this to the exact path of the nvidia driver you plan to use # It is recommended to use a symlink here so that this script doesn't # have to be modified when you change driver versions. DRIVER=/usr/src/nvidia-driver # Build new driver if it doesn't exist if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then echo "NVIDIA driver already exists for this kernel." >&2 else echo "Building NVIDIA driver for kernel $1" >&2 sh $DRIVER -K -k $1 -s -n 2>1 > /dev/null if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then echo " SUCCESS: Driver installed for kernel $1" >&2 else echo " FAILURE: See /var/log/nvidia-installer.log" >&2 fi fi exit 0 - 把该脚本复制到/etc/kernel/postinst.d
sudo mkdir -p /etc/kernel/postinst.d
sudo install update-nvidia /etc/kernel/postinst.dinstall命令作用跟cp差不多,只是自动修改文件的权限为rwxr-xr-x
- OK,完成了。如果想测试一下是否已经成功,试试装个旧内核
sudo apt-get install linux-image-2.6.27-10-generic
稍候应该会看到最后会有一下停顿,然后看到SUCCESS: Driver installed for kernel ...
再把这个包puege掉即可:sudo apt-get purge linux-image-2.6.27-10-generic
