[Share Experiences] Deepin V23安装最新英伟达驱动(版本535.54)
Tofloor
default avatar
川顺页
deepin
2023-06-17 14:21
Author

折腾背景

  • 自带的闭源驱动有时候动画有撕裂感
  • 加上安装pytorch的时候,提示找不到英伟达驱动,感觉可能deepin内置的驱动可能阉割了开发功能,所以决定安装英伟达官方提供的驱动。

教程

  1. 去官方论坛发布页面,最上面的置顶帖,帖子内容如下:
Current releases Current production branch release: 535.54.03 (x86_64 13) Current new feature branch release: 530.41.03 (x86_64 157) Current beta release: 535.43.02 (x86_64 36)
  • 可以看到目前最新版是535.43.02,不过这个是beta版,也就是测试版,不是正式版,所以你去官网驱动下载页面是搜不到的,要去论坛。
  1. 点进去535的链接,进入详细页面
Release highlights since 535.43.02: Fixed a bug that caused modesets to fail in some Wayland configurations. Fixed a bug that caused head-mounted displays (HMDs) to display black after a modeset. Fixed a bug that prevented SLI Mosaic controls from being displayed in the nvidia-settings control panel when using GSP Firmware. Fixed a bug that could cause image corruption when unbinding Vulkan sparse textures. [README 34 | Linux x86_64 27 | Solaris 3 | FreeBSD x86_64 1 | Kernel driver source 7]
  • 点击Linux x86_64这个下载就行了。
  1. 更新前先把已经安装好的闭源驱动给卸载了。
sudo apt purge nvidia-driver nvidia-kernel-dkms nvidia-* sudo apt autoremove
  1. 观察一下英伟达的驱动,目前还是在运行中。
lsmod | grep nvidia # 输出 nvidia_drm 65536 4 drm_kms_helper 204800 1 nvidia_drm nvidia_modeset 1245184 3 nvidia_drm nvidia 56487936 92 nvidia_modeset drm 647168 8 drm_kms_helper,nvidia,nvidia_drm video 61440 2 asus_wmi,nvidia_modeset
  • 所以重启一下,才能完成生效。
sudo reboot now
  1. 观察开源驱动是否起来了,因为你卸载闭源驱动后,linux内核会自动启动开源驱动来代替,如果没输出就是没用开源驱动,否则说明开源驱动已经安装起来了
$ lsmod | grep nouveau nouveau 2121728 0
  • 但是我待会还要装闭源驱动,不需要这个开源驱动(开源驱动性能也不咋地)
  • 所以我需要屏蔽这个开源驱动,输入下面的命令完成这个事情。
sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf > /dev/null <<EOT # disable nvidia open driver: nouveau blacklist nouveau options nouveau modeset=0 EOT
  • 更新一下内核信息,让内核下次启动的时候自动屏蔽开源英伟达驱动。
sudo update-initramfs -u
  • 再次重启一下(可能重启会比较慢,因为他读不到驱动了,最慢可能需要2-3分钟才能关机)。
sudo reboot now
  • 最后再验证一下开源英伟达驱动是否正确屏蔽了(没输出任何信息就说明成功屏蔽)
lsmod | grep nouveau
  1. 安装英伟达论坛下载的最新驱动(需要提前安装好gcc/g++, dkms环境)。
  • 安装环境
sudo apt install gcc g++ dkms
  • 初步安装
chmod +x NVIDIA-Linux-x86_64-535.54.03.run sudo ./NVIDIA-Linux-x86_64-535.54.03.run
  • 此时提示报错:
ERROR: You appear to be running an X server; please exit X before installing. For further details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com.
  • 报错原因大概是已经运行了一个xorg环境了,没办法安装驱动。
  • 解决办法1
  • 按下Ctrl + Alt + F3(F2/F3/F4/F5都可以)进入tty(一个终端环境),然后输入你的账号名/密码进行登陆。
  • 然后运行下面的命令关闭桌面相关服务(可以用tab案填充输入,防止输错了)。
sudo systemctl stop lightdm.service
  • 再进入对应目录安装英伟达驱动,一路回车即可。
sudo ./NVIDIA-Linux-x86_64-535.54.03.run
  • 解决办法2(推荐)
  • 查看帮助选项,可以看出有一个高级设置-A
