ubuntu22.04安装NVIDIA显卡驱动(已上机实验)
ubuntu22.04安装NVIDIA显卡驱动
- 前期准备
- secure boot
- 禁用nouveau
- 安装显卡驱动
- 解决办法
前期准备
secure boot
开机进bios,找到Secure boot,把Enabled设为Disabled
禁用nouveau
打开终端
sudo gedit /etc/modprobe.d/blacklist.conf
在打开的文本最好添加,添加后保存
blacklist nouveau
options nouveau modeset=0
更新软件列表和环境源
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
更新后,输入以下命令,检查nouveau是否关闭
lsmod | grep nouveau
没有输出则关闭成功,有输出则重启
安装显卡驱动
我是直接在nvidia官网下载,手动安装,还有其他的途径可以装,有需要可以去找一下
1.在nvidia官网找到适合的驱动进行下载
2.安装显卡依赖源
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install cmake
3.安装
3.1 进入命令行界面(进入前记以下用户名,进入后是黑色的界面不要慌,输入用户名和密码,)
sudo telinit 3
3.2关闭显示服务(注意ubuntu的版本不同,显示不同,22.04则是gdm3)
sudo service gdm3 stop
3.3赋予文件权限并运行
sudo chmod a+x NVIDIA-Linux-x86_64-550.135.run
sudo ./NVIDIA-Linux-x86_64-550.135.run -no-opengl-files -no-x-check -no-nouveau-check
注:只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
安装过程顺利的话会出现一些选项,详细可以参考这个链接Ubuntu22.04 安装显卡驱动
But!!!我很不顺利!所以才写下了这篇博客
主要是出现显卡安装过程中,我出现了这个错误:
ERROR: An error occurred while performing the step: “Building kernel modules”. See /var/log/nvidia-installer.log for details.
这个问题其实常见的,我翻了很多个博客发现每个博客说的原因都不太一样,大致分为俩类,一类是说linux的内核不一样或者是ubuntu自带的gcc版本与kernel编译gcc版本不同,具体的情况需要进入这个日志去查看
解决办法
进入日志,查看错误信息
sudo vim /var/log/nvidia-installer.log
我这里是gcc版本不同,所以我需要更换gcc版本,你可以选择直接删除原来的gcc安装新的gcc,或者你也可以直接安装需要版本的gcc,在通过命令进行切换,具体的可以自行查找其他博客进行安装。
我这里是直接把gcc原来的版本删了
1.删除原来的gcc
sudo apt-get remove gcc
如果想彻底删除,可以参照这篇博客彻底删除原来的gcc
2.下载源码
找到需要的gcc版本gcc安装包下载
解压到文件夹下载依赖
cd gcc-12.3.0
./contrib/download_prerequisites
mkdir build && cd build
3.执行安装并制定安装位置,我的默认安装在了/usr/local/bin文件夹中
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
4.编译
sudo make -j8
5.安装
sudo make install
安装成功后,系统识别的GCC默认安装路径在/usr/bin文件夹下,需要创建软链接
cd /usr/bin
sudo ln -s /usr/local/bin/gcc gcc
sudo ln -s /usr/local/bin/g++ g++
如果报错:该文件已存在,无法创建链接,则删掉原来的软链接
cd /usr/bin
sudo rm -r gcc
sudo rm -r g++
再重新创建软链接
cd /usr/bin
sudo ln -s /usr/local/bin/gcc gcc
sudo ln -s /usr/local/bin/g++ g++
之后查看gcc版本
gcc --version
即可查看到安装的gcc版本,再进行安装显卡驱动,这回就很顺利的安装成功了!
参考链接
ubuntu22.04安装显卡驱动
ubuntu22.04安装显卡驱动
ERROR:An error occurred while performing the step: “Building kernel modules“. See /var/log/nvidia-i的解绝方法
linux下gcc编译安装与卸载-ubuntu22.04安装gcc-12.3.0
Linux系统ubuntu22.04安装最新版的gcc13.1.0编译器
解决编译安装gcc后系统识别不到的问题