废话不多说了,直接说安装步骤和遇到的问题:
一:首先当然是要把驱动下载下来啦。
我的电脑是NVIDIA的,所以自然先要访问其官网:/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不存在时,执行下面的脚本
# echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
四:重新建立initramfs image文件
# 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是交互式模式安装
下面是其他网友的补充
思路:
1、去nvidia官网下载显卡驱动,驱动的后缀名为".run",需要注意的是显卡系列名称+位数
2、打开terminal终端,输入命令"init 3"切换到文本界面
3、安装过程
#cd进显卡驱动下载的目录
#chmod a+x 驱动名
#sh 驱动名
4、发现报错无编译器,干脆去把开发工具包安装
#yum groupinstall -y Development-Tool
重复安装步骤提示找不到kernel-source,提示指定kernel的路径
#sh 驱动名 --kernel-source-path=kernel路径(我的是/usr/src/kernels/核心号/)