window11和Ubuntu20.04安装Nvidia驱动和CUDA的正确方法

零、双系统安装

Win11 Ubuntu20.04 双系统安装
解决ubuntu+win11双系统时间不一致问题
Ubuntu:系统分区

一、安装Nvidia驱动

参考:Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制、多版本CUDA切换

1、准备工作

1)查看显卡型号

lspci |grep -i nvidia

2)禁用nouveau并重启(安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突)

lsmod |grep nouveau

如果有输出说明nouveau正在加载,需要创建文件

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

加上如下内容

blacklist nouveau
options nouveau modset=0

然后更新,并重启机器

sudo dracut --force
reboot

查看是否禁用成功,输入

lsmod |grep nouveau

若没有输出,则表示禁用成功。
修改 /etc/default/grub 文件,防止安装驱动后黑屏问题。sudo vim /etc/default/grub 弹出了Grub文件,将 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"替换为 GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash acpi_osi=linux”

3)关闭内核自动更新和卸载旧内核

否则,内核自动更新后,可能会开不出机。这时需要通过开机选择“Advanced options for Ubuntu”切回原来内核再登录。
如果需要安装ROS,那么要在这步之前完成,参考:Ubuntu 20 安装 ROS 过程中遇到 unmet dependencies 解决方法

关闭内核自动更新,参考:ubuntu20.04关闭内核自动更新、禁止/取消系统自动更新的方法
【推荐】方案一:
安全禁止ubuntu更新

sudo gedit /etc/apt/apt.conf.d/10periodic
sudo gedit /etc/apt/apt.conf.d/20auto-upgrades

后面部分全部改成 “0”

reboot

卸载旧内核,参考:Ubuntu16.04卸载旧内核并禁止内核更新,解决nvidia显卡驱动失效找不到问题

sudo apt-get purge linux-image-4.15.0-142 linux-headers-4.15.0-142 linux-modules-4.15.0-142
//弹出窗口,我也没仔细看选的,否

//更新 grub
sudo update-grub

2、安装驱动

1)在Nvidia官网下载相应驱动
官网下载地址:Official Drivers | NVIDIA
下载成功后上传至Linux服务起,如/opt目录下,进入下载的驱动所在目录执行安装

cd /opt
chmod +x NVIDIA-Linux-x86_64-470.94.run
sh NVIDIA-Linux-x86_64-470.94.run -no-nouveau-check

如果添加选项-no-opengl-files,会导致rviz无法使用显卡加速。参考:ubuntu+nvidia显卡驱动安装+(顺带)解决rviz卡顿/CPU使用率过高问题/compiz占用CPU过高问题
检查是否安装成功:

nvidia-smi

2)nvidia-smi无效的解决策略:添加链接描述


二、安装CUDA

参考:Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制、多版本CUDA切换

1、安装CUDA

1)下载cuda,官网地址:CUDA Toolkit Archive | NVIDIA Developer
2)安装CUDA
首先给cuda可执行权限:

chmod +x cuda_11.4.4_470.82.01_linux.run

运行cuda文件:

sh cuda_11.4.4_470.82.01_linux.run

取消显卡驱动安装:
在这里插入图片描述
3)验证cuda是否安装成功
将cuda的bin文件和lib写入~/.bashrc中:

export PATH="/usr/local/cuda-11.4/bin:$PATH" 
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH" 

终端输入:

nvcc -V

三、卸载CUDA和Nvidia驱动

1、卸载CUDA

sudo /usr/local/cuda-11.4/bin/cuda-uninstaller

选择要卸载的模块,然后点击回车

2、卸载Nvidia驱动

sudo /usr/bin/nvidia-uninstall

卸载过程一路都是yes

其他cuda参考:【GPU】no kernel image is available for execution on the device


四、Ubuntu配置Intel&Nvidia双显卡

参考:Deepin配置Intel&Nvidia雙顯卡
首先執行以下命令,查看顯卡的BusID:

lspci | egrep -i 'VGA|3D'

輸出如下:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

其中00:0.20是Intel集顯,對應的BusID為0:2:0。01:00.0是Nvidia獨顯,對應的BusID為1:0:0。
在這裏我提供三種配置方案:A.啟用雙顯卡,集顯為默認顯卡(均衡)、B.啟用獨顯,屏蔽集顯(高性能)、C.啟用集顯,屏蔽獨顯(低功耗)。
以下是配置文件,需要填寫到/etc/X11/xorg.conf,注意修改自己的BusID:
方案A:啟用雙顯卡,集顯為默認顯卡

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "intel"
    Screen 1 "nvidia"
EndSection

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "0:2:0"
    Option "AccelMethod" "SNA"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "1:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

方案B:啟用獨顯,屏蔽集顯:

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "Card0"
    Driver "nvidia"
    BusID  "PCI:1:0:0"
EndSection

方案C:啟用集顯,屏蔽獨顯:

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "Card0"
    Driver "intel"
    BusID "PCI:0:2:0"
EndSection
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值