废话不多说了,直接说安装步骤和遇到的问题:
一:首先当然是要把驱动下载下来啦。我的电脑是NVIDIA的,所以自然先要访问其官网:http://www.geforce.cn/drivers 根据你自己的显卡型号,选择相应的显卡,进行下载勒,下载下来的是一个.run 的文件。
二:OK,接下来就是安装编译环境:gcc、kernel-devel、kernel-headers (当然,如果你的电脑已经安装了,自然就不用在装了)
# yum -y install gcc kernel-devel "kernel-devel-uname-r == $(uname -r)" dkms"kernel-devel-uname-r == $(uname -r)"可以确保安装与当前运行内核版本一样的kernel-header
三:修改/etc/modprobe.d/blacklist.conf 文件,以阻止 nouveau 模块的加载
方法: 添加blacklist nouveau,注释掉blacklist nvidiafb(如果存在)
blacklist.conf不存在时,执行下面的脚本
四:重新建立initramfs p_w_picpath文件
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak # dracut /boot/initramfs-$(uname -r).img $(uname -r)
五:执行以下安装脚本
./NVIDIA-Linux-x86_64-375.39.run --kernel-source-path=/usr/src/kernels/3.10.0-514.el7.x86_64 -k $(uname -r) --dkms -s遇到的问题:
ERROR: Unable to load the kernel module 'nvidia.ko'.
原因是内核默认开启了nouveau模块,如果没有执行第三步会报该错误
Unable to load the 'nvidia-drm' module
没有安装dkms模块导致
Your kernel headers for kernel 3.10.0-229.el7.x86_64 cannot be found
原因是找不到与内核匹配的kernel-header库文件,执行
yum install -y "kernel-devel-uname-r == $(uname -r)" 即可
其他注意事项:
--dkms 可以将Nvidia模块编译进内核默认加载模块,以后升级内核时不需要重新重新安装驱动
-s 选项是silence模式安装,去掉-s是交互式模式安装