本文翻译自《Fedora 16 nVidia Drivers Install Guide (disable nouveau driver)》,作者为 JR。E 文一般,如有错误,欢迎指正。
本文为一篇指南,介绍如何在 Fedora 16 操作系统中安装 nVidia 显卡专有驱动,并禁止系统原来使用的 Nouveau 驱动程序。本指南适用于 GeForce 6/7/8/9/200/300 系列显卡。
和以往一样,Fedora 16 上安装 nVidia 显卡驱动的过程与先前的 Fedora 版本并没有太大的不同。本人已经在多台计算机上测试了这篇指南,如果你使用本指南安装驱动时遇到了困难,请告诉我。(PS:这些都是原作者 JR 说的)
安装之前
检查自己的显卡是否受支持
lspci |grep -i VGA
## 输出范例 ##
01:00.0 VGA compatible controller: nVidia Corporation GT215 [GeForce GT 240] (rev a2)
Code language: Shell Session (shell)
你的显卡型号应当要在受支持的 NVIDIA 显卡列表 173.14.xx driver 这一节之前列出。
NVIDIA Optimus (优驰) 技术
如果你执行 lspci |grep -i VGA 后,得到的输出结果类似下面这样:
00:02.0 VGA compatible controller: Intel Corporation 2n Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation GF106 [GeForce GT 555M SDDR3] (rev a1)
Code language: Shell Session (shell)
或者,你知道自己的电脑使用了 NVIDIA Optimus (优驰) 技术,那么请使用 If !1 0 用户 Viger 的这篇优秀的指南《NVIDIA Optimus (Bumblebee) guide for Fedora 16 users》。
在 Fedora 16 Verne 上安装 nvidia 专有驱动,并禁止加载 nouveau 驱动程序
1. 切换为 root 用户(“##”之间的内容为注释)
su -
## 或者 ##
sudo -i
Code language: Shell Session (shell)
2. 确保正在使用的内核与 SELinux policy 包为最新版本
若非最新版本,执行更新并重新启动。
yum update kernel* selinux-policy*
reboot
Code language: Shell Session (shell)
3. 添加 RPMFusion 的开源与闭源软件仓库(已经添加的可以略过此步)
32 位与 64 位
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Code language: Shell Session (shell)
4. 为 GeForce 6/7/8/9/200/300/400/500 系列显卡安装 nVidia 驱动程序
从下面列出的 akmod、kmod 或者 kmod-PAE 中选择一种来安装
akmod-nvidia
yum install akmod-nvidia xorg-x11-drv-nvidia-libs
Code language: Shell Session (shell)
或者
kmod-nvidia
yum install kmod-nvidia xorg-x11-drv-nvidia-libs
Code language: Shell Session (shell)
或者
kmod-nvidia-PAE 与 PAE-kernel devel
yum install kernel-PAE-devel kmod-nvidia-PAE
Code language: Shell Session (shell)
akmod 是避免内核升级时产生问题的一个简单易行的好选择。并且,如果你使用:
- 自行编译的内核
- 旧版本的 Fedora 内核
- 来自 updates-testing/rawhide 更新源中快速变更的内核
akmod 会是最佳的,也是唯一的选择。
关于 kmod 与 akmod 不同之处的详细说明,可以点阅此处。
5. 从 kernel initramfs 中移除/禁止 nouveau 驱动
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
Code language: Shell Session (shell)
6. 一切都已完成,所需的只是重启
reboot
Code language: Shell Session (shell)
如果你在安装 nVidia 驱动时遭遇了难题,请告诉我。同样地,若你参考本指南成功安装了驱动,也不妨告诉我一声,让我知道你成功安装驱动的显卡型号。(PS:作者原文)
卸载 nVidia 专有驱动,还原为 nouveau 驱动程序
如果你是按照上文所述的方法安装了 nVidia 显卡驱动,需要还原为 nouveau 驱动时可以按如下方式操作。
首先,检查一下已经安装的 nVidia 的相关组件:
yum list installed |grep nvidia
Code language: Bash (bash)
输出的结果类似于:
akmod-nvidia.x86_64 1:290.06-1.fc16.3 @rpmfusion-nonfree-updates
kmod-nvidia-3.1.0-7.fc16.x86_64.x86_64
kmod-nvidia-3.1.1-1.fc16.x86_64.x86_64
kmod-nvidia-3.1.1-2.fc16.x86_64.x86_64
nvidia-settings.x86_64 1.0-12.fc16 @rpmfusion-nonfree-rawhide
nvidia-xconfig.x86_64 1.0-10.fc16 @rpmfusion-nonfree-rawhide
xorg-x11-drv-nvidia.x86_64 1:290.06-2.fc16 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64 1:290.06-2.fc16 @rpmfusion-nonfree-updates
Code language: Bash (bash)
移除这些内容,例如,使用以下命令:
yum remove akmod-nvidia nvidia-settings nvidia-xconfig xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs
Code language: Bash (bash)
这样应该就把 nVidia 相关的内容删除了,但最好还是检查一下有没有如下的配置文件残留:
ls -la /etc/X11/xorg.conf
ls -la /etc/X11/xorg.conf.d/00-nvidia.conf
ls -la /etc/modprobe.d/blacklist-nouveau.conf
Code language: Bash (bash)
如果有这些残留文件,删除它们(记得备份)。
同样,检查 /etc/grub2.cfg 文件,在 Linux line 中不应有 nouveau.modeset=0 和 rdblacklist=nouveau。
然后,还原为 nouveua initramfs。
你也可以这么做:
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nvidia-broken.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
Code language: Shell Session (shell)
我也装了F16,挺不错的~
表示看不懂,打个酱油! 😕
好详细,好管用!谢谢博主 🙂
这都是原作者的功劳。 🙂
我就是按照这个方法装的驱动。
结果现在logo界面读完之后 进不了图形界面了。
显示器一直在找系统的信号源,找不到。。。
额,这就不清楚了。 ➡
感觉似乎应该是驱动装出问题了。请问如何在控制台模式下卸载驱动呢?
作者不是有提供卸载方法嘛。
我看了下启动的log
发现其他后面都是ok
然后
stared display manager
后面是失败。然后显示器就开始找信号找不到。。
我网上搜了,没有关于这个问题的结果。。。