ubuntu安装nvidia显卡驱动

2023-05-16

系统环境

ubuntu 16.04

一. 设定ubuntu的root密码

1. ubuntu默认root密码

在安装ubuntu操作系统时,需要配置用于登录系统的用户名和密码,却没有提示配置root密码。

ubuntu默认的root用户没有固定密码,root密码随机产生,动态改变,即每次开机都有一个新的root密码。

2. 修改root密码

使用提前配置的用户(例如dancen)登录ubuntu系统后,在终端输入以下命令:

sudo passwd

然后输入登录用户dancen的密码,继而输入并确认root用户的密码,即可设定root用户密码,此过程中不需要知晓root用户的默认密码:

sudo passwd
[sudo] password for dancen:
New password:
Retype new password:
passwd: password updated successfully

二. 安装nvidia显卡驱动

1. 禁用开源显卡驱动程序nouveau

Linux可能已经默认安装了第三方开源的驱动程序nouveau,在安装nvidia官方显卡驱动之前,首先需要禁用nouveau。

a. 查看系统是否启用了nouveau显卡驱动

lsmod | grep nouveau

如果有内容输出,说明nouveau已被启用,需要执行后续步骤以将其禁用,否则可以直接安装nvidia驱动。

b. 修改blacklist.conf配置

vi /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容:

blacklist nouveau
options nouveau modeset=0

c. 更新系统

update-initramfs -u

d. 重启系统

reboot

e. 验证nouveau是否已禁用

lsmod | grep nouveau

如果没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

2. 卸载已安装的nvidia驱动

如果系统已经安装过特定版本的nvidia驱动,需要先执行卸载操作。

a. 关闭Linux的桌面显示管理器

systemctl stop lightdm

b. 卸载nvidia驱动

方式一. 通过runfile卸载

./NVIDIA-Linux-x86_64-460.91.03.run --uninstall

方式二. 通过反安装脚本卸载

如果/usr/bin目录存在nvidia反安装脚本nvidia-uninstall,直接执行之:

cd /usr/bin
./nvidia-uninstall

方式三. 通过apt卸载

apt-get --purge remove nvidia*

c. 重启系统

reboot

3. 安装nvidia显卡驱动

a. 下载nvidia驱动程序

在下载驱动之前,需要确认GPU型号,以及将要使用的CUDA Toolkit版本等。

查看GPU型号:

lspci | grep -i nvidia

00:09.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)

然后在nvidia驱动下载地址:

https://www.nvidia.com/Download/index.aspx?lang=en-us

根据显卡型号、操作系统版本、CUDA Toolkit版本等信息,找到合适的驱动程序,然后下载之。

驱动程序是一个以.run为后缀的可执行程序,如:

NVIDIA-Linux-x86_64-460.91.03.run

如果要安装特定版本的驱动程序,可自行修改下载链接中的版本号相关内容,例如,假设要修改为下载460.106.00的版本:

https://us.download.nvidia.cn/tesla/460.106.00/NVIDIA-Linux-x86_64-460.106.00.run

b. 驱动安装程序授权

chmod +x NVIDIA-Linux-x86_64-460.91.03.run

c. 执行安装程序

./NVIDIA-Linux-x86_64-460.91.03.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

安装过程中可能遇到一些问题。

问题一.

The distribution-provided pre-install script failed! Are you sure you want to continue?

选择 continue 继续。

问题二.

Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 

选择 No 继续。

问题三.

ERROR:Unable to find the kernel source tree for the currently running kernel.

Please make sure you have installed the kernel source files for your kernel and that they are properly configured on Red Hat Linux system, for exzmple ,be sure you have the 'kernel-source' or 'kernel-devel' RPM installed .If you know the correct kernel source files are installed ,you may specify the kernel source path with the '--kernel-source-path' command line option.

即无法为当前运行的内核找到内核源代码树。

解决办法:

1). 查看内核版本

uname -r

显示4.15

2). 下载内核包

打开Ubuntu官方内核库:

https://kernel.ubuntu.com/~kernel-ppa/mainline/

