[转]安装N卡驱动前的准备和一点点小建议

原创 2007年09月20日 08:19:00
安装N卡驱动前的准备和一点点小建议:

1.购买N卡时,为了安装配制简单省事,请尽量购买做工出色,用料扎实且采用公版设计的N卡,谨慎购买做工用料缩水,并且兼容性不好的N卡,驱动安装不上也不排除与主机板的硬件兼容性有关,本本情况与之类似

2.本帖中提到的新立得或apt ,或从源中安装的大前提: 要先在ubuntu上配好网络,改好源,保证你的ubuntu可以上网,如果不能上网,可以用dvd 光盘或dvd iso文件做源,也可用离线升级源/本地源

3.安装N卡驱动前,首先要确认你所安装的ubuntu版本源中自带的驱动是否支持你的N卡:

如果源中的驱动支持,先不要到nvidia官方网站下载驱动手动安装,推荐优先通过受限驱动管理的方法或apt新立得安装

如果源中的驱动不支持你的N卡或源中支持,但尝试各种配制方法后仍然不成功,则首先确定你所安装的ubuntu 版本是i386(x86) 还是AMD64/Intel EM64T,再到nvidia官方网站下载合适的nvidia驱动xxxx.run手动安装,手动安装方法可见本帖中的安装步骤。(AMD64/Intel EM64T或i386/x86在这里不是指你的电脑硬件,而是指你安装的ubuntu系统!)

手动下载编译安装N卡驱动最显而易见的坏处是: 每次升级内核,都要重装驱动

如果驱动是从源中安装的,apt升级内核后不用重装驱动。

4 本帖介绍了流行的五种不同的N卡安装方法,越往后,越不推荐,没办法才用第三到第五中介绍的方法,本帖适合做为MX440或以上档次的N卡安装的非官方参考,安装方法可根据情况来选择,如有可能,应优先从源中安装驱动。下面所指的安装成功,是指3D可用,并且分辨率和刷新率可调节。




安装N卡驱动后可能出现的常见问题:



真实的刷新率nvidia-settings 为准,或者以显示器OSD中显示的为准,原因在下面有解释(英文)

nvidia-settings改不了时,也不妨试下:系统->偏好管理->萤幕解析度

进不了x ,不可用图形界面的编辑器,可用nano vim之类的代替gedit

驱动没有正确安装,也有可能出现分辨率和刷新率不可调节的情况

sudo nvidia-xconfig就是自动修改并备份xorg.conf文件

3d 正常,分辨率和刷新率不正常,也可手工修改/etc/X11/xorg.conf

DDC是什么? 解释在四楼(英文)

显卡DDC功能正常的情况下,可用sudo ddcprobe | grep monitorrange 命令查看显示器参数,一般live cd 启动后自动生成的xorg.conf应该包含有正确的显示器工作参数

显卡DDC功能不正常或显示器不提供DDC功能,则以显示器说明书或显示器后面的铭牌为准来修改xorg.conf 

有个mx400的用户提到安装后再手工修改xorg.conf重启电脑对分辨率和刷新率不管用,怎么折腾都无效,最后发现装好驱动后先关机,再开机以后分辨率和刷新率就一切正常,而重启怎么捣鼓都不管用(奇怪+罕见)。

难道个别显卡ddc 只是在每次重开机时才动作一次?而重启不进行ddc通信(ddc好像是i方c 总线)?

向硬件知情人士了解到: intel 的显卡只要开机,ddc 就一直有波形,而部分其它显卡,只在开机一瞬间能抓到ddc波形,其它时候全无。



显卡会顽固地将桌面刷新率锁定在60Hz,设置也无效,其原因与显卡无法检测到显示器中的 DDC信息有关。

显卡的用户有时在先开主机后开显示器时会遇到刷新率跳回到60Hz的问题,同样与无法检测DDC有关.



为了装机时得到正确的ddc信息,不防关机后,再启动电脑,说不定就可以ddcprobe 查看显示器正确的工作参数或用live cd 启动自动生成正确的xorg.conf.



修改xorg.conf的实例可以在论坛搜索





