Linux: 安装NVIDIA显卡驱动

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/

原文地址:https://www.cnblogs.com/docnan/p/6984401.html