Ubuntu安装GPU驱动 && 填坑

本文详细介绍了在Linux环境下NVIDIA显卡驱动的正常安装流程,包括如何查看GPU信息、停止GUI服务、检查系统位数及现有驱动,以及从NVIDIA官网下载适合的驱动版本。同时,针对安装过程中可能出现的错误,如模块构建失败、版本不匹配等问题,提供了具体的解决步骤和建议。
部署运行你感兴趣的模型镜像

##正常的安装流程
lspci -vnn|grep VGA -A 12 看GPU,

sudo /etc/init.d/lightdm stop切换命令或者sudo /etc/init.d/kdm stop,关闭相应的GUI服务即可

cat /proc/driver/* #查看目前的驱动。
lspci|grep -i nvidia
lspci -vnn|grep VGA -A 12 #看看有哪些显卡。

daiyi@hptf01-SYS-7048GR-TR:~$ lspci |grep -i nvidia
02:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
03:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)
03:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
83:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)
83:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
84:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)
84:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)
`(查看显卡型号:lspci |grep VGA (lspci是linux查看硬件信息的命令),
屏幕会打印出主机的集显几独显信息
查看nvidia芯片信息:lspci |grep -i nvidia,
会打印出nvidia系列的硬件信息,如果主机安装了没有视频输出的GPU(如tesla系列),这个命令会很有用)

cat /proc/version
uname -a
getconf LONG_BIT #看看系统是 32位的还是 64位的。
sudo wget http://cn.download.nvidia.com/XFree86/Linux-x86_64/390.87/NVIDIA-Linux-x86_64-390.87.run
#在官网下载 https://www.geforce.cn/drivers 合适的版本。
##http://us.download.nvidia.com/XFree86/Linux-x86_64/361.93.03/NVIDIA-Linux-x86_64-361.93.03.run ##361.93的版本。
##搜索版本,还是google来的快。

sudo ls -lh /etc/modprobe.d/blacklist.conf #修改权限
sudo chmod +x /etc/modprobe.d/blacklist.conf
sudo ls -lh /etc/modprobe.d/blacklist.conf

yes|sudo apt install yum gcc make vim
yes|sudo apt install gedit

#修改文件。添加 下面两句。(避免循环登陆)
#sudo gedit /etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf

blacklist nouveau
optionals nouveau modeset=0

sudo update-initramfs -u #升级
sudo reboot #重启机器

sudo /etc/init.d/lightdm stop #将 X server停掉。
sudo sh NVIDIA-Linux-x86_64-390.87.run
cat /proc/driver/nvidia/version

nvidia-smi #看看驱动安装好没?

#######但是,坑总是猝不及防的。

Error! Bad return status for module build on kernel: 4.15.0-36-generic (x86_64)

ERROR: Failed to run `/usr/sbin/dkms build -m nvidia -v 367.57 -k 4.15.0-36-generic`:   
        Kernel preparation unnecessary for this kernel.  Skipping...                                                                                                                                                                               
           
        Building module:                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
        cleaning build area....                                                                                                                                                                                                                
	   'make' -j32 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=4.15.0-36-generic modules.....(bad exit status: 2)                                                                                                                                
		ERROR (dkms apport): binary package for nvidia: 367.57 not found                                                                                                                                                                       
   		Error! Bad return status for module build on kernel: 4.15.0-36-generic (x86_64)                                                                                                                                                        
   		Consult /var/lib/dkms/nvidia/367.57/build/make.log for more information. 
ERROR: Failed to install the kernel module through DKMS. No kernel module was installed; please try installing again without DKMS, or check the DKMS logs for more information.

ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com. 

##接着你查看日志,/usr/sbin/dkms build -m nvidia -v 367.57 -k 4.15.0-36-generic
得到了关键报错error: #error "This driver requires the ability to change memory types!" #error "This driver requires the ability to change memory types!"

#此处感谢前人踩过的坑,
https://forums.geforce.com/default/topic/1023640/can-t-build-linux-kmod-driver/
在这里插入图片描述在这里插入图片描述

##继续做, 还是会遇到坑,
再次借鉴学习
https://blog.youkuaiyun.com/Adam_liu94/article/details/79644282

https://jingluwang.blogspot.com/2017/10/nvidia-driver-version-mismatch-which.html

版本1

Failed to initialize NVML: Driver/library version mismatch.<br>

#Nvidia driver 的版本没有更新,一般情况下,重启机器就能够解决,如果因为某些原因不能够重启的话,也有办法reload kernel mod

sudo rmmod nvidia
sudo nvidia-smi
nvidia-smi 发现没有 kernel mod 会将其自动装载。

#下载失败

$ sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm

##查看下有哪些

$lsmod | grep nvidia
nvidia_uvm            647168  0
nvidia_drm             53248  0
nvidia_modeset        790528  1 nvidia_drm
nvidia              12144640  152 nvidia_modeset,nvidia_uvm            12144640  152 nvidia_modeset,nvidia_uvm

先查看下有哪些进程使用了 nvidia*

sudo lsof -n -w  /dev/nvidia*

这些进程有个了解,如果一会卸载失败,记得关闭相关进程。

卸载

sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset

再 lsof 一遍,如果 nvidia 的使用 Used by 还没有降到 0,kill 相关进程

最后。 这里应该据好了。

sudo rmmod nvidia

版本2

下载NVIDIA-Linux-x86_64-390.12.run文件安装之后(为了支持cuda 9.0),发现出现下面的错误:

Failed to initialize NVML: Driver/library version mismatch

因为之前安装了384.111版本的驱动,升级后可能存在不兼容等情况。解决办法是先卸载掉所有nvidia驱动。然后再安装。卸载办法为:

sudo nvidia-uninstall

如果卸载不掉的话,执行下面的命令,删掉所有的相关文件:

sudo apt-get purge nvidia-*
sudo apt-get remove --purge nvidia-\*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

删除文件之前,可以先看看nvidia文件都在哪些地方

sudo find -iname nvidia

然后执行安装:

sudo apt-get install nvidia-390

注意:安装nvidia时最好不要下载官网上的run文件来安装,容易出错。直接执行apt-get安装即可

###最后,还是没能解决坑,算了,就先默认安装一个系统的驱动吧。

参考链接:https://blog.youkuaiyun.com/u012897374/article/details/79966794
参考(https://blog.youkuaiyun.com/Adam_liu94/article/details/79644282)
参考链接(https://forums.geforce.com/default/topic/1023640/can-t-build-linux-kmod-driver/)

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<think>好的,我现在需要帮助用户解决在Ubuntu 18.04上安装GPU驱动的问题。用户提供的引用中有四个相关的资料,我需要仔细阅读这些引用,提取有用的信息,然后组织成一个清晰的步骤指南。 首先,引用[1]提到使用`sudo ubuntu-drivers autoinstall`来自动安装推荐的驱动版本,这里是nvidia-390。但引用[2]则用了手动安装nvidia-driver-470,并提到了卸载旧驱动的步骤。这说明有两种方法:自动安装和手动选择版本。用户可能需要知道这两种方法,并了解它们的区别。 引用[3]提到Ubuntu 18.04在安装驱动方面变得简单,但没有具体步骤。而引用[4]涉及处理内核模块的问题,可能是在安装驱动失败时需要额外安装模块。这可能是一个常见问题,需要作为注意事项提醒用户。 接下来,我需要确定步骤的顺序。通常,先更新系统,然后检查显卡型号,再选择安装方法。自动安装适合新手,手动安装适合需要特定版本的用户。卸载旧驱动是关键步骤,避免冲突,如引用[2]中的`sudo apt-get remove --purge nvidia*`。 安装后的重启和验证也是必要步骤,如`nvidia-smi`命令检查是否成功。此外,处理可能的问题,比如nouveau驱动的禁用,以及内核模块缺失的情况,如引用[4]中下载并安装linux-modules-extra。 需要注意不同显卡型号对应的驱动版本可能不同,用户需要根据实际情况选择。例如,GTX 1080 Ti在引用[1]中推荐390,但较新的驱动可能更好,如引用[2]的470。可能需要建议用户查看NVIDIA官网或使用`ubuntu-drivers devices`来获取推荐版本。 最后,整理常见问题,如安装后无法进入图形界面,可能需要恢复或使用其他驱动版本。确保步骤清晰,语言简洁,避免使用专业术语过多,让用户容易跟随。</think>以下是在Ubuntu 18.04上安装NVIDIA GPU驱动的分步指南,综合了自动安装和手动安装两种方案: ### 一、准备工作 1. **更新系统** ```bash sudo apt update && sudo apt upgrade -y ``` 2. **禁用nouveau驱动** - 创建配置文件: ```bash sudo nano /etc/modprobe.d/blacklist-nouveau.conf ``` - 添加内容: ```text blacklist nouveau options nouveau modeset=0 ``` - 更新内核: ```bash sudo update-initramfs -u ``` ### 二、自动安装(推荐新手) ```bash sudo ubuntu-drivers autoinstall ``` 系统会自动识别显卡型号并安装推荐驱动(如GTX 1080 Ti默认安装nvidia-390)[^1] ### 三、手动安装(指定版本) 1. **查看可用驱动** ```bash ubuntu-drivers devices ``` 2. **卸载旧驱动** ```bash sudo apt-get remove --purge nvidia* ``` 3. **安装指定版本(以470为例)** ```bash sudo apt install nvidia-driver-470 ``` ### 四、验证安装 ```bash nvidia-smi ``` 成功后会显示GPU状态表格,包含驱动版本、GPU温度等信息[^2] ### 五、常见问题处理 1. **内核模块缺失** ```bash # 根据内核版本下载对应模块(示例为5.4.0-150) sudo dpkg -i linux-modules-extra-5.4.0-150-generic_*.deb ``` 需要从https://pkgs.org/下载对应文件[^4] 2. **图形界面异常** ```bash sudo prime-select intel # 切换回集成显卡 sudo apt install ppa-purge sudo ppa-purge ppa:graphics-drivers/ppa ``` ### 六、版本选择建议 | 显卡系列 | 推荐驱动版本 | 特性适配 | |----------------|--------------|-------------------| | GTX 10系列 | 470 | CUDA 11.4兼容 | | RTX 20/30系列 | 515 | DLSS 3.0支持 | | 工作站显卡 | 450 | 专业渲染认证 |
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值