进不了x的最简单解决方法
http://forum.ubuntu.org.cn/viewtopic.php?p=393130#393130
进不了x的通用解决方法(这个帖子的二楼为手动方法,五楼的内容为更换了硬件后全自动配置x的解决方案,不换硬件也可用)
http://forum.ubuntu.org.cn/viewtopic.php?p=409958#409958
分辨率过低时的操作:
http://forum.ubuntu.org.cn/viewtopic.php?t=72657
24位色深32位色深的问题
http://forum.ubuntu.org.cn/viewtopic.php?t=66897
mx440安装成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?t=66711
http://forum.ubuntu.org.cn/viewtopic.php?t=68038
intel865gv整合显卡换成5200后进不了x,配制成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?p=409129#409129
64位ubuntu,5200从源中安装驱动成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?t=66739
nVidia GeForce 6600 GT从源中安装驱动成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?p=311067#311067
关于nvidia go 7300 3D可用,可改分辨率,但重启后每次都要手动改分辨率,最后配置成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?p=392405#392405




系统->偏好管理->萤幕解析度出来的选项只有50、51 55hz等等可以选,分辨率也没有自己想要的…
如果真实的刷新率正常,只是在系统->偏好管理->萤幕解析度中显示不正确,如果不影响使用,可以不去理会,对于不正常的分辨率可试着用以下方法解决:
cp /etc/X11/xorg.conf ~/xorg.conf.nvidia // 备份xorg.conf
sudo gedit /etc/X11/xorg.conf
然后在Section "Screen"的DefaultDepth 24"之下, 加入option "DynamicTwinView" "False", 如下所示
Section "Screen"
......
DefaultDepth 24
Option "DynamicTwinView" "False"
存档后, 按Ctrl+Alt+Backspace重新启动gnome, 再到
系统->偏好管理->萤幕解析度, 就可看到不同的解析度可选择了.
这样处理后的坏处可见下面的说明(英文)



关于刷新率为什么是50 51 55...96......双显示器的解释(英文):

Why is the refresh rate not reported correctly by utilities that use the XRandR X extension (e.g., the GNOME "Screen Resolution Preferences" panel, `xrandr -q`, etc)?
The XRandR X extension is not presently aware of multiple display devices on a single X screen; it only sees the MetaMode bounding box, which may contain one or more actual modes. This means that if multiple MetaModes have the same bounding box, XRandR will not be able to distinguish between them.
In order to support DynamicTwinView, the NVIDIA X driver must make each MetaMode appear to be unique to XRandR. Presently, the NVIDIA X driver accomplishes this by using the refresh rate as a unique identifier.
You can use `nvidia-settings -q RefreshRate` to query the actual refresh rate on each display device.
This behavior can be disabled by setting the X configuration option "DynamicTwinView" to FALSE.
Option "DynamicTwinView" "boolean"
Enable or disable support for dynamically configuring TwinView on this X screen. When DynamicTwinView is enabled (the default), the refresh rate of a mode (reported through XF86VidMode or XRandR) does not correctly report the refresh rate, but instead is a unique number such that each MetaMode has a different value. This is to guarantee that MetaModes can be uniquely identified by XRandR.
When DynamicTwinView is disabled, the refresh rate reported through XRandR will be accurate, but NV-CONTROL clients such as nvidia-settings will not be able to dynamically manipulate the X screen's MetaModes. TwinView can still be configured from the X config file when DynamicTwinView is disabled.
Default: DynamicTwinView is enabled.


以下五个MOI 为目前流行且常见的N卡安装步骤,装好系统配好网络改好源后,可以按顺序来进行尝试,越往后,越不推荐,没办法才用第三到第五中介绍的方法!如果受限驱动管理中没有可选项,则极可能源中的驱动不支持你的N卡,请谨慎地确认无误并手动下载正确的驱动后,严格按照流程手动编译安装。



一、通过受限驱动管理从源中安装N卡驱动



以前一直是通过命令或新立得从源中安装,或者从nvidia 官方下载驱动再通过命令安装
其实只要硬件支持ubuntu,对于ubuntu 7.04 或ubuntu 7.04 以后的版本,在配制好网络改好源后:
  点-----系统 ---->系统管理------>受限驱动管理----->nvidia 打钩,系统会自动安装,安装完后系统会提示重启,重启后显示就正常了
改分辨率和刷新:
代码:
sudo nvidia-settings

如果这个工具在菜单中有,可点应用程序---->系统工具----->nvidia-xserver settings
另外改分辨率也可以: 系统->偏好管理->萤幕解析度