sudo ./NVIDIA-Linux-x86_64-535.54.03.run --help # 输出 ..... -A, --advanced-options Print usage information for the common commandline options as well as the advanced options, and then exit.
  • 查看高级设置,可以看到这选项可以跳过x server检查
sudo ./NVIDIA-Linux-x86_64-535.54.03.run -A # 输出 ...... --no-x-check Do not abort the installation if nvidia-installer detects that an X server is running. Only under very rare circumstances should this option be used. ......
  • 所以,利用--no-x-check来安装驱动,一路回车即可。
sudo ./NVIDIA-Linux-x86_64-535.54.03.run --no-x-check
  1. 验证驱动是否ok
  • 用自带的nvidia-smi查看英伟达驱动信息。
nvidia-smi # 输出结果如下: Sat Jun 17 13:55:14 2023 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.54.03 Driver Version: 535.54.03 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | 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 NVIDIA GeForce RTX 40xx Off | 00000000:01:00.0 On | N/A | | 0% 34C P5 22W / xxx W | 793MiB / xxxx MiB | 25% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 3524 G /usr/lib/xorg/Xorg 351MiB | | 0 N/A N/A 5677 G /usr/bin/deepin-kwin_x11 97MiB | | 0 N/A N/A 5830 G /opt/freedownloadmanager/fdm 37MiB | | 0 N/A N/A 6227 G /proc/self/exe 148MiB | | 0 N/A N/A 6916 G /usr/bin/deepin-deepinid-client 7MiB | | 0 N/A N/A 7075 G dmanHelper 7MiB | | 0 N/A N/A 7288 G ...ures=SpareRendererForSitePerProcess 108MiB | +---------------------------------------------------------------------------------------+
  • 观察pytorch是否正确识别英伟达驱动(我已经安装cuda 11.8,以及pytorch_cu118),这个是可选项。
python3 -c "import torch; print('GPU is OK?', torch.cuda.is_available())"
  • 输出结果为:GPU is OK? True,说明没有问题。

收尾工作(强迫症专属)

安装驱动过程中出现dkms警告。
  • 查看dkms驱动加载状态,可以看到中间的英伟达的dkms是built而不是installed,这个表示已经构建了但是没有安装
dkms status # 输出结果 deepin-anything/0.0, 6.1.11-amd64-desktop-hwe, x86_64: installed nvidia/535.54.03, 6.1.11-amd64-desktop-hwe, x86_64: built r8125/9.011.01, 6.1.11-amd64-desktop-hwe, x86_64:installed
  • 观察驱动安装日志
cat /var/log/nvidia-installer.log
  • 截取的一部分输出,大概意思是内核里面已经有构建好了,不需要装dkms了
ERROR: Failed to run `/usr/sbin/dkms install --no-depmod -m nvidia -v 535.54.03 -k 6.1.11-amd64-desktop-hwe`: nvidia.ko: Running module version sanity check. Module version 535.54.03 for nvidia.ko exactly matches what is already found in kernel 6.1.11-amd64-desktop-hwe. DKMS will not replace this module. You may override by specifying --force.
  • 不过我比较强迫症,决定还是强制安装一下,按他的说法就是加一个--force就行了。
sudo /usr/sbin/dkms install --no-depmod -m nvidia -v 535.54.03 -k 6.1.11-amd64-desktop-hwe --force
  • 最后再看一下dkms状态,ok,完美。
dkms status # 输出结果 deepin-anything/0.0, 6.1.11-amd64-desktop-hwe, x86_64: installed nvidia/535.54.03, 6.1.11-amd64-desktop-hwe, x86_64: installed (original_module exists) r8125/9.011.01, 6.1.11-amd64-desktop-hwe, x86_64: installed
Reply Favorite View the author
All Replies
1 / 2
To page
阿尼樱奈奈
deepin
2023-06-17 14:32
#1

like

Reply View the author
nero28
deepin
2023-06-17 14:49
#2

看著很爽,很方便操作的樣子

Reply View the author
青稚
deepin
2023-06-17 14:57
#3

可以直接sudo service lightdm stop

安装好驱动后,不需要重启,只需要sudo service lightdm start

如果可以用包管理安装nvidia显卡驱动,我还是喜欢包管理装。

