轉載地址:http://blog.csdn.net/yangzhencheng_001/article/details/8040171
臺試機因爲硬件不是很好。所以,我讓臺式機從 Ubuntu 回到了 Fedora 陣營中去。安裝了到現在爲止最新發行版: Fedora 17。但是,一直沒有安過官方驅動,所以——嘿嘿,忘記如何安了。上網看了一篇文章,發現還不錯,但是有一個關鍵地方是錯誤的,所以我給糾正過來,並決定發個糾正好且成功的方法糾正文。而且,本少還添了一些油,加了一點醋,招了花,惹了草,搶了人,偷了車。。。好了,不瞎說了,不然警察叔叔就會認爲我是採花大盜,在小黑室關幾天。
原網址:http://www.linuxdiyf.com/viewarticle.php?id=303195
好了,我現在就把我自己的方法寫出來,並給出錯誤點——其實就只有一行不一樣,其它全一樣。。。
首先,我們先要做一下準備工作:
1、通過yum安裝dkms,kernel-devel,kernel-headers
# yum install dkms kernel-PAE kernel-PAE-devel kernel-PAE-headers //kernel-PAE-headers 這個沒有可以不裝,但一般沒有。這裏主要是用於新內核繼承
2、阻止kernel加載nouveau模塊
先備份原文件(良好的習慣):
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_20121004
之後修改:
# vi /boot/grub2/grub.cfg
修改在最前頭的,除內核版本號(紅字)不一樣的如下行:
linux /vmlinuz-3.5.4-2.fc17.i686.PAE root=UUID=284023d5-52a1-40fb- 972b-3bed2872eafc ro SYSFONT=False rd.lvm=0 rd.dm=0 LANG=zh_CN.UTF-8 KEYTABLE=us rd.md=0 rd.luks=0 rhgb quiet
在你要安裝顯卡驅動的kernel行的末尾加上 3 rdblacklist=nouveau
也就是改成:
linux /vmlinuz-3.5.4-2.fc17.i686.PAE root=UUID=284023d5-52a1-40fb- 972b-3bed2872eafc ro SYSFONT=False rd.lvm=0 rd.dm=0 LANG=zh_CN.UTF-8
KEYTABLE=us rd.md=0 rd.luks=0 rhgb quiet 3 rdblacklist=nouveau
還要記下紅字的那一行的信息,下面安裝顯卡驅動時要用的。
3.修改/etc/modprobe.d/blacklist.conf
同理,要先備份文件:
cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf_20121004
之後修改:
將nouveau拉入黑名單,也就是在整個文件末行,添加一行 blacklist nouveau。
4 . 解除selinux阻止加載nvidia驅動模塊,且禁用selinux
備份:
cp /etc/selinux/config /etc/selinux/config_20121004
然後修改:
#vi /etc/selinux/config
將文件內容中的 SELINUX=XXX 改爲 SELINUX=disabled
5、下載顯卡驅動
到 NVIDIA 官網上下載。如何下載,就不用我說了吧(右擊下載,不然將會打來源碼的,而且最後把擴展名改爲 .run。系統可能會自作主張改成 .bin)。
我把文件下載到了:/home/yangzhencheng/NVIDIA-Linux-x86-304.51.run
原作者說,最好修在英文路徑下,中文會有點彆扭。具體如何彆扭,我就不知道了。如果有心人,可以試試。
好了,現面要安裝了。
首先,我們要重啓計算機:
#reboot ——個人感覺這樣快點。。。
重啓後,直接就進入到了是命令行模式。我們用 root 用戶來登錄,以免出現別的問題。
好了,現在我們還要修改一個文件:
#vi /etc/modprobe.d/blacklist.conf
進去後,將 blacklist nvidiafb 前加一個“#”,來註釋掉它,如:#blacklist nvidiafb
保存後,我現回到命令行中去。
我們現在要做得就是安裝了。
進入到我們下載 Nvidia 顯卡驅動的地方。
我們現在開始安裝了。
執行如下命令:
# sh NVIDIA-Linux-x86-295.71.run --kernel-source-path /usr/src/kernels/3.5.4-2.fc17.i686.PAE
大家是否發現了不同。
就是原來文章中的 ./,我生生地改成了 sh。對,就是這裏。當時我這還不明白,爲什麼要用 ./ 。這也不是編譯好的文件。最後,我才明白,原來作者打錯了。。。
還有一點,也就是紅字的區域。大家還記得我上面讓大家讓得那個紅字。對,這裏就要用到那個紅字了。也就是對應你自己的內核。
好了。執行這行命令後,只要不 Error。見到 Accept 就點,見到 Yes 就選。請不要客氣——因爲想安就不要客氣。計算機是沒法子和你婉轉的。人家是直來直去的東北大漢。
全部完成後,我們再最後改一個文件——折騰半天了,這真得是最後要改的了。
好,我們在命令行下執行:
# vi /boot/grub2/grub.cfg
修改剛纔我們改過的那一行。現在這一行的樣子是這個樣子的:
linux /vmlinuz-3.5.0-2.fc17.i686.PAE root=UUID=284023d5-52a1-40fb- 972b-3bed2872eafc ro SYSFONT=False rd.lvm=0 rd.dm=0 LANG=zh_CN.UTF-8 KEYTABLE=us rd.md=0 rd.luks=0
rhgb quiet 3 rdblacklist=nouveau
我們把那個上面新加入字符中的3去掉(紅字那個),就變成了:
linux /vmlinuz-3.5.0-2.fc17.i686.PAE root=UUID=284023d5-52a1-40fb- 972b-3bed2872eafc ro SYSFONT=False rd.lvm=0 rd.dm=0 LANG=zh_CN.UTF-8 KEYTABLE=us rd.md=0 rd.luks=0
rhgb quiet rdblacklist=nouveau
好了,我們現在重啓。。。
一切 OK,現在我們的計算機就用上了 NVIDIA 的顯卡驅動。不信,你可以通過以下命令來查看:
#lsmod | grep nouveau
沒有輸出,然後再:
#lsmod | grep nvidia
如果你安得桌面是 KDE,就更好辦了,你查看一下 KDE 提供的“系統信息”即可。我的是:
總之,感覺的確比較麻煩,但是沒有辦法的。