二、通过apt或新立得从源中安装N卡驱动:


如果你的n卡源中驱动支持,但通过受限驱动管理的方法不管用(没理由不行,也许有可能系统选错驱动,但没听说过这种可能,只是部分显卡在源中可安装两种驱动,的确存在驱动有新有旧的区别),则可以用下面的方法,以ubuntu 7.04为例
n卡驱动的安装方法: 三步曲
n卡型号不同,安装的驱动也不同
下面以7.04为例
有三个时代的n卡,所以对应有三个不同的驱动,这要根据下面的lnk中的列表,找到你的显卡要安装哪一种驱动,并记下驱动名。
http://forum.ubuntu.org.cn/viewtopic.php?t=47981&start=0&postdays=0&postorder=asc&highlight=

1. 根据上面的列表和你手上的n卡型号,选择下面对应的代码执行安装驱动,不要选错 ,下面的三行代码,你只能选其中之一执行进行安装(新立得中也可),因为它安装的是不同的n卡所对应的驱动

代码:
sudo apt-get install nvidia-glx-legacy

#8762 老n卡驱动 ,也就是n年前买的n卡驱动,不支持其它n卡

代码:
sudo apt-get install nvidia-glx

#9631 驱动 中古n卡对应的驱动,也支持部分nvidia-glx-new驱动支持的n卡

代码:
sudo apt-get install nvidia-glx-new

# 9755 最新的n卡对应的驱动 ,但也支持部分中古n卡 ,有可能这个new会随时升级到9755以上的版本

2. 装完后

代码:
sudo nvidia-xconfig

#这一步就是修改并备份xorg.conf文件
再重启x或电脑,7.04重启后右上角会有一个受限驱动的提示,点启用就行

3. 如果有双显示器,还有改刷新,分辨率直接这样:
代码:

sudo nvidia-settings

再到这个图形界面上改就行
刷新率以nvidia-settings 中显示的为准





三、通过手动从Nvidia官方网站下载驱动后,在ubuntu上编译安装nvidia驱动



友情提示:
有些情况下,源中的驱动的确支持你的显卡,在确保步骤没错的情况下,如果确实安装不成功,也可手动尝试不同版本的驱动,对于这种情况,我的看法是:
http://forum.ubuntu.org.cn/viewtopic.php?t=72787
通过下面手动编译安装nvidia驱动的做法,ubuntu官方强列不推荐!
比较新的N卡,如果源中的驱动确实不支持,不得已只能手动安装驱动
对于当前的ubuntu 7.04 来说:
c68芯片组7025/7050和 最新的nvidia 8系或最新的Quadro Nvs 系列显卡才有手动编译安装驱动的必要。
首先确定你安装的ubuntu 版本是x86 还是amd 64,x86 amd 64 在这里不是指你的电脑硬件,而是指你安装的ububntu系统是64还是32位的!
再到nvidia官方网站下载合适的nvidia驱动xxxx.run
ubuntu i386 nvidia下载地址(x86)
http://www.nvidia.com/object/linux_display_archive.html
ubuntu amd 64 nvidia驱动下载地址(AMD64/Intel EM64T):
http://www.nvidia.com/object/linux_amd64_display_archive.html
Nvidia显卡驱动手动(在不需要手动安装的情况下,Ubuntu官方强烈不推荐手动安装Nvidia显卡驱动)安装,如果今后出现变更请以这个url做为最权威的安装参考(英文):
https://help.ubuntu.com/community/NvidiaManual

1.安装要用到的软体
代码:
sudo apt-get install build-essential pkg-config xserver-xorg-dev linux-headers-`uname -r`

2 做下备份
代码:
sudo cp /etc/default/linux-restricted-modules-common /etc/default/linux-restricted-modules-common.backup111

代码:
sudo cp /etc/X11/xorg.conf  /etc/X11/xorg.conf.backup111

3 修改文件linux-restricted-modules-common ,在这句中改为 DISABLED_MODULES="nv" 或者 "nv nvidia_new"
#这一步请看MOI最后的备注说明  
代码:
gksu gedit /etc/default/linux-restricted-modules-common

4 alt+ctrl+f3后   
代码:

sudo /etc/init.d/gdm stop

5 cd 到驱动文件所在目录后,安装驱动,必要时可用tab键
代码:
sudo sh NVIDIA-Linux-???-???.??.??-pkg1.run

首先会提示是否接受协议,这个要tab到accept.然后回车接受协议
No precompiled kernel interface was found to match your kernel; would you li
ke the installer to attempt to download a kernel interface for your kernel f
rom the NVIDIA ftp site (ftp://download.nvidia.com)?
也就提示缺少预编译模块,询问是否上网下载,这个要选no在本地译;接下来的其它选yes或ok
6
代码:
sudo reboot

代码:
sudo /etc/init.d/gdm start


备注: 对于上面的第三步,7.04 或以后的版本nv nvidia_new成了新的标准,改为nv的做法好像过时了:
https://help.ubuntu.com/community/NvidiaManual
https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/105756
NICMICHAEL提到有些新的8系列显卡要改为nv nvidia_new:
代码:
gksu gedit /etc/default/linux-restricted-modules-common
这一段  DISABLED_MODULES="" 改为"  DISABLED_MODULES="nv nvidia_new"


新的8系显卡,7050/7025 或nvs系列显卡手动下载安装驱动的确要改为 "nv nvidia_new" .官方网站上的安装说明是通通这样改,成功的例子
http://forum.ubuntu.org.cn/viewtopic.php?p=390601#390601

另一个通过手动安装N卡驱动成功的案例:
http://forum.ubuntu.org.cn/viewtopic.php?t=67085&start=0&postdays=0&postorder=asc&highlight=






四、通过第三方GUI/CLI界面工具envy安装N卡驱动

GUI



CLI



安装:

 
http://www.albertomilone.com/nvidia_scripts1.html

下载最新的envy_x.x.x-0ubuntu8_all.deb

安装后,运行它根据提示操作就行

要求: 你的网络没有被isp和谐。

参见:

http://www.albertomilone.com./latest_nvidia_udsf_feisty.html

 刚才在7.10的源里看了下:

nvidia-glx-new 是100.14.11
nvidia-glx 是10.9639


这样看来,新显卡用户,如果不想麻烦或不会手动安装驱动,等ubuntu 7.10正式版是个最好的选择

nvidia 7050/7025 nvs 系列 nvidia 8系都可以安装 ubuntu 7.10

在配制好网络后直接: 点系统 ---->系统管理------>受限驱动管理----->nvidia 打钩

N卡驱动就可轻松搞定。


五、其它方法安装N卡驱动:

以下方法skyx强列不推荐,skyx不对安装失败或其它不良后果担负任何民事以及连带的法律责任:

根据上面测试版源中的情况,下面提供超级变态的N卡安装方法,用这种方法,有可能在搞定最新N卡驱动的同时,还顺带解决你的声卡,无线网卡驱动的问题! 对于自愿担当小白的, 说不定会有惊喜,实际上为了驱动值得一试!

可以安装最新测试版内核来解决最新硬件的驱动问题,方法为改为测试版源后,apt或新立得搜索内核,然后安装。装好后务必把源改回当前版本,也可以手动从源中下载内核后手动安装,由于测试版中的内核文件变化无常,在这里帖出url后过不了多久就会链接失效,手动方法略去。如果新内核安装后启动失败,可以选老内核启动。



如果你现在用的是当前版本,源中驱动不支持你的最新N卡,如果你不想或不会手动安装驱动

变态的方法:


1. 把源临时改为测试版ubuntu源后



代码:
sudo apt-get update


代码:
 sudo apt-get install nvidia-glx-new -d


出错就重做,直到这两步没有提示任何错误后:

代码:
 sudo apt-get install nvidia-glx-new 




以上关于安装的操作也可在新立得中进行。


2.
代码:
sudo nvidia-xconfig


重启电脑后,开机菜单选新内核启动






3. 安装成功后把源改回当前版本,如果不改回,有可能会带来灾难,对于不打算把源改回的,请走好,skyx不送!

接着:


代码:
sudo apt-get update


变态搞定最新N卡驱动!安装好后,不要随便删除老的内核,也没必要动menu.lst ,如果不行,选老内核启动就行

当前gusty 源中nvidia-glx-new的依赖情况是:
代码:

libatk1.0-0 (>= 1.13.2)
libc6 (>= 2.6-1)
    GNU C Library: Shared libraries
 libgl1-mesa
    Package not available
or libgl1
    Virtual package
 libglib2.0-0 (>= 2.14.0)
    The GLib library of C routines
 libglu1-mesa
    The OpenGL utility library (GLU)
or libglu1
    Virtual package
 libgtk2.0-0 (>= 2.11.6)
    The GTK+ graphical user interface library
 libpango1.0-0 (>= 1.18.0)
    Layout and rendering of internationalized text
libx11-6
    X11 client-side library
libxext6
    X11 miscellaneous extension library
linux-restricted-modules-common
    Non-free Linux 2.6.22 modules helper script
 nvidia-glx
    NVIDIA binary XFree86 4.x/X.Org driver
nvidia-kernel-100.14.11
    Virtual package
 xserver-xorg-core (>= 1:0.99.0-1)



其中里面的虚包 nvidia-kernel 又依赖最新的linux内核,所以安装nvidia-glx-new后,内核也会随之升级为最新。最新内核应该还可以解决其它硬件的支持问题。

根据上面的依赖情况,以我的菜鸟眼光来看: 

基本上是最底层的库,按二楼提供的方法安装后,也只升级这些东东,这些底层的库,并非ubuntu所独有,任何发行版都会有,如果不安装有特殊要求的行业软件,个人以为升级这些不会对系统造成什么重大影响。


半年多以前,在使用edgy 时,准确地说是2007年元月,因为ubuntu cn源的问题,nvidia 9631在升级后提示出错,求人无门的情况下,万般无奈的我就这样做过,当时的festy beta版都不是,我装好驱动后就把源改回edgy,在后来的使用过程中没有出现过什么问题。


但要注意的是: 这样做是是有风险的

原文:http://forum.ubuntu.org.cn/viewtopic.php?t=69241&highlight=nvidia


[转]基于uda34x的ALSA声卡驱动之uda134x.c

#include #include #include #include #include #include #include #include

Linux设备驱动的分层设计思想[转]

1.1 设备驱动核心层和例化在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数。如果对于继承的这个事物而言,其某函数 的实 现与基类一致,那它就可以直...

[转]移植linux-2.6.36内核后的ts及lcd驱动参数修改

本文转自:http://blogold.chinaunix.net/u4/120285/showart_2396199.html  移植linux-2.6.36内核及修改touchscreen及lc...

[转] linux rtc驱动

Linux的RTC驱动相对还是比较简单的,可以将它作为一个普通的字符型设备,或者一个misc设备,也可以是一个平台设备,这都没有关系,主要还是对rtc_ops这个文件操作结构体中的成员填充,这里主要涉...

[转]s3c2440 lcd驱动学习笔记

本文转自:http://blogold.chinaunix.net/u2/72457/showart.php?id=2199207 2440 LCD嵌入式驱动用到了Linux platform dri...

[转]Linux主机驱动与外设驱动分离思想

 - by 宋宝华(Barry Song)1主机、外设驱动分离的意义在 Linux设备驱动框架的设计中,除了有分层设计实现以外,还有分隔的思想。举一个简单的例子,假设我们要通过SPI总线访问某外设,在...

[转]ubuntu安装SCIM中文输入法

【转】【转】 原文地址:http://blog.csdn.net/NeomanOntheway/archive/2010/03/27/5422845.aspx 最近开始学习Linux,现开始一点点...
  • stude
  • stude
  • 2011年08月03日 13:16
  • 471

[水贴]给所有制作同人/独立游戏的同学一些建议

趁最近搞游戏引擎系列之时给所有制作同人/独立游戏的同学一些建议   当然我想来这个BLog 80%-90% 的人都不是制作同人/独立游戏的同学。   所以说水贴一个。。。     时间:...

[重磅,建议收藏]JAVA集合框架中的常用集合及其特点、适用场景、实现原理简介

JDK提供了大量优秀的集合实现供开发者使用,合格的程序员必须要能够通过功能场景和性能需求选用最合适的集合,这就要求开发者必须熟悉Java的常用集合类。本文将就Java Collections Fram...

[转]Ubuntu 12.04 & 13.04 安装 GCC4.8.1

转自 http://blog.csdn.net/csfreebird/article/details/9626577 终于有了完整实现C++11的GCC 4.8.1. 给自己的系统升级吧。 下面...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[转]安装N卡驱动前的准备和一点点小建议
举报原因:
原因补充:

(最多只允许输入30个字)