找到Linux Kernel 4.15

根据系统架构下载需要的内核包:

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500_4.15.0-041500.201802011154_all.deb

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.deb

wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-generic_4.15.0-041500.201802011154_amd64.deb

3). 安装 Linux Kernel

对上一步骤下载的deb包执行安装操作:

dpkg -i *.deb

4). 更新系统引导

使用如下命令更新 Grub 引导加载程序:

update-grub

如果使用 BURG 引导加载程序,请运行:

update-burg

5). 重新启动系统,然后重启执行驱动安装程序

reboot

问题四.

The CC version check failed.

即内核编译所使用的gcc版本和当前系统中的gcc版本不一致,如果系统中的gcc版本不是太古老的话,可以尝试忽略该错误,看安装程序能够执行成功,如果安装程序无法安装成功,则需要安装匹配的gcc,本文不再赘述。

d. 挂载Nvidia驱动

modprobe nvidia

e. 检查驱动是否安装成功

nvidia-smi

三. 安装CUDA Toolkit

1. 卸载已安装CUDA Toolkit

方式一.

直接到CUDA Toolkit安装目录执行反安装程序即可。CUDA Toolkit安装目录一般为/usr/local/cuda-x.x,反安装程序位于即目录下的bin/cuda-uninstaller。

cd /usr/local/cuda-x.x/bin
./cuda-uninstaller

方式二.

apt-get autoremove nvidia-cuda-toolkit

2. 安装CUDA Toolkit

a. 下载CUDA Toolkit

首先从nvidia cuda官方下载站

https://developer.nvidia.com/cuda-toolkit-archive

根据cuda版本号、系统环境,找到并下载需要的CUDA Toolkit版本,这里官方直接提供了runfile、deb包的下载命令,我们选择runfile的方式来安装cuda。

wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run

b. cuda安装程序授权

chmod +x cuda_11.2.2_460.32.03_linux.run

c. 执行安装程序

./cuda_11.2.2_460.32.03_linux.run

这里需要指出的是,安装程序包括多个模块:

Driver

CDUA Toolkit

CUDA Samples

CUDA Demo Suite

CUDA Documentation

由于我们已经安装了nvidia驱动,因此在安装cuda时需要取消勾选Driver模块,否则安装程序将无法执行成功。

d. 配置环境变量

编辑特定用户目录下的.bashrc文件,如,/root/.bashrc,或者令环境变量对所有用户生效,直接修改/etc/profile:

vi /root/.bashrc

vi /etc/profile

在文件末尾添加以下内容:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2

令设置生效:

source ~/.bashrc

source /etc/profile

e. 验证安装

nvcc --version

如果命令执行成功,说明CUDA Toolkit安装成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu安装nvidia显卡驱动 的相关文章

