[Share Experiences] deepin20.2.3 ,kernel 5.10.50 安装nvidia-legacy-340XX并添加dkms
Tofloor
poster avatar
zeyark
deepin
2021-08-20 05:51
Author

deepin20.2.3 ,linux 内核 kernel 5.10.50 ,Linux deepin 5.10.50-amd64-desktop 安装 nvidia-legacy-340XX成功

deepin20.2.3源里的nvidia-legacy-340xx-driver 是(340.107-4),不支持 kernel 5.10.X了,Nvidia官网的 驱动run文件也安装不上,从debian sid 源里下载了个支持kernel5.10.X的 nvidia-graphics-drivers-legacy-340xx (340.108.10)源码编译安装,解决各种依赖。过程如下:

#保持deepin源不变,先更下软件缓存,

sudo apt update

#添加debian sid 仓库的deb-src,禁掉sid deb 

sudo vi /etc/apt/sources.list

###debian sid 

#deb https://mirrors.ustc.edu.cn/debian/ sid main contrib non-free

deb-src https://mirrors.ustc.edu.cn/debian/ sid main contrib non-free

#保存后在更新次

sudo apt update

#源码安装的一些必须东西,是从deepin源里下载的

sudo apt install dpkg-dev

#创建个英文目录(我这里起的名叫nvidia_340)保存下载的源码及编译

mkdir nvidia_340

#进入这个目录

cd nvidia_340

#查看下是否有nvidia-graphics-drivers-legacy-340xx的源码及各种信息

sudo apt showsrc nvidia-graphics-drivers-legacy-340xx

# 下载源码及依赖,源码下载后在你创建的那个目录里我这里在nvidia_340里

apt source nvidia-graphics-drivers-legacy-340xx

sudo apt build-dep nvidia-graphics-drivers-legacy-340xx

#下载完成会看到如下文件:

nvidia-graphics-drivers-legacy-340xx-340.108  #根据你系统架构自动解压xxx.orig-xx.tar.gz

nvidia-graphics-drivers-legacy-340xx_340.108-10.debian.tar.xz

nvidia-graphics-drivers-legacy-340xx_340.108-10.dsc

nvidia-graphics-drivers-legacy-340xx_340.108.orig-amd64.tar.gz

nvidia-graphics-drivers-legacy-340xx_340.108.orig-armhf.tar.gz

nvidia-graphics-drivers-legacy-340xx_340.108.orig-i386.tar.gz

nvidia-graphics-drivers-legacy-340xx_340.108.orig.tar.gz

#查看编译需要的一些依赖和信息和将要生成的deb包

more nvidia-graphics-drivers-legacy-340xx_340.108-10.dsc

#安装依赖,如果已经存在,这步可跳过

sudo apt install debhelper dpkg-dev xz-utils dkms libxext6 quilt po-debconf

#解压nvidia-graphics-drivers-legacy-340xx_340.108-10.debian.tar.xz生成 debian目录

tar xvf nvidia-graphics-drivers-legacy-340xx_340.108-10.debian.tar.xz 

#把解压得到的debian目录 复制到 nvidia-graphics-drivers-legacy-340xx-340.108/目录下

cp -a debian/  nvidia-graphics-drivers-legacy-340xx-340.108/

#进入 nvidia-graphics-drivers-legacy-340xx-340.108/目录下,编译安装打包。

cd nvidia-graphics-drivers-legacy-340xx-340.108/

sudo dpkg-buildpackage

#完成后,退回上级目录,会看到编译打包好的显卡驱动包deb格式

cd ..

ls

#在这个生成deb包的目录下安装,一定要加-f ,从deepin源里解决依赖

sudo apt install -f ./*.deb 

安装完后,reboot ,搞定

其他的N卡驱动搞不定的也可参考去debian sid 找 对应的390,460,470等的N卡闭源驱动源码,参照340的方法编译安装,要先看小版本号支持到哪个内核

 

 

 

 

Reply Favorite View the author
All Replies
能吃善睡
deepin
2021-08-20 06:30
#1

多谢!

Reply View the author
wanzcong
deepin
2021-08-21 20:52
#2

我一路都成功了,但是重启完还是老样子,要改什么吗?

 

Reply View the author
wanzcong
deepin
2021-08-22 01:42
#3

按你的办法没有成功,东西都安装上了,但是分辨率还是1024x768,然后我继续折腾,最后把n卡的官网驱动装上了,竟然桌面重新正常了。大致步骤如下。

1.  下载官网驱动。

官网驱动下载下来是一个 .run 文件,在网站上找的时候,记得选择操作系统类型为 linux 64, 我这里下载下来文件名是  NVIDIA-Linux-x86_64-470.63.01.run

2. 官网驱动执行

chmod +x NVIDIA-Linux-x86_64-470.63.01.run  增加执行权限

或者每次都是 sudo sh NVIDIA-Linux-x86_64-470.63.01.run

刚下载 下来就去执行这个文件,它会告诉你X server 开着,无法执行

网上有几种办法可以关闭xserver, 比如禁用 lightdm 服务启动,不过其实不用这么复杂,改了这些,做完还得改回来。便捷做法是利用开机启动的grub,  在显示启动菜单时,先按上下键停止倒计时,然后返回选中启动项,按 e, 进入编辑模式,再按下键,一直走到以 initrd 开头的前面那行,在末尾输入 3(运行级别3就是多用户模式)

3 在进入没有桌面的纯命令行模式之前,把这2个事情做了。

  1). sudo apt autoremove nvidia*   把debain 默认驱动给卸载了。注意这卸载之后,开机很可能不能再看见桌面了,因为什么驱动都没了。

  2). 禁用 nouveau 内核模块。 我的操作步骤如下
        sudo vi  /etc/modprobe.d/blacklist-nouveau.conf 
     文件内容是  blacklist nouveau

  3).  修改grub 启动配置。这一步是因为,deepin默认启动 之后,字符模式也会加载 nouveau  模块。操作步骤  如下
     sudo vim /etc/default/grub

     找到这行     
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
     修改为
     GRUB_CMDLINE_LINUX_DEFAULT="nomodeset quiet splash"

      保存之后, sudo update-grub 

就是增加 nomodeset 参数,然后重新生成 grub

然后重启。在grub 菜单中按照第一步所说办法,临时进入 run level 3

登录之后, cd 到 .run 文件目录,然后 执行run文件就行。记住不要一直下一步,看清楚 它在问啥,在叫你选啥。

切记第二步里面,卸载掉所有 nvidia驱动之后,重启已经不能进入桌面了, 因为没驱动,我的黑屏。

 

 

 

 

 

Reply View the author
能吃善睡
deepin
2021-08-23 21:27
#4
wanzcong

按你的办法没有成功,东西都安装上了,但是分辨率还是1024x768,然后我继续折腾,最后把n卡的官网驱动装上了,竟然桌面重新正常了。大致步骤如下。

1.  下载官网驱动。

官网驱动下载下来是一个 .run 文件,在网站上找的时候,记得选择操作系统类型为 linux 64, 我这里下载下来文件名是  NVIDIA-Linux-x86_64-470.63.01.run

2. 官网驱动执行

chmod +x NVIDIA-Linux-x86_64-470.63.01.run  增加执行权限

或者每次都是 sudo sh NVIDIA-Linux-x86_64-470.63.01.run

刚下载 下来就去执行这个文件,它会告诉你X server 开着,无法执行

网上有几种办法可以关闭xserver, 比如禁用 lightdm 服务启动,不过其实不用这么复杂,改了这些,做完还得改回来。便捷做法是利用开机启动的grub,  在显示启动菜单时,先按上下键停止倒计时,然后返回选中启动项,按 e, 进入编辑模式,再按下键,一直走到以 initrd 开头的前面那行,在末尾输入 3(运行级别3就是多用户模式)

3 在进入没有桌面的纯命令行模式之前,把这2个事情做了。

  1). sudo apt autoremove nvidia*   把debain 默认驱动给卸载了。注意这卸载之后,开机很可能不能再看见桌面了,因为什么驱动都没了。

  2). 禁用 nouveau 内核模块。 我的操作步骤如下
        sudo vi  /etc/modprobe.d/blacklist-nouveau.conf 
     文件内容是  blacklist nouveau

  3).  修改grub 启动配置。这一步是因为,deepin默认启动 之后,字符模式也会加载 nouveau  模块。操作步骤  如下
     sudo vim /etc/default/grub

     找到这行     
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
     修改为
     GRUB_CMDLINE_LINUX_DEFAULT="nomodeset quiet splash"

      保存之后, sudo update-grub 

就是增加 nomodeset 参数,然后重新生成 grub

然后重启。在grub 菜单中按照第一步所说办法,临时进入 run level 3

登录之后, cd 到 .run 文件目录,然后 执行run文件就行。记住不要一直下一步,看清楚 它在问啥,在叫你选啥。

切记第二步里面,卸载掉所有 nvidia驱动之后,重启已经不能进入桌面了, 因为没驱动,我的黑屏。

 

 

 

 

 

请问你安装好驱动以后有没有检测 nvidia-smi 和 nvidia-settings ?

Reply View the author
深圳市耀影科技有限公司
deepin
2021-08-25 01:04
#5

@ Ziggy

@ 忘记、过去

 

贴主的帐号 名  @ zeyark       zeyark  被系统误判啦,发不了帖子啦

 

Reply View the author
wanzcong
deepin
2021-08-28 21:59
#6
能吃善睡

请问你安装好驱动以后有没有检测 nvidia-smi 和 nvidia-settings ?

没有这个步骤

Reply View the author
wanzcong
deepin
2021-11-30 05:58
#7
能吃善睡

请问你安装好驱动以后有没有检测 nvidia-smi 和 nvidia-settings ?

nvidia-smi 输出
Mon Nov 29 21:57:12 2021   
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| 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 ...  Off  | 00000000:01:00.0  On |                  N/A |
| 33%   37C    P0     8W /  38W |   1228MiB /  1999MiB |     28%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                         
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1953      G   /usr/lib/xorg/Xorg                423MiB |
|    0   N/A  N/A      2358      G   kwin_x11                          116MiB |
|    0   N/A  N/A      2771      G   /usr/bin/uengine                  426MiB |
|    0   N/A  N/A      9339      G   deepin-home-appstore-client         0MiB |
|    0   N/A  N/A     10173      G   ...in/deepin-deepinid-client        1MiB |
|    0   N/A  N/A     10870      G   ...AAAAAAAAA= --shared-files       80MiB |
|    0   N/A  N/A     12645      G   ...AAAAAAAAA= --shared-files      132MiB |
+-----------------------------------------------------------------------------+

Reply View the author