Reply View the author
川顺页
deepin
2023-06-17 15:18
#4
青稚

可以直接sudo service lightdm stop

安装好驱动后,不需要重启,只需要sudo service lightdm start

如果可以用包管理安装nvidia显卡驱动,我还是喜欢包管理装。

确实,包管理升级方便。
😄 我也喜欢apt直接装,如果没有bug的话。

Reply View the author
DeepinSeek
deepin
2023-06-17 15:36
#5
青稚

可以直接sudo service lightdm stop

安装好驱动后,不需要重启,只需要sudo service lightdm start

如果可以用包管理安装nvidia显卡驱动,我还是喜欢包管理装。

同意,通过包管理,来管理包,包管理的好,好管理包

Reply View the author
DeepinSeek
deepin
2023-06-17 15:48
#6

很赞的教程,讲的很详细,收藏备用了

Reply View the author
方老四
deepin
2023-06-17 16:54
#7

linux系统选择英伟达显卡就是错误的搭配,因为官方就没有提供开源驱动,后面够你折腾的。

Reply View the author
川顺页
deepin
2023-06-17 17:58
#8
方老四

linux系统选择英伟达显卡就是错误的搭配,因为官方就没有提供开源驱动,后面够你折腾的。

confused 不用N卡?那AI炼丹都和你无缘了。

Reply View the author
jiutian123
deepin
2023-06-18 20:21
#9
川顺页

confused 不用N卡?那AI炼丹都和你无缘了。

怎么炼丹?国内的文字生成图片 炼出来的看着怪怪的的

Reply View the author
gshun
deepin
2023-06-20 22:15
#10
It has been deleted!
想用deepin玩游戏
deepin
2023-06-27 19:58
#11

这条 sudo ./NVIDIA-Linux-x86_64-535.54.03.run --no-x-check输出:找不到命令,拖动安装包进去就看路径,我是这样解决的:sudo '/data/home/Game/NVIDIA-Linux-x86_64-535.54.03.run/NVIDIA-Linux-x86_64-535.54.03.run' --no-x-check

Game是账户名

Reply View the author
川顺页
deepin
2023-06-28 09:31
#12
想用deepin玩游戏

这条 sudo ./NVIDIA-Linux-x86_64-535.54.03.run --no-x-check输出:找不到命令,拖动安装包进去就看路径,我是这样解决的:sudo '/data/home/Game/NVIDIA-Linux-x86_64-535.54.03.run/NVIDIA-Linux-x86_64-535.54.03.run' --no-x-check

Game是账户名

😂 我是相对路径,你用绝对路径。没啥太大区别。

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-06-30 14:16
#13

我卸载完英伟达驱动 然后重启,现在连系统都登不进去了。。。。。

Reply View the author
川顺页
deepin
2023-06-30 15:52
#14
把一切操作变成GUI

我卸载完英伟达驱动 然后重启,现在连系统都登不进去了。。。。。

doubt

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-07-01 15:38
#15
青稚

可以直接sudo service lightdm stop

安装好驱动后,不需要重启,只需要sudo service lightdm start

如果可以用包管理安装nvidia显卡驱动,我还是喜欢包管理装。

还有包管理的安装方法吗?

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-07-01 15:44
#16
川顺页

doubt

你怎么没说慎用

sudo apt autoremove

sob

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-07-01 15:50
#17
方老四

linux系统选择英伟达显卡就是错误的搭配,因为官方就没有提供开源驱动,后面够你折腾的。

官方闭源的驱动为什么不好?

Reply View the author
青稚
deepin
2023-07-01 16:33
#18
把一切操作变成GUI

还有包管理的安装方法吗?

deepin不推荐包管理,源里面的n卡驱动旧。

不适配新内核。

Reply View the author
186******30
deepin
2023-09-06 10:10
#19

搞定了~~~温度终于下去了 改grub,装boostchanger,改性能模式啥的都没用,还是这个给力 tail

Reply View the author
fozei
deepin
2024-04-24 03:27
#20

我按照博主说明,成功安装了闭源驱动(中间过程略有不同),向神帖致敬!

很想开个帖子,说明一下我的情况,意兴阑珊tail

Reply View the author
1 / 2
To page
New Thread

Popular Events

More
国际排名
WHLUG