⼲掉Nouveau安装LinuxNvidia显卡驱动  ⾸先说明下什么是Nouveau,为什么有些系统安装N卡驱动的时候会提⽰“ERROR: The Nouveau kernel driver is currently in use by your system. This
driver is incompatible with the NVIDIA driver……”之类的错误。
  Nouveau是由第三⽅为NVIDIA显卡开发的⼀个开源3D驱动,也没能得到NVIDIA的认可与⽀持。虽然Nouveau Gallium3D在游戏速度上还远远⽆法和NVIDIA官⽅私有驱动相提并论,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让⽤户安装完系统即可进⼊桌⾯并且有不错的显⽰效果,所以,很多Linux发⾏版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,⼏乎所有⽀持图形界⾯的企业Linux发⾏版都将Nouveau收⼊其中。
  不过对于个⼈桌⾯⽤户来说,处于成长阶段的Nouveau并不完美,与企业版不⼀样,个⼈⽤户除了想让正常显⽰图形界⾯外很多时候还需要⼀些3D特效,Nouveau多数时候并不能完成,⽽⽤户在安装NVIDIA官⽅私有驱动的时候Nouveau⼜成为了阻碍,不⼲掉Nouveau安装时总是报错。报错提⽰见⽂第⼀段。
  ⼀般安装Linux显卡驱动的步骤是:
(1)下载合适的驱动,⽆论是NVIDA还是ATI都推荐去官⽅下载
(2)如果下载的是源码⽂件则需要编译安装,不过现在官⽅提供的Linux显卡驱动多是
以.run为后缀的,这种直接在命令⾏中 ./softname.run 运⾏即可安装。
(3)⼀般在操作第⼆步的时候会提⽰让你关闭X window,如下图:
进⼊命令⾏模式Kill掉gdm或kde再安装⼀般就⽆问题,⽽安装Nouveau的NVDIA显
卡机器还多了⼀个步骤就是需要关闭Nouveau,这也就是本⽂要解决的问题。
  以下是关闭Nouveau并且安装Nvidia显卡驱动的步骤:
  (1)把驱动加⼊⿊名单
  编辑 /etc/modprobe.f ,在⽂件后⾯加⼊blacklist nouveau
  (2)root⽤户下运⾏如下两条命令:
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
linux完全安装
以上两条命令分别是备份与重建initramfs,如果你的Linux是debian或ubuntu系统运⾏
命令时需要sudo。这段⽆⽤
  (3)重启系统⾄init 3(⽂本模式),也可先进⼊图形桌⾯再运⾏init 3进⼊⽂本模式,再安装下载的驱动就⽆问题,安装命令⽰例:
./NVIDIA-Linux-x86-285.05.09.run
  安装过程根据提⽰完成即可。当然在安装之前你也可以先确认下Nouveau是已经被你⼲掉,使⽤命令: lsmod | grep nouveau
  安装完成后重启系统即可设置你的桌⾯效果了。并且在系统–⾸选项还有了NVIDIA X Server Settings的选择项。
  当 Linux 内核启动系统时,必须到⼀个根⽂件系统,⽅能成功开机,⽽这个⽂件就是init,init的PID进程恒为1。启运过程中init紧随内核,⽤于引导其它主程序完成开机。建议查看下有关initramfs的资料,这样便于理解为什么安装个显卡驱动还是⽣成(编译)initramfs。
如果驱动更新了,有两个办法可以安装,⼀个是⾃⾏下载好NVIDIA-Linux-x86-*.run安装。另外⼀个办法就是直接让驱动⾃⼰去更新,假设已经有了11版,但是没有19版,可以在安装的时候加上更新参数 --update,安装程序会⾃动连接到官⽅服务器去下载新版本然后安装。执⾏:
sh NVIDIA-Linux-x86-100.14.11-pkg1.run --update
13.OK!
14.如果要卸载nvidia官⽅驱动,执⾏:
sudo sh ***.run --uninstall
15.如果要安装受限驱动,⾸先要编辑f,执⾏:
sudo gedit /etc/modprobe.f
删除以下部分并保存:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
然后执⾏:
sudo apt-get install nvidia-*
sudo apt-get install xserver-xorg-video-nouveau
重新启动后在“附加驱动”⾥选择相应的受限驱动,并激活。
OK!
Nouveau的DRM 组件将可能进⼊Kernel 2.6.33
  关注我们:
Nouveau 是⼀个开源的 Nvidia 显卡驱动。相⽐之下 Nvidia 的官⽅驱动不是开源的,⽽开源的xf86-video-nv 功能⼜很弱。对⽐官⽅驱动,Nouveau 的优势在于⽀持新内核的 Kernel Mode
Setting 特性。在 Fedora 12 中,使⽤ Nouveau 驱动启动内核后会第⼀时间直接进⼊显⽰器的最佳分辨率,启动界⾯(不论⽂本还是图形)与 X、GDM 之间的切换、⽤ Ctrl+Alt+Fn 在 X 和终端间切换完全的'flicker free',使⽤体验⼤⼤增强。
但是其 DRM 模块部分⼀直没有进⼊内核的代码树。昨天在 Phoronix ⽹上看到⼀则消息,⼤意是说 Linus 看 Fedora 提供 Nouveau 已经很长时间了,希望 Nouveau 的 DRM 也进⼊内核。Nouveau 的维护者和 Fedora 的维护者则解释说主要是由于 Nouveau 是依靠反向⼯程来了解NV GPU 的某些内部机制的,使⽤了⼀些 Microcode,⽽这些 Microcode 相关的代码进⼊内核可能有版权问题。Linus 回复说这些理由都是 BS(从⼏次 Linus 的发⾔来看这位还真是'⽜
⽓'啊),Fedora 是不是完全没有版权问题的发⾏版?是那么上述理由就是 BS,否则以后发布就别分发 Nouveau 驱动。
今天⼜看到上⾯⼀则消息,这件事的下⽂是这样:红帽公司的 David Airlie 和 Ben Skeggs 对Nouveau
的内核部分代码进⾏了修改,Microcode 将使⽤内核的 Firmware 接⼝来加载。这样就避免了版权问题。
接下来引⽤⼀句原⽂:
In this pull request, there is the Nouveau driver that is set to go in the Linux 2.6.33
kernel under the staging area
也许 2.6.33 中,我们就能⽤上正式进⼊内核的 Nouveau 驱动,获得各种新特性了。
PS: NV 官⽅驱动虽然不⽀持 KMS,但是⽀持 OpenCL(G80+),视频加速⽅⾯⽀持 XvMC(G80-)和 Vdpau(G80+)。对于这些功能,Nouveau 并没有⽀持。实际上连 3D 功能 Nouveau 也不直接⽀持。现在的发展趋势是由 Mesa 和其中的 Gallium3D 来提供 OpenGL(也许甚⾄是
D3D)、OpenVG、、OpenCL 的⽀持。显卡驱动仅仅完成与显卡的基本交互。最近 Kernel 的图像部分发展成为了亮点,page flipping ioctl 进⼊ 2.6.33('据说'不论对于 X 还是 Wayland 都很有⽤),现在 Intel/ATI/NV 的 KMS 驱动⼜都不断完善,Linux ⽤户的图形体验必将逐步增强。