大部分Linux发行版都使用开源的显卡驱动nouveau,对于nvidia显卡来说,还是闭源的官方驱动的效果更好。最明显的一点是,在使用SAC拾取震相的时候,使用官方显卡驱动在刷新界面的时候要快很多。
对于CentOS用户而言,有两种安装NVIDIA显卡驱动的方法,从ELRepo源中安装或从源码编译驱动。对于一般的CentOS用户,建议使用第一种方法。
ELRepo源中包含了一系列驱动程序。
添加ELRepo源: sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
安装显卡检查程序: sudo yum install nvidia-detect
检测显卡型号,并选择对应的驱动: $ nvidia-detect -v Probing for supported NVIDIA devices... [10de:06dd] NVIDIA Corporation GF100GL [Quadro 4000] This device requires the current 346.47 NVIDIA driver kmod-nvidia 根据nvidia-detect的输出信息,可以知道显卡的型号,以及要使用的驱动版本346.47。
安装显卡驱动
- 若驱动版本为304.xx,则安装304xx版本: sudo yum install nvidia-x11-drv-304xx nvidia-x11-drv-304xx-32bit
- 若驱动版本为340.xx,则安装340xx版本: sudo yum install nvidia-x11-drv-340xx nvidia-x11-drv-340xx-32bit
- 对于大多数比较新的显卡来说,直接安装最新版的驱动即可: sudo yum install nvidia-x11-drv nvidia-x11-drv-32bit
- 安装过程中可能会给出软件冲突的警告,需要卸载以下软件包及其依赖: sudo yum remove xorg-x11-glamor
- 重启
手动编译显卡驱动
准备工作
- 查看显卡型号 $ lspci | grep VGA 03:00.0 VGA compatible controller: NVIDIA Corporation GF100GL [Quadro 4000] (rev a1) 从这里可以得出显卡型号为Quadro 4000。
- 驱动下载下载地址为:http://www.nvidia.com/Download/index.aspx?lang=en-us
安装显卡驱动
- 安装kernel-devel sudo yum install kernel-devel
- 将nouveau驱动加入黑名单,在/etc/modprobe.d/blacklist.conf(CentOS 7下为/usr/lib/modprobe.d/dist-blacklist.conf)中加入blacklist nouveau
- 备份initramfs文件 sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
- 重建initramfs文件 sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
- 关机重启。由于此时nouveau驱动已经被禁用,桌面的显示效果非常差。
- 进入文本界面 sudo init 3 会直接进入文本界面。
- 在文本界面登录后直接安装 sh NVIDIAxxx --kernel-source-path=/usr/src/kernels/x.xx.x-xxxxx 其中NVIDIAxxx为nvidia驱动脚本文件,x.xx.x-xxxx为kernel版本号。
更新kernel后重装驱动
手动编译显卡驱动的一个麻烦之处在于,每次更新kernel之后,都会出现无法进入图形界面的情况,此时需要重新安装显卡驱动。
- 更新kernel,重启,发现无法进入图形界面;
- 按下Alt+F2,进入文本界面,以root身份登陆;
- 备份initramfs文件
- 重建initramfs文件
- 重启,按下Alt+F2,进入文本界面,以root身份登陆;
- 执行第七步;再重启;
卸载显卡驱动
sh ./NVIDIA-Linux-xxxxx --uninstall