随机推荐

  • 入栈,出栈顺序

    入栈 xff0c 出栈顺序 在刚开始做到栈的出栈入栈时还是蛮有疑惑的 xff0c 搞不清楚出入栈的排序重新整理之后终于明白 xff0c 具体如下所示 xff1a 例如有一个为 A B C D E
  • MFC键盘交互

    MFC键盘交互 首先设置键盘按键消息响应 span class token keyword void span span class token class name CFeatureReuseView span span class to
  • 手撕字符串函数

    实现 s t r c p y strcpy s t r c p y 函数 span class token key span
  • 牛客编程输入输出

    牛客笔试编程输入输出 首先需要把该包含的头文件包含进来 结构类型类似于 span class token macro property span class token directive hash span span class toke
  • VS检查内存泄露的方法

    Visual Studio检查内存泄露方法 CrtDumpMemoryLeaks函数Visual Leak Detector xff08 VLD xff09 插件VS2015内存快照 CrtDumpMemoryLeaks函数 系统自带的 C
  • 计算机图形学中的渲染管线

    渲染管线 具体流程图顶点着色器光栅化片段着色器测试混合阶段 具体流程图 步骤 xff1a 1 首先输入了1 xff0c 2 xff0c 3 xff0c 4四个顶点的数据 2 Vertex Processing 经过变换 投影等操作 xff0
  • 计算机图形学中的几何

    计算机图形学中的几何 几何表示方法1 显示表示1 1 显示几何 Explicit Representations 2 隐式表示 几何表示方法 1 显示表示 理解为能够通过参数映射的方法来定义几何形状 xff0c 可以很轻易的采样到所有的点
  • 计算机图形学中的曲线曲面

    计算机图形学中的曲线曲面 1 曲线1 1 Bezier curves xff08 贝塞尔曲线 xff09 1 2 B spline B样条 1 3 NURBS 非均匀有理B样条 xff09 2 曲面2 1 Bezier Surfaces x
  • Docker停电事件未解之谜

    事件简介 xff1a 周末出现了一次偶然的停电事故 xff0c 供电恢复后 xff0c 按照惯例重启服务器 xff0c 并重新运行各项服务 然而 xff0c 一台Ubuntu 16 04服务器的Docker容器无法启动了 1 启动容器报错
  • 布尔运算(Boolean Operators)

    布尔操作 xff08 Boolean Operators xff09 1 构造实体几何 CSG 2 布尔操作类型3 布尔操作部分代码 1 构造实体几何 CSG 构造实体几何允许建模者通过使用布尔运算符组合更简单的对象来创建复杂的曲面或对象
  • 八叉树的相关内容

    根据点云数据构建八叉树 span class token macro property span class token directive hash span span class token directive keyword prag
  • VS+git+CMake实现代码运行

    git 43 CMake实现代码运行 1 获取 github 仓库中的代码2 CMake 基本步骤3 CMake 遇到问题1 没提供xxx cmake 在路径中 4 ALL BUILD ZERO CHECK INSTALL 1 获取 git
  • CPU和GPU及CUDA入门基础概念

    CPU与GPU 1 CPU与GPU的关系 smile 1 1 CPU与GPU各自特点 2 一些零碎的CUDA入门知识 blush 2 1 函数修饰符2 2 线程 线程快 线程格2 3 什么是核函数 smiley 2 4 常用的GPU内存函数
  • 原始三维格子点内部实现小范围格子重建

    在原始N M的数组A中 xff08 该数组可以理解为规则格子 xff0c 各维度的增量均为常数 xff09 内部构建一个比其小的数组B xff0c 要求数组B与A格子点重合 xff0c 如图所示 xff1a 对于三维空间的数组来讲 xff0
  • csdn Markdown样式

    CSDN markdown样式 1 文字样式2 段落格式3 图片样式4 公式样式5 分享一些表情 1 文字样式 x1f449 字体样式 span class token operator lt span font span class to
  • Java入门基础知识

    JAVA基础知识记录 1 基础内容2 相关知识链接 写在最前面 xff1a 之前自学Java用的是 Eclipse 1 基础内容 常量 final相当于c 43 43 中的const 数组 int number 61 new int 100
  • 最全计算机图形学面试资料整理

    计算机图形学面试资料整理 1 什么是渲染管线2 有那几个坐标系 xff08 空间 xff09 xff1f 如何在空间之间进行转换 xff1f 3 三个重要的空间变换矩阵4 视口变换是什么 xff1f 5 顶点缓冲对象 xff08 Verte
  • OpenGL状态机

    OpenGL状态机 1 什么是状态机 xff1f 2 OpenGL状态机 1 什么是状态机 xff1f 先来解释什么是 状态 State 现实事物是有不同状态的 xff0c 例如一个自动门 xff0c 就有 open 和 closed 两种
  • OpenGL窗口实现

    OpenGL窗口实现 1 渲染循环包括的代码 xff1a 2 完整代码及解释3 实现的结果 1 渲染循环包括的代码 xff1a span class token comment 渲染循环 span span class token keyw
  • ubuntu安装nvidia显卡驱动

    系统环境 ubuntu 16 04 一 设定ubuntu的root密码 1 ubuntu默认root密码 在安装ubuntu操作系统时 xff0c 需要配置用于登录系统的用户名和密码 xff0c 却没有提示配置root密码 ubuntu默认