我的机子装的是64位ubuntu 14.04 LTS系统,显卡是GeForce 405 ,想使用cuda所以需要装NVidia官方驱动,但是总是碰到 nouveau 驱动正在使用的问题。找了好久,网上各种将nouveau加入blacklist的文章都不能用,最终找到这篇文章,成功解决问题
由于NVIDIA显卡的开源驱动在性能和效果上比官方的驱动差之太远,无奈只能自己动手安装官方的驱动。安装NVIDIA驱动的具体流程如下:其实NVIDIA的官网的README文件已经详细说明了,但是其包含了各种情况,又是英文,没几人会耐心看完,所以总结一下基本步骤。(可参考Ubuntu wiki:NVIDIA – Ubuntu中文)
Ubuntu
中的显卡要么是开源驱动nouveau(livecd安装时用的驱动),受限制驱动列表(源),要么是PPA源(一般是私人建的,方便群众用),要么是自己下载编译的驱动(也就是本页教程),自己编译驱动是需要卸载系统安装的旧驱动的。因为手动安装二进制包的时候不受本地软件库管理,也就不能自动卸载原来的驱动。
以下为详细步骤:
(转自Ubuntu 12.10 12.14 安装NVIDIA官方驱动手法、ubuntu12.04 安装 Nvidia 显卡的官方驱动)
1. 请对照自己显卡型号,下载最新版的NVIDIA驱动,放到 /home/用户名/ 目录下面,命名为NVIDIA.run。
- 中文:http://www.nvidia.cn/Download/index.aspx?lang=cn
- 英文:http://www.nvidia.com/Download/index.aspx?lang=en-us
编译依赖(如果你的显卡驱动版本在256版以下的就输入)
sudo apt-get install build-essential pkg-config xserver-xorg-dev linux-headers-`uname -r`
2.屏蔽开源驱动nouveau
其实可以跳过,在安装过程那一部,运行驱动安装程序,会问您要不要帮您屏蔽,选择yes退出后重启即可。
编辑blacklist.conf法
sudo gedit /etc/modprobe.d/blacklist.conf
添加以下内容并保存:
- blacklist vga16fb
- blacklist nouveau
- blacklist rivafb
- blacklist nvidiafb
- blacklist rivatv
- (这里有一行空格)
3. 删除卸载旧NVIDIA驱动。
- sudo apt-get –purge remove nvidia-*(需要清除干净)
- sudo apt-get –purge remove xserver-xorg-video-nouveau
4. 重启电脑。
5. 按Ctrl + Alt +F1到第一控制台(+F7是回到xservers)。
6.注销系统,关闭图形环境
首先我们需要结束x-window的服务,否则驱动将无法正常安装。
输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入):
sudo service lightdm stop
或者
sudo /etc/init.d/gdm stop #适用于Ubuntu ——–>停止gnome窗口管理器
sudo stop lightdm #适用于Ubuntu(11.10)
或者
sudo /etc/init.d/lightdm stop
成功关闭服务后将出现:lightdm stop/waiting
7. (利用CD 命令)进入驱动所在的文件夹,(ls 命令)找到驱动。
安装驱动(假定文件保存在主目录)(注意大小写)
cd /home/用户名
sudo sh NVIDIA.run
或者
sudo sh NVIDIA*.run
然后键入用户密码
随后将出现图中的界面。按Accept同意就行,接着一路accept。
报错The distribution-provided pre-install script failed!不必理会,继续安装;
最重要的一步,安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。
到这儿就安装成功了
最后一步:重启X 服务。
sudo service lightdm start
几秒后就会看到一副NVIDIA 的LOGO,表示驱动加载成功,开始登陆界面。
查看显卡是否装好
运行glxinfo | grep rendering
假如显示”direct rendering: Yes“,则已安装
8.启动图形环境 :
sudo /etc/init.d/gdm restart #适用于Ubuntu
sudo start lightdm #适用于Ubuntu(11.10)
或者
sudo /etc/init.d/lightdm restart
9.重启电脑。
sudo reboot
10.可能在详细信息里面显卡选项显示未知,可用以下手法:
sudo apt-get install mesa-utils
方法二:PPA源
对于Ubuntu 10.10可以下载最新的NVIDIA显卡的一种型号显卡驱动(版本304.64) GeForce official site:http://www.geforce.com/drivers/results/49072
为Ubuntu 14.04/13.10/13.04/12.10添加PPA
Ubuntu 14.04/13.10/13.04/12.10用户,在终端输入以下命令
sudo apt-add-repository ppa:xorg-edgers/ppa
为12.04/11.10/11.04/10.04添加PPA
Ubuntu 12.04/11.10/11.04/10.04用户,在终端输入以下命令
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
添加完PPA后,更新你的系统库
sudo apt-get update
现在安装你的NVIDIA GeForce 304.108显卡驱动,使用系统apt-get命令
sudo apt-get install nvidia-current nvidia-settings
上面的命令将安装nvidia驱动
写在后面
由于linux的内核源代码是公开的,而硬件厂家为了自己的商业利益,极少去开发开源的硬件驱动,导致了linux系统的硬件支持的确比windows系统要弱。一些国外的知名硬件厂商也开发linux驱动,但是只提供编译好的二进制文件不提供源代码的驱动;而国内的硬件厂家几乎就没有提供linux驱动的意识。中国的高等院校以microsoft马首是瞻进行教学,许多院校以教软件的使用为己任(office,windows,autocad,photoshop……),开发以visualstudio……,都依赖windows系统;*采购的软件国产的少之又少;软件开发以代工为主,即使是开发应用的,也以模仿国外的产品功能为主,无创新,无想法;而国外的高等院校的计算机教育大多以苹果mac、开源系统、编程语言(python,java,c++)进行教学,以普及计算概念和用计算机解决问题为己任,注重计算理念和程序开发思想意识的培养。南非都有人认识到操作系统对于信息现代化重要性而去改变现状,ubuntu是2004才开始发行的,现在已经成为linux发行版的前三甲。我无力改变整个中国的现状,只想以自己的行动来改变自己的认知。