如何手动安装NVIDIA驱动软件
Tofloor
poster avatar
deepinuser17
deepin
2019-11-21 22:04
Author
本帖最后由 deepinuser17 于 2020-4-17 04:29 编辑

如果深度自带的图形驱动管理器(大黄蜂)不能转换到闭源的NVIDIA驱动软件.可以按以下方法自己手动安装.

注: 这个方法已经在深度Deepin 15.11, Deepin 20 Beta, UOS 20上测试成功安装。请先完全阅读所有步骤再开始安装。

注: 这个方法只适用于可以查到N卡的机器.

: 闭源的NVIDIA驱动软件版本有几个系列,440, 390, 340, 304. 根据显卡的型号和发行日期,选择最新的系列版本.如果某系列不支持现有显卡,安装时会有提示.从最新的版本开始试.对于几年前的机器,可以试390, 再老的机器,试340. 下载时,同时下载440, 390, 340系列的版本,这样可以节省时间.

注: 闭源的NVIDIA驱动也会有bug.有时一个版本一切正常,下一个新版本可能会出现黑屏,无法启动X window的问题.遇到这种情况,退回到以前的版本就可以解决问题了.如果有更新的版本,也可以尝试更新的版本.

:有些机器有双显卡,Intel内置显卡和NVIDIA独立显卡。在这种机器上,系统初始设置的显卡是内置Intel显卡。需要手动转换换到NVIDIA独显。具体步骤见链接:
https://bbs.deepin.org/post/178542##=1
https://bbs.deepin.org/post/191810#



快捷方法
1. 查看机器是否有NVIDIA显卡.如果命令的结果里没有NVIDIA字样,那么机器目前没有N卡可使用,无需继续尝试剩余步骤.
  1. lspci | egrep "VGA|3D"
Copy the Code
样本结果:
  1. 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M Edition] (rev a1)
Copy the Code

2. 从www.nvidia.com下载NVIDIA驱动软件包,一般浏览器会存在~/Downloads文件夹里.然后把NVIDIA驱动软件包拷贝到/var/tmp文件夹里
3. 下载附件,install_nvidia.sh.tar.gz
4.  打开深度终端,运行以下命令:

  1. cd ~/Downloads
  2. tar zxf install_nvidia.sh.tar.gz
  3. chmod +x install_nvidia.sh
  4. sudo ./install_nvidia.sh
Copy the Code

例如,驱动文件包NVIDIA-Linux-x86_64-440.36.run的版本号是440.36, 样本命令:
  1. cd ~/Downloads
  2. tar zxf install_nvidia.sh.tar.gz
  3. chmod +x install_nvidia.sh
  4. sudo ./install_nvidia.sh 440.36
Copy the Code
注: 这个命令会执行详细方法里步骤安装N卡驱动.在这个过程中,机器暂时会进入文本状态,机器会重启两次.



详细方法
1. 查看机器是否有NVIDIA显卡.如果命令的结果里没有NVIDIA字样,那么机器目前没有N卡可使用,无需继续尝试剩余步骤. 
  1. lspci | egrep "VGA|3D"
Copy the Code

样本结果:
  1. 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M Edition] (rev a1)
Copy the Code

2. 从www.nvidia.com下载NVIDIA驱动软件包,一般浏览器会存在~/Downloads文件夹里.

3. 安装编译所需要的软件
  1. sudo apt -y install linux-headers-amd64 linux-headers-deepin-amd64 gcc make dkms
Copy the Code

4. 停用初始开源的驱动器nouveau
    检查机器是否使用nouveau驱动器:
  1. $ lsmod | grep nouveau
  2. nouveau              1720320  9
  3. mxm_wmi                16384  1 nouveau
  4. wmi                    24576  2 mxm_wmi,nouveau
  5. i2c_algo_bit           16384  2 nvidiafb,nouveau
  6. ttm                   102400  1 nouveau
  7. drm_kms_helper        172032  1 nouveau
  8. drm                   397312  12 nouveau,ttm,drm_kms_helper
  9. video                  45056  2 apple_gmux,nouveau
