ubuntu安装NVIDIA显卡驱动及CUDA环境
在安装CUDA之前,需要先安装适用于您的GPU的NVIDIA显卡驱动。
一、卸载现有的CUDA
卸载CUDA的方法取决于您最初是如何安装CUDA的。通常有通过包管理器(如apt
)或通过.run文件安装两种方式。
方法1:通过apt
卸载(如果是通过APT安装)
-
移除CUDA和相关包
sudo apt-get --purge remove "*cublas*" "cuda*" "libcuda-*" "nsight*"
-
移除NVIDIA驱动(如果需要)
如果您希望同时卸载NVIDIA驱动,可以执行:
sudo apt-get --purge remove "nvidia-*" "libnvidia-*"
-
清理残留的包和依赖
sudo apt-get autoremove sudo apt-get autoclean
-
检查已安装的NVIDIA包
执行以下命令,确认没有残留的NVIDIA包:
dpkg -l | grep -i nvidia
dpkg -l | grep -i cuda
这些命令应无输出或仅显示与CUDA无关的包。如果仍有NVIDIA包存在,手动卸载它们:
sudo apt-get purge <包名>
将 <包名>
替换为实际存在的NVIDIA包名。
- 删除残留的NVIDIA配置文件和目录
手动删除可能残留的NVIDIA配置文件和目录:
sudo rm -rf /usr/local/cuda*
sudo rm -rf /usr/local/nvidia
sudo rm -rf /etc/modprobe.d/nvidia*
sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/video/nvidia*
方法2:通过.run文件卸载
如果您是通过NVIDIA提供的.run文件安装的CUDA,可以使用相应的卸载命令。
-
进入CUDA安装目录
假设您记得run文件的位置,如果不确定,可以尝试在
/usr/local/
下查找。 -
运行卸载脚本
sudo /usr/local/cuda-X.Y/bin/cuda-uninstaller
将
X.Y
替换为您安装的CUDA版本号。如果找不到卸载程序,可以重新运行run文件并选择卸载选项:
sudo sh cuda_X.Y.Z_linux.run
然后按照提示选择卸载。
方法3:通过.run文件卸载
如果您是通过NVIDIA提供的.run文件安装的CUDA,可以使用相应的卸载命令。
-
进入CUDA安装目录
假设您记得run文件的位置,如果不确定,可以尝试在
/usr/local/
下查找。 -
运行卸载脚本
sudo /usr/local/cuda-X.Y/bin/cuda-uninstaller
将
X.Y
替换为您安装的CUDA版本号。如果找不到卸载程序,可以重新运行run文件并选择卸载选项:
sudo sh cuda_X.Y.Z_linux.run
然后按照提示选择卸载。
二、准备工作
-
更新系统包
在开始之前,建议先更新系统的包列表和已安装的软件包:
sudo apt-get update sudo apt-get upgrade -y
-
禁用Nouveau驱动
Nouveau
是开源的NVIDIA驱动,如果启用,可能会与官方驱动产生冲突。禁用Nouveau
的方法如下:sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf" sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist.conf" sudo update-initramfs -u sudo reboot
重启后,Nouvaue驱动将被禁用。
三、安装NVIDIA显卡驱动
有多种方法可以在Ubuntu上安装NVIDIA驱动,以下介绍两种常用方法:通过Ubuntu官方仓库安装和使用NVIDIA官方驱动PPA。
方法1:通过Ubuntu官方仓库 - 自动安装
-
添加图形驱动PPA(可选)
为确保获取最新的驱动版本,可以添加官方的
graphics-drivers
PPA:sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
-
自动安装推荐的驱动
sudo ubuntu-drivers autoinstall
-
重启系统
安装完成后,重启系统以使驱动生效:
sudo reboot
方法2:通过Ubuntu官方仓库 - 手动安装
-
添加NVIDIA驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
-
查询合适的驱动
-
查询所有的驱动
查找可用的驱动版本:apt search nvidia-driver
-
nvidia-detector - 查看推荐的驱动版本
运行命令后,nvidia-detector 将分析系统中的 NVIDIA 硬件并输出推荐的驱动nvidia-detector nvidia-driver-530
-
查看推荐的驱动版本
运行以下命令以查看推荐的驱动版本:ubuntu-drivers devices
输出示例:
== /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 == modalias : pci:v000010DEd00001E87sv000017AAsd00003919bc03sc00i00 vendor : NVIDIA Corporation model : GP107M [GeForce GTX 1050 Ti Mobile] driver : nvidia-driver-470 - third-party free driver : nvidia-driver-465 - third-party free driver : xserver-xorg-video-nouveau - distro free builtin
注意:ubuntu-drivers devices和nvidia-detector推荐的驱动版本可能会不一致,需要实验验证。
综合上面所有可用及推荐驱动选择合适的驱动版本。
-
-
安装驱动
假设选择安装
nvidia-driver-525
:sudo apt-get install nvidia-driver-525
-
重启系统
sudo reboot
四、验证驱动安装
-
检查NVIDIA驱动是否正确安装
使用
nvidia-smi
命令查看驱动信息:nvidia-smi
预期输出应显示您的GPU信息和驱动版本,例如:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.60.11 Driver Version: 525.60.11 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce GTX 1050 Ti Off | 00000000:01:00.0 On | N/A | | 30% 50C P8 N/A / 75W | 500MiB / 4096MiB | 5% Default | +-------------------------------+----------------------+----------------------+
-
检查驱动模块
确认驱动模块已加载:
lsmod | grep nvidia
应该能看到
nvidia
相关的模块信息。
五、解决常见问题
-
黑屏或无法启动图形界面
如果在安装驱动后遇到黑屏或无法启动图形界面的问题,可以尝试以下步骤:
-
切换到TTY终端(使用
Ctrl + Alt + F3
)。 -
停止显示管理器,例如对于
gdm
:sudo systemctl stop gdm
或者对于
lightdm
:sudo systemctl stop lightdm
-
重新安装驱动或检查驱动配置。
-
重启系统:
sudo reboot
-
-
驱动版本与CUDA不兼容
确保安装的NVIDIA驱动版本与您计划安装的CUDA版本兼容。可以参考NVIDIA官方CUDA兼容性表。
六、安装CUDA
在成功安装并验证NVIDIA显卡驱动后,您可以按照之前提供的步骤继续安装CUDA。如果需要进一步指导,请参考以下简要步骤:
-
下载CUDA安装包
前往NVIDIA CUDA下载页面,下载最新Ubuntu版本的CUDA安装包。
前往UDA Toolkit Archive,下载Ubuntu版本的以前的CUDA安装包。 -
添加CUDA仓库并安装CUDA
示例(以Ubuntu 20.04和CUDA 12.2为例):
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-ubuntu2004-12-2-local_12.2.0-470.57.02-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-12-2-local_12.2.0-470.57.02-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2004-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda
-
配置环境变量
echo 'export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc
-
验证CUDA安装
nvcc --version nvidia-smi
编译并运行CUDA样例以确保安装成功:
cuda-install-samples-12.2.sh ~ cd ~/NVIDIA_CUDA-12.2_Samples/1_Utilities/deviceQuery make ./deviceQuery
输出应显示
Result = PASS
。
七、参考资料
- NVIDIA 官方驱动下载
- NVIDIA CUDA 官方安装指南
- Ubuntu 官方文档
- NVIDIA 驱动兼容性文档