Linux(Fedora25, 64bit)台式機配備了NVIDIA顯卡GTX950,但是僅僅使用開源驅動nouveau,無法發揮NVIDIA顯卡的性能,所以可以考慮使用官方提供的顯卡驅動。
# 先安裝顯卡驅動所需的庫
sudo yum/dnf groupinstall ”Development Tools”
sudo yum/dnf install kernel−devel kernel−headers dkms
# 從官網(www.nvidia.com)下載適合硬件和系統的顯卡驅動,可以用這個命令來檢查自己機器的顯卡型號
lspci −nn | grep VGA
# 禁用開源驅動nouveau
sudo vi /etc/modprobe.d/blacklist.conf
# 在文本中添加
blacklist nouveau
# 創建新的initramfs文件
mv /boot/initramfs−$(uname −r).img /boot/initramfs−$(uname −r).img.bak
dracut −v /boot/initramfs−$(uname −r ).img $(uname −r)
# 重啟電腦並進入命令行模式(ctrl alter F6),禁用x server
init 3
# 運行下載好的驅動安裝文件
bash NVIDIA∗∗∗.run
# 如出現“error with missing linux kernel−devel or kernel−header”,使用如下命令
sudo dnf/yum install ”kernel−devel−uname−r == $(uname −r)”
# 再按安裝程序的提示操作即可完成驅動的安裝
如果需要更新顯卡驅動,需要先卸載NVIDIA顯卡驅動,可以這樣
nvidia-installer --uninstall
這個過程使用了NVIDIA顯卡驅動自帶的工具,基本上依照這個過程就可以完整地卸載了。
遇到錯誤:"unable to build NVIDIA kernel module..."
基本上是下載的驅動程序版本不太合適,可以通過更換安裝程序的版本解決。
以我的機器為例:
失敗: NVIDIA-Linux-x86_64-358.16.run
成功: NVIDIA-Linux_x86_64-375.26.run
存在的一些問題:
安裝官網顯卡之后,顯卡風扇噪音突然變得很大的問題始終得不到解決,在辦公室幾乎成了千夫所指的聲音污染源,大家都調侃像進了機房一樣吵,所以決定偷偷把這個驅動卸載掉,重新用回NOUVEAU開源驅動。
# uninstall NVIDIA驅動
nvidia-installer --uninstall
cd /etc/modprobe.d
sudo rm nvidia-installer-disable-nouveau.conf
sudo rm blacklist.conf
sudo reinstall xorg-x11*
reboot
經過這樣的操作之后,問題並沒有解決,進入的圖形界面既沒有NVIDIA顯卡支持,也沒有NOUVEAU顯卡的支持。在網上查了很多資料也沒有找到合適解決方案,還差點把機器弄崩潰。最終,答案還是來自內心,仔細想了一下NVIDIA顯卡的安裝過程,其中有一步操作:
mv /boot/initramfs−$(uname −r).img /boot/initramfs−$(uname −r).img.bak
這分明是用mv命令進行了備份操作,於是把目錄切換到boot下查看了里面的文件:
cd /boot
ls
# 里面有如下的三個文件引人注意
initramfs-0-rescue-b9b0d655302e4e6e8bb4288b230512f6.img
initramfs-4.8.6-300.fc25.x86_64.img
initramfs-4.8.6-300.fc25.x86_64.img.bak
# 其中的.bak文件應該就是上一步操作安裝NIVIDIA驅動時備份的NOUVEAU驅動加載配置,如此便可以這樣操作
mv initramfs-4.8.6-300.fc25.x86_64.img initramfs-4.8.6-300.fc25.x86_64.img.bak.NVIDIA
cp initramfs-4.8.6-300.fc25.x86_64.img.bak initramfs-4.8.6-300.fc25.x86_64.img
reboot
哈哈,重啟之后果然回到了NOUVEAU驅動加載的Fedora桌面,整個世界也安靜了下來。
I am so good!
進一步的優化,如果必須用NVIDIA驅動,可以參考這篇博文里的設置,修改/etc/X11/xorg.conf配置文件[1]。
Section "Device"
Identifier "Device 0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 470"
Option "Coolbits" "12"
Option "RegistryDwords" "PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3;"
EndSection
通過調節coolbits的參數,應該可以降低NVIDIA驅動默認的風扇轉速,從而降低噪音。
參考:
基本來源於Stackoverflow,linux社區和NVIDIA官網,參考比較雜亂,不及一一細述。
[1]http://z-issue.com/wp/nvidia-linux-drivers-powermizer-coolbits-performance-levels-and-gpu-fan-settings/