Copy the Code


    先创建一个文件,/etc/modprobe.d/blacklist-nouveau.conf, 包含以下两行:
  1. blacklist nouveau
  2. options nouveau modeset=0
Copy the Code
   更新kernel initramfs文件:
  1. sudo cp /boot/initrd.img-$(uname -r){,.with_nouveau}
  2. sudo update-initramfs -u
Copy the Code
   设定机器启动时进入文本模式, 然后重启机器.
  1. sudo systemctl set-default multi-user
  2. sudo shutdown -r now
Copy the Code

5. 安装闭源的NVIDIA驱动
    机器启动以后,在文本模式下登录.确认nouveau驱动没有被加载:

  1. $ lsmod | grep nouveau
Copy the Code

     然后运行下列命令,安装NVIDIA驱动 (NVIDIA驱动版本要视显卡而定, 注意使用合适的版本)
  1. cd ~/Downloads
  2. sudo sh ./NVIDIA-Linux-x86_64-440.31.run
Copy the Code
   在提示时,选: 1. 使用DKMS方法 2. 选32位版本支持 3. 选安装libglvnd文件.最后一项选no.见下面的截图.

6. 设置机器启动时进入图形模式,并重启机器.
  1. sudo systemctl set-default graphical
  2. sudo shutdown -r now
Copy the Code
重启后,检核NVIDIA驱动.打开深度终端,运行nvidia-smi命令.样本结果:
  1. $ nvidia-smi
  2. Thu Nov 21 13:29:45 2019      
  3. +-----------------------------------------------------------------------------+
  4. | NVIDIA-SMI 440.31       Driver Version: 440.31       CUDA Version: 10.2     |
  5. |-------------------------------+----------------------+----------------------+
  6. | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
  7. | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
  8. |===============================+======================+======================|
  9. |   0  GeForce GT 750M     Off  | 00000000:01:00.0 N/A |                  N/A |
  10. | N/A   69C    P0    N/A /  N/A |    191MiB /  1999MiB |     N/A      Default |
  11. +-------------------------------+----------------------+----------------------+
  12.                                                                               
  13. +-----------------------------------------------------------------------------+
  14. | Processes:                                                       GPU Memory |
  15. |  GPU       PID   Type   Process name                             Usage      |
  16. |=============================================================================|
  17. |    0                    Not Supported                                       |
  18. +-----------------------------------------------------------------------------+
Copy the Code

Reply Favorite View the author
All Replies
3 / 7
To page
avatar
longzhou
deepin
2019-12-14 00:06
#41
求大神帮忙看看到底什么情况。
  1. long@long-PC:~$ lspci
  2. 00:00.0 Host bridge: Intel Corporation Device 3e34 (rev 0b)
  3. 00:02.0 VGA compatible controller: Intel Corporation Device 3ea0
  4. 00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 0b)
  5. 00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model
  6. 00:12.0 Signal processing controller: Intel Corporation Device 9df9 (rev 30)
  7. 00:14.0 USB controller: Intel Corporation Device 9ded (rev 30)
  8. 00:14.2 RAM memory: Intel Corporation Device 9def (rev 30)
  9. 00:14.3 Network controller: Intel Corporation Device 9df0 (rev 30)
  10. 00:15.0 Serial bus controller [0c80]: Intel Corporation Device 9de8 (rev 30)
  11. 00:15.1 Serial bus controller [0c80]: Intel Corporation Device 9de9 (rev 30)
  12. 00:16.0 Communication controller: Intel Corporation Device 9de0 (rev 30)
  13. 00:1c.0 PCI bridge: Intel Corporation Device 9dbc (rev f0)
  14. 00:1d.0 PCI bridge: Intel Corporation Device 9db0 (rev f0)
  15. 00:1e.0 Communication controller: Intel Corporation Device 9da8 (rev 30)
  16. 00:1e.3 Serial bus controller [0c80]: Intel Corporation Device 9dab (rev 30)
  17. 00:1f.0 ISA bridge: Intel Corporation Device 9d84 (rev 30)
  18. 00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 30)
  19. 00:1f.4 SMBus: Intel Corporation Device 9da3 (rev 30)
  20. 00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 9da4 (rev 30)
  21. 01:00.0 3D controller: NVIDIA Corporation Device 1d10 (rev a1)
  22. 02:00.0 Non-Volatile memory controller: Sandisk Corp Device 5002
