nvidia驱动从安装到配置(解决刷新率, 无标题栏和使用开源驱动等问题)

 

1. 安装
方法1(推荐). 直接在受限驱动里选驱动安装
然后

代码:
sudo nvidia-xconfig

重启(ubuntu10.4必需重启计算机而不能只是重启X, 否则会出问题)

方法2. 到官网下最新的驱动安装
网址
http://www.nvidia.com/page/drivers.html
在option1中选择你的显卡, 然后点search(其实就3种驱动, gf6以后的显卡用195.xx.xx, gf5用173.xx.xx, gf4到gf2用96.43.16)

下载下来后, 把驱动run文件放到你的home里, 如/home/yourname里.
如果你装过方法1的受限驱动. 先删除

代码:
sudo apt-get remove --purge nvidia*

确认安装了编译环境
sudo aptitude install build-essential

ubuntu10.04需要先关闭kms
先打开/etc/default/grub,命令:

代码:
sudo gedit /etc/default/grub

把 nomodeset 加到 GRUB_CMDLINE_LINUX 那一行如:

引用:
GRUB_CMDLINE_LINUX="nomodeset"

然后运行
代码:

代码:
sudo update-grub

重启, 再安装NV驱动.

然后点Ctrl + Alt +F1到第一控制台.
输入用户密码, 然后输入命令关闭X.

代码:
sudo stop gdm

点Ctrl + Alt +F7和点Ctrl + Alt +F8看X是否关闭. 如果不能关闭X, 用下面的命令

代码:
sudo service gdm stop

然后运行安装文件

代码:
sudo sh 文件名.run

进入安装界面后,首先接受协议,选“接受” 可能会有提示已经安装了旧的驱动(视乎你自己是否有手动安装过),是否删除,选yes就是了, 一般会提示缺少模块,问是否网上下载,选“no”, 提示需要自己编译模块,选“ok”,然后编译安装开始, 最后提示需要修改xorg.conf,是否允许,选yes, 完成安装,选ok。

打开xorg.conf, 看有没有错误的分辨率. 有的话去掉

代码:
sudo vim xorg.conf

然后启动gdm, 看驱动是否正常工作

代码:
sudo start gdm

然后禁用其他的driver驱动模块(否则启动后会花屏)

代码:
sudo gedit /etc/default/linux-restricted-modules-common

将其中的 DISABLED_MODULES=" " 改为:DISABLED_MODULES="nv nvidia_new"

让内核升级后自动安装nvdia驱动
首先确定驱动正常工作后, 必需先重启一次.
然后
第一步,把你使用的驱动放到/usr/src下,并生成链接。例如:

代码:
sudo mv NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src
sudo ln -s /usr/src/NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src/nvidia-driver

这样做的目的是当你更换所用的驱动时,只需要删除原来的链接后再指定新的链接即可,不需要改变我们将使用的脚本(script)。
自动安装nv驱动的脚本这个压缩包里

附件:
  update-nvidia.tar.bz2 [565 Bytes]
被下载 284 次

基本上,原理是检查新安装的内核是否安装了正确的nv驱动,如果没有,脚本将自动为新内核安装驱动模块。
把里面文件update-nvidia解压到当前目录, 然后

代码:
sudo mkdir -p /etc/kernel/postinst.d
sudo install update-nvidia /etc/kernel/postinst.d

这样内核升级后就会自动安装nvdia驱动, 不用再没更新一次内核就重装一次驱动.

2. 问题解决
1. CRT显示器刷新率达不到85Hz
如果安装后启动X后没有85Hz.
修改xorg

代码:
sudo gedit xorg.conf

重点是这一段

代码:
Section "Monitor"
Identifier     "Monitor0"
VendorName     "Unknown"
ModelName      "Unknown"
HorizSync       30.0 - 100.0
VertRefresh     50.0 - 120.0
Option         "DPMS"
EndSection

里面的

代码:
    HorizSync       30.0 - 100.0
VertRefresh     50.0 - 120.0

可用通过查看显示器说明书得知正确的横扫和纵扫频率.
或者通过不断的实验, 直到重启X后, 频率为85Hz

2. 开启3D特效(compiz)后标题栏消失(compizconfig 选项里已经选上了 “窗口装饰”)
nvidia驱动用过几年都知道, 这种情况一般不会出现, 但会随着驱动更新反复出现.

代码:
sudo nvidia-xconfig --add-argb-glx-visuals -d 24
sudo nvidia-xconfig --add-argb-glx-visuals --composite

3. CRT分辨率过低, 过高
编辑xorg.conf
在修改下面的一段

代码:
Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "Monitor0"
DefaultDepth    24
SubSection     "Display"
Depth       24
Modes      "1024x768" "800x600" "640x480"
EndSubSection
EndSection

中的分辨率

代码:
    SubSection     "Display"
Depth       24
Modes      "1024x768" "800x600" "640x480"
EndSubSection

修改后分辨率仍然过低, 或者没有这一段(很多时候在xorg中没有)
修改

代码:
    HorizSync       30.0 - 100.0
VertRefresh     50.0 - 120.0

4. 图形化修改方法
注意此方法对刷新率过低无效, 对分辨率过低无效

代码:
sudo nvidia-settings

3. 使用开源nouveau驱动

安装

代码:
sudo aptitude install xserver-xorg-video-nouveau

1. 不使用KMS

1.1 不使用xorg.conf

代码:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

1.2 使用xorg.conf
由于官方驱动和nouveau驱动的xorg.conf现在是兼容的, 只需把xorg.conf中的

代码:
Driver         "nvidia"

改成

代码:
Driver        "nouveau"

代码:
Section "Device"
Identifier     "Device0"
# Driver         "nvidia"
Driver        "nouveau"
VendorName     "NVIDIA Corporation"
EndSection

然后可能还需要修改纵横扫, 因为可能显示器的分辨率和刷新率有问题.
真实奇怪, 两种驱动的纵横扫居然不一样.

代码:
    HorizSync       30.0 - 100.0
VertRefresh     50.0 - 120.0

登出

2. 使用KMS
CRT最好不要用, 因为xorg.conf不需要, 也没有用了. 不能修改刷新率了.
a 晚启动

代码:
/etc/modprobe.d/modprobe.conf

中添加一行

代码:
options nouveau modeset=1

本人死前, 不, 是用ati之前用的是nvidia gf2. 写下这篇文章作为纪念.
不是我们不支持ATI, 是ATI不支持我们!

参考:
[分享]在内核升级后自动安装nvdia驱动

你可能感兴趣的:(nvidia驱动)