Ubuntu 22.04 安装 Nvidia 显卡驱动教程

Linux 系统如果安装了独立显卡,则必须要额外安装显卡驱动才能正常使用,与最常见的 Windows 系统不同,Linux 系统安装显卡驱动往往更为繁琐,且容易遇到各种疑难杂症。

本文以开发人员最常用的 Linux 发行版 Ubuntu 系统为例,实机演示安装 Nvidia 显卡驱动的全套流程,以便降低后来者的试错成本。

本文使用 Ubuntu 22.04.3 原版安装镜像,安装 Nvidia 官网的 run 格式驱动程序,其他版本的系统也可以参考相关操作,基本大同小异。

准备工作

1、下载 Ubuntu 系统安装镜像:https://cn.ubuntu.com/download/desktop

2、下载 Nvidia 显卡驱动安装文件:https://www.nvidia.cn/Download/Find.aspx?lang=cn

安装 Ubuntu 系统

通过原版安装镜像启动安装向导,按照提示操作即可。

1、需要注意的是,因为安装镜像中集成的是开源版显卡驱动,无法与所有型号的显卡完美兼容,所以可能会出现包括黑屏、花屏等故障现象,最好选择有“safe graphics”字样的启动项,这样就能确保正常显示画面。

2、选择“最小安装”即可,建议此时不要勾选“安装 Ubuntu 时下载更新”,因为提前安装各类更新会导致系统环境发生不可预知的变化,可能会导致随后的驱动程序安装失败,所以应在所需的驱动程序安装完毕后,再进行在线更新操作。

高级启动 Ubuntu

因为系统还未安装配套的独立显卡驱动程序,通常无法正常显示画面,即系统启动后画面会黑屏或花屏。(能否正常显示也和显卡型号有关)

所以建议通过高级启动选项来手动启动系统,添加一个启动参数,以便暂时不加载系统自带的开源显卡驱动,而使用最基础的显示模式。

开机时按住 Shift 键,直到出现 GRUB 启动菜单,然后打开 Advanced options for Ubuntu 菜单,选中系统启动项目,按 E 键进入编辑模式,在 $vt_handoff 前面添加 nomodeset ,然后按 F10 启动系统即可。(通常在倒数第三行)

安装驱动前的准备

1、将 run 格式的显卡驱动程序存放至系统中,本例中放置于用户主目录。(此时也可以顺便给 run 文件添加可执行权限、改名等,以方便后续操作。)

2、安装显卡驱动所需的依赖包。(可以在线安装,也可离线安装。)

#方案一
sudo apt update
sudo apt install gcc make pkg-config libglvnd-dev

#备注
#Ubuntu 16 版本之前一直使用 apt-get 命令,随后的版本使用 apt 或 apt-get 命令都可用。
#方案二
#备注:如果安装最新版本的 nvidia 显卡驱动,使用方案一可能会遭遇失败,会提示编译器版本不匹配等错误,此时请使用方案二。
sudo apt update
sudo apt install gcc-12 make pkg-config libglvnd-dev
sudo ln -s /usr/bin/gcc-12 /usr/bin/gcc
sudo ln -s /usr/bin/gcc /usr/bin/cc

3、禁用系统自带的 nouveau 开源显卡驱动,并更新 initramfs 文件。

sudo sh -c 'echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf'
#更新 initramfs 文件
sudo update-initramfs -u

#重启系统
reboot

安装 Nvidia 显卡驱动

1、进入文本命令行模式。(如果没有启动图形界面,或者是没有图形界面的服务器系统,则无需此步骤。)

sudo telinit 3

2、登录系统账号。

3、停止桌面显示服务。

注意:非 root 用户仍然要加 sudo 前缀,随后要输入密码验证。

sudo service gdm3 stop

4、进入存放 run 格式显卡驱动的目录,并执行。

会提示是否要安装 32 位兼容库,如果不需要则选 No

提示是否需要自动更新 X 配置文件,自行按需选择。

最后会提示安装完成。

显卡驱动程序安装完毕后,可以启动桌面显示服务开始使用,也可以直接重启系统。

sudo service gdm3 start

验证显卡驱动

通过输入 Nvidia 的控制命令来验证显卡驱动是否已正常生效。

sudo nvidia-smi

只要能看到正确的显卡信息,则表示一切正常。

sudo nvidia-settings

卸载显卡驱动

当不需要显卡驱动,或者要更换版本时,则需要先通过卸载命令删除掉已安装的显卡驱动。

sudo nvidia-uninstall