Copy the Code
Reply View the author
avatar
longzhou
deepin
2019-12-14 01:31
#42
已经切换成功了,用的是这个帖子里面的方法(好的配置文件需要新建)。谢谢各位大大……
https://bbs.deepin.org/post/178542##=1NVIDIA X Server Settings也可以正常打开了。
截图如下:


  1. long@long-PC:~$ nvidia-smi
  2. Fri Dec 13 17:05:45 2019      
  3. +-----------------------------------------------------------------------------+
  4. | NVIDIA-SMI 440.44       Driver Version: 440.44       CUDA Version: 10.2     |
  5. |-------------------------------+----------------------+----------------------+
  6. | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
  7. | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
  8. |===============================+======================+======================|
  9. |   0  GeForce MX150       Off  | 00000000:01:00.0 Off |                  N/A |
  10. | N/A   54C    P0    N/A /  N/A |    230MiB /  2002MiB |      3%      Default |
  11. +-------------------------------+----------------------+----------------------+
  12.                                                                               
  13. +-----------------------------------------------------------------------------+
  14. | Processes:                                                       GPU Memory |
  15. |  GPU       PID   Type   Process name                             Usage      |
  16. |=============================================================================|
  17. |    0      3920      G   /usr/lib/xorg/Xorg                           151MiB |
  18. |    0      7565      G   kwin_x11                                      19MiB |
  19. |    0      8089      G   ...quest-channel-token=2982751489414219231    57MiB |
  20. +-----------------------------------------------------------------------------+
Copy the Code


Reply View the author
Comments
zhoulang_rr
2020-02-24 23:58
请问下,你是按照博主的方式按了驱动,然后再去这个网站切换的么。我发现我虽然安装成功了,但是好像没有切换。 我是从NVIDIA官网下载的驱动
avatar
lohcoh
deepin
2019-12-19 04:15
#43
$ install_nvidia.sh.tar.gz
bash: install_nvidia.sh.tar.gz: 未找到命令

请问为什么会在这一步出现未找到命令呢?

Reply View the author
avatar
deepinuser17
deepin
2019-12-19 07:14
#44
https://bbs.deepin.org/post/185547
$ install_nvidia.sh.tar.gz
bash: install_nvidia.sh.tar.gz: 未找到命令

请仔细看说明。按照每个步骤,一步一步操作。不要跳过任何步骤。

操作步骤已经非常明确,具体了。
Reply View the author
avatar
lohcoh
deepin
2019-12-19 08:32
#45
https://bbs.deepin.org/post/185547
请仔细看说明。按照每个步骤,一步一步操作。不要跳过任何步骤。

操作步骤已经非常明确,具体了。  ...


install_nvidia.sh.tar.gz,这个是在终端里执行吗?
Reply View the author
avatar
lohcoh
deepin
2019-12-19 08:49
#46
https://bbs.deepin.org/post/185547
请仔细看说明。按照每个步骤,一步一步操作。不要跳过任何步骤。

操作步骤已经非常明确,具体了。  ...

先检测是否存在n卡,已经确认了
Reply View the author
avatar
lohcoh
deepin
2019-12-19 08:51
#47
https://bbs.deepin.org/post/185547
请仔细看说明。按照每个步骤,一步一步操作。不要跳过任何步骤。

操作步骤已经非常明确,具体了。  ...

