NVIDIA
(K)ubuntu 下安装NVIDIA官方显卡驱动(不同于开源驱动,官方驱动对显卡的支持显然更好,而且通常更新频繁)。这里的例子:Kubuntu 10.04 32位环境 ,Nvidia7300显卡,NVIDIA 185.18驱动。
驱动的四种来源
Ubuntu 中的显卡要么是开源驱动nouveau(livecd安装时用的驱动),受限制驱动列表(源),要么是PPA源(一般是私人建的,方便群众用),要么是自己下载编译的驱动(也就是本页教程),自己编译驱动是需要卸载系统安装的旧驱动的。因为手动安装二进制包的时候不受本地软件库管理,也就不能自动卸载原来的驱动。
受限制驱动列表(源)
等同于该命令
sudo apt-get install nvidia-current nvidia-settings
编译驱动
下载驱动
Nvidia中文官网是 http://www.nvidia.cn/page/home.html
点“驱动下载”,转到这里。
点“搜索”查找到 185.18驱动。
下载下来NVIDIA-Linux-x86-185.18.14-pkg1.run驱动文件,放到 /home/用户名/ 目录下面。
编译依赖
sudo apt-get install build-essential pkg-config xserver-xorg-dev linux-headers-`uname -r`
屏蔽开源驱动nouveau
其实可以跳过,在安装过程那一部,运行驱动安装程序,会问您要不要帮您屏蔽,选择yes退出后重启即可。 下面两种方案只能采取一种。 一、blacklist.conf法
sudo nano /etc/modprobe.d/blacklist.conf
添加
blacklist nouveau
二、也可以通过Grub2屏蔽
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="nomodeset" #修改这行
sudo update-grub
注销系统,关闭图形环境
sudo /etc/init.d/kdm stop #适用于Kubuntu
sudo /etc/init.d/gdm stop #适用于Ubuntu
sudo stop lightdm #适用于Ubuntu(11.10)
安装过程
cd /home/用户名
sudo sh NVIDIA-Linux-x86-185.18.14-pkg1.run
或者
sudo sh NVIDIA*.run
安装过程中
如果提示有旧驱动,询问是否删除旧驱动,选Yes;
如果提示缺少某某模块(modules),询问是否上网下载,选no;
如果提示编译模块,询问是否进行编译,选ok;
如果提示将要修改Xorg.conf,询问是否允许,选Yes;
nvidia.ko问题
如果出现找不到nvidia.ko的问题,参照前面,安装一次受限制驱动列表(源)便可。
启动图形环境
sudo /etc/init.d/kdm restart #适用于Kubuntu
sudo /etc/init.d/gdm restart #适用于Ubuntu
sudo start lightdm #适用于Ubuntu(11.10)
善后
卸载旧驱动
sudo apt-get --purge remove nvidia-* sudo apt-get --purge remove xserver-xorg-video-nouveau
删除NVIDIA标识
如果你想去掉在登录屏幕出现之前的NVIDIA标识,你需要在Xorg配置文件中做些手动修改。
sudo nano /etc/X11/xorg.conf
- 在Device部分找到Driver "nvidia"这一行
- 在这一行后面,加上:
Option "NoLogo"
- 保存文件,退出。
- 关闭所有程序,然后按Ctrl-Alt-Backspace重启X服务器。如果NVIDIA标识没有了,应该是起作用了。
或者
sudo nvidia-xconfig --no-logo
PPA源
每次升级内核后需要重新编译一次显卡驱动。。。受限制驱动列表(源)那种倒是没事。
如果嫌弃手动编译安装麻烦,其实如果有人已经有编译好的NVIDIA驱动,方便群众,不需要注销系统去终端,就像安装一个普通软件deb包,完事后重启电脑就可以了。比如 https://launchpad.net/~nvidia-vdpau/+archive/ppa?field.name_filter=&field.status_filter=published&field.series_filter=any 就有打包最新驱动。
参考 http://wiki.ubuntu.org.cn/Kpackagekit#PPA 使用
添加app-get源(https://launchpad.net/~ubuntu-x-swat/+archive/x-updates)
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
安装
sudo apt-get update sudo apt-get install nvidia-current nvidia-settings
从事GPU开发的可能还需要装上cuda和openCL库的支持:
sudo apt-get install nvidia-current-dev
安装cudatoolkit获取相关开发工具,如nvcc(去官方网站下载安装包)
被抛弃的Xorg.conf 配置文件
Xorg.conf之前一直是Ubuntu显卡设定需要修改的文件,某版Xorg更新后,可以不需要该文件就能正常使用显卡设备(默认的 Ubuntu 就是取消了该文件),但是有些应用(删除开机NVIDIA Logo、屏幕旋转)还是得用到它。 其实是改用了/etc/xorg.conf.d/目录存放,这里可以存放多个文件。
NVIDIA驱动工具
NVIDIA Server Settings,实际就是编辑的Xorg.conf文件。
设定分辨率,Apply是立刻生效,Save to X Configurration File是保存到配置文件,重启后依旧有效。
Save to X Configuration File 如果出现如下错误,是因为你是用普通权限的帐号运行的这个工具,没有权限写入配置文件。
按ALT+F2,输入
kdesudo nvidia-settings
这样就以root的身份运行了这个工具,重复之前的设置。
高清视频硬件加速(硬解)
sudo apt-get install libvdpau1
重启后,播放器的视频输出驱动改成vdpau,通常播放高清视频时CPU占用率在10%以下,对比 Video Output driver 是否切换为vdpau,CPU的占用降低应该很明显。 发行版中的VDPAU比较老,而且不是基于官方驱动编译的,使用官方驱动的用户请参见 Ubuntu 10.04 x64版编译安装ffmpeg,mplayer,x264全教程,支持VDPAU(高清硬解)
屏幕旋转
Xorg.conf 的NVIDIA字段添加,之后屏幕设置项就可以启用旋转功能。
Option "RandRRotation" "true"
xrandr -o left #左转 xrandr -o right #右转 xrandr -o normal #恢复正常
外接显示器
Option "TwinView" "on"
glxgears
Ubuntu 常用glxgears来评估显卡性能,拿来检测驱动性能,FPS越高越好。
sudo apt-get install mesa-utils
qii@qii-K40IN:~$ glxgears 10701 frames in 5.0 seconds = 2140.038 FPS 11023 frames in 5.0 seconds = 2204.520 FPS 11027 frames in 5.0 seconds = 2205.321 FPS 11018 frames in 5.0 seconds = 2203.521 FPS 11024 frames in 5.0 seconds = 2204.797 FPS
黑塊
屏幕莫名其妙出現一組黑塊,可以考慮試著禁用Plymouth,換成啟動過程文本顯示。
sudo nano /etc/default/grub
相應字段改為
GRUB_CMDLINE_LINUX_DEFAULT="splash=verbose"
更新Grub2
sudo update-grub
需要更新的驱动?
ftp://download.nvidia.com/XFree86/Linux-x86/
ftp://download.nvidia.com/XFree86/Linux-x86_64/
http://linuxtoy.org/search/nvidia