然后,是把文件放到指定目录,已经确认了。后面就是上图的问题
Reply View the author
avatar
deepinuser17
deepin
2019-12-19 12:52
#48
不知道你在哪里看到的要直接运行那个压缩文件? 仔细看看下面的截图。每一行都是一个要运行的命令。 你可以直接复制到深度终端,按回车键执行。
Reply View the author
avatar
lohcoh
deepin
2019-12-20 03:53
#49
https://bbs.deepin.org/post/185547
不知道你在哪里看到的要直接运行那个压缩文件? 仔细看看下面的截图。每一行都是一个要运行的命令。 你可以 ...

结案了。你说“下载附件,install_nvidia.sh.tar.gz”,我把这个逗号理解成下一步,所以去执行了“install_nvidia.sh.tar.gz”。
要是按照我的语言习惯,我会在这里用破折号。
还是多谢大佬
Reply View the author
avatar
186******39
deepin
2020-01-06 22:34
#50
好用,牛逼不解释,感谢感谢!!!
Reply View the author
avatar
hwangzhic
deepin
2020-01-09 02:30
#51
我怎么执行不了这个代码啊
lspci | egrep "VGA|3D"
一直卡着不动
Reply View the author
avatar
hwangzhic
deepin
2020-01-09 02:31
#52
https://bbs.deepin.org/post/185547
我怎么执行不了这个代码啊
lspci | egrep "VGA|3D"
一直卡着不动

电脑是笔记本,cpu i5 6300hq
显卡是 960m
系统是15.11
Reply View the author
avatar
deepinuser17
deepin
2020-01-09 07:26
#53
https://bbs.deepin.org/post/185547
我怎么执行不了这个代码啊
lspci | egrep "VGA|3D"
一直卡着不动

你是在深度终端下运行的这个命令吗?

发个截图看看。
Reply View the author
avatar
hwangzhic
deepin
2020-01-09 17:49
#54
file:///home/hwangzc/Documents/%E6%B7%B1%E5%BA%A6%E6%88%AA%E5%9B%BE_%E9%80%89%E6%8B%A9%E5%8C%BA%E5%9F%9F_20200109094757.png
Reply View the author
avatar
deepinuser17
deepin
2020-01-09 19:07
#55

运行一下这些命令:

which lspci
/usr/bin/lspci
sudo /usr/bin/lspci
Reply View the author
avatar
hwangzhic
deepin
2020-01-09 20:47
#56
https://bbs.deepin.org/post/185547
运行一下这些命令:

which lspci

还是卡主,不动了
Reply View the author
avatar
deepinuser17
deepin
2020-01-09 21:14
#57
https://bbs.deepin.org/post/185547
还是卡主,不动了

这个问题我还没有遇到过。可能是开源驱动nouveau造成的问题。

试一下:先创建一个文件,/etc/modprobe.d/blacklist-nouveau.conf, 包含以下两行:
  1. blacklist nouveau
  2. options nouveau modeset=0
Copy the Code


然后重启机器。再试试lspci.

如果还不行,查看一下日志文件/var/log/Xorg.0.log.
  1. grep PCI /var/log/Xorg.0.log
Copy the Code
Reply View the author
avatar
wallestar
deepin
2020-01-14 05:29
#58
我看了下你的脚本,应该是只要执行脚本就可以自动安装好驱动了。于是我执行完脚本,让它重启完发现驱动并没有安装上。看了下你的说明,我想前面的环境配置你的脚本都帮我做好了,就是差驱动没有安装。所以登到字符界面,手动安装驱动,选择dkms后安装失败。只好不选择dkms手动安装成功!
有了私有驱动,T410显示终于好多了,尤其是WizNote原来启动后会core dump的bug,终于不再出现了。
非常感谢你的无私分享!
Reply View the author
avatar
snjywg
deepin
2020-02-03 17:16
#59
安装成功!非常感谢
Reply View the author
avatar
zhoulang_rr
deepin
2020-02-24 23:23
#60
Edited by zhoulang_rr at 2020-2-24 15:35

UOS一次成功,之前试过很多次都失败了,搞得很心累,主要是想做深度学习,惠普暗影精灵5,显卡1650 4G。
注意严格按照步骤来。 不知道怎么插入图片。

Reply View the author
3 / 7
To page