如何手动安装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
2 / 7
To page
avatar
deepinuser17
deepin
2019-11-29 22:14
#21
https://bbs.deepin.org/post/185547
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Fri Nov 29 13:23:27 2019
in ...
  1. An incomplete installation of libglvnd was found. All of the essential libglvnd libraries are present, but one or more optional components are missing. Do you want to install a full copy of libglvnd?
Copy the Code

第三个提示,要选择第二个选项,安装所有libglvnd文件
Reply View the author
avatar
deepinuser17
deepin
2019-11-29 22:17
#22
https://bbs.deepin.org/post/185547
没有安装成功,但是在启动器里NVIDIA X Server Settings的图标

安装成功完成,但是第三个提示没有选择安装所有libglvnd文件(第二个选项).
Reply View the author
avatar
zhaoxuekui
deepin
2019-11-29 22:29
#23
https://bbs.deepin.org/post/185547
安装成功完成,但是第三个提示没有选择安装所有libglvnd文件(第二个选项). ...

又重新安装了2次,确定是选了第二项:Install and overwrite existing files 最后都是同样的错误提示
Reply View the author
avatar
deepinuser17
deepin
2019-11-29 22:36
#24
https://bbs.deepin.org/post/185547
又重新安装了2次,确定是选了第二项:Install and overwrite existing files 最后都是同样的错误提示 ...

你确定你的机器上有N卡吗?到BIOS里查看一下.

命令"lspci | grep VGA"会报告机器上目前使用的显卡.如果N卡没有被报告,要么机器没有N卡,要么就是机器的BIOS没有把N卡设为第一,主要的显卡.如果是后者,你的机器是把英特尔的显卡设为第一,初始的显卡.
Reply View the author
avatar
nero28
deepin
2019-11-29 22:43
#25
我的是MX150独显,有哪位老兄已安装ok的?
Reply View the author
avatar
deepinuser17
deepin
2019-11-29 22:54
#26
https://bbs.deepin.org/post/185547
我的是MX150独显,有哪位老兄已安装ok的?

运行以下命令,如果结果里有NVIDIA MX150, 你就可以安装最新的N卡驱动.
  1. lspci | grep VGA | grep NVIDIA
Copy the Code
Reply View the author
avatar
zhaoxuekui
deepin
2019-11-29 23:09
#27
https://bbs.deepin.org/post/185547
你确定你的机器上有N卡吗?到BIOS里查看一下.

命令"lspci | grep VGA"会报告机器上目前使用的显卡.如 ...

进了bios看了,没有切换显示的选项,网上搜索了下,应该是我这款笔记本不支持双显卡切换
Reply View the author
avatar
deepinuser17
deepin
2019-11-30 09:00
#28
本帖最后由 deepinuser17 于 2019-11-30 01:11 编辑
https://bbs.deepin.org/post/185547
进了bios看了,没有切换显示的选项,网上搜索了下,应该是我这款笔记本不支持双显卡切换 ...

点击打开NVIDIA X Server Settings,在PRIME Profiles里能否看到双显卡,能否选择N卡.

https://www.linuxbabe.com/deskto ... raphics-card-ubuntu

Reply View the author
avatar
jay763190097
deepin
2019-11-30 19:54
#29
为什么我还是报这个错误

unable to load the 'nvidia-drm' module
Reply View the author
avatar
panqb
deepin
2019-12-02 04:16
#30
deepin 桌面15.11   显卡英伟达 geforece310


01:00.0 VGA compatible controller: NVIDIA Corporation GT218M [GeForce 310M] (rev a2)

安装闭源显卡驱动一直失败
Reply View the author
avatar
deepinuser17
deepin
2019-12-02 18:13
#31
本帖最后由 deepinuser17 于 2019-12-2 10:19 编辑
https://bbs.deepin.org/post/185547
deepin 桌面15.11   显卡英伟达 geforece310

你的机器时间不对.编译时的机器时间比安装时间滞后大概三个小时.

编译时间:
  1. Sun Nov 24 18:13:04 CST 2019
Copy the Code


内核安装时间(大概是:Sun Nov 24 21:13:04 CST 2019)
  1. make[1]: Entering directory '/usr/src/linux-headers-4.15.0-30deepin-generic'
  2. make[1]: Warning: File 'scripts/Makefile.ubsan' has modification time 11234 s in the future
  3. ...
  4. scripts/Makefile.build:45: ../Makefile: 没有那个文件或目录
  5. make[3]: Warning: File 'scripts/Makefile.lib' has modification time 11207 s in the future
  6. make[3]: *** No rule to make target '../Makefile'。 停止。
Copy the Code


当机器时间不准确时,编译会出现错误(编译操作只会找到在当前,以及过去的时间里创建的文件.任何有未来时间的文件,操作系统无法正常读取,更新)

你可以手动调整机器时间,例如手工矫正机器时间到,Sun Nov 24 18:13:04 CST 2019
  1. sudo date 112421132019
Copy the Code


你可以运行命令,date, 然后和其它机器,钟表,手机,对比时间,然后更新机器时间.

长远的方法是安装时钟自动校时软件,例如chrony, ntp. Chrony比较适合于机器网路不稳定的情况.

安装chrony的方法很简单,运行命令:
  1. sudo apt install chrony
Copy the Code


如果需要调整对时的上游服务器,查看/修改 /etc/chrony/chrony.conf. 然后重启chrony:
  1. sudo systemctl restart chrony
Copy the Code

一般情况,默认的设置可以满足需要.查看机器时间是否与上游服务器同步,运行命令: chronyc tracking. 例如:
  1. :~$ chronyc tracking
  2. Reference ID    : CE37BF8E (206-55-191-142.static.fttp.usinternet.com)
  3. Stratum         : 2
  4. Ref time (UTC)  : Mon Dec 02 02:16:54 2019
  5. System time     : 0.000380939 seconds slow of NTP time
  6. Last offset     : -0.000043036 seconds
  7. RMS offset      : 0.000382868 seconds
  8. Frequency       : 7.014 ppm fast
  9. Residual freq   : -0.028 ppm
  10. Skew            : 1.789 ppm
  11. Root delay      : 0.051298 seconds
  12. Root dispersion : 0.001404 seconds
  13. Update interval : 65.3 seconds
  14. Leap status     : Normal
Copy the Code



等机器的时间校准以后,再尝试安装N卡驱动.

Reply View the author
avatar
gengle
deepin
2019-12-03 21:40
#32
https://bbs.deepin.org/post/185547
ubuntu-drivers devices #查看你该装什么样的驱动
sudo apt-get install nvidia-* #安装*对应的型号
sudo a ...

请问第一个命令在deepin下是什么?
Reply View the author
avatar
nero28
deepin
2019-12-03 22:49
#33
https://bbs.deepin.org/post/185547
点击打开NVIDIA X Server Settings,在PRIME Profiles里能否看到双显卡,能否选择N卡.

https://www.linu ...

其实我也想多安装一个ubuntu来着,但是从ubuntu16到19版本都无法安装成功,安装到最后一步grub直接挂掉.什么不能安装到/target.网上一查没有一个方法有效的,也是醉了.唯独安装deepin后,我可以用easyEFI软件添加deepin启动项,从而正常使用,其它Linux发行版安装都是最后挂掉.....
Reply View the author
avatar
longzhou
deepin
2019-12-13 10:00
#34
我的显卡是MX 150 这样子是成功了么? 但是为啥NVIDIA X Server Settings 这个应用打不开?
  1. :~$ lspci | egrep "VGA|3D"
  2. 00:02.0 VGA compatible controller: Intel Corporation Device 3ea0
  3. 01:00.0 3D controller: NVIDIA Corporation Device 1d10 (rev a1)
Copy the Code
  1. :~$ nvidia-smi
  2. Fri Dec 13 01:57:20 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   47C    P0    N/A /  N/A |      0MiB /  2002MiB |      1%      Default |
  11. +-------------------------------+----------------------+----------------------+
  12.                                                                               
  13. +-----------------------------------------------------------------------------+
  14. | Processes:                                                       GPU Memory |
  15. |  GPU       PID   Type   Process name                             Usage      |
  16. |=============================================================================|
  17. |  No running processes found                                                 |
  18. +-----------------------------------------------------------------------------+


Copy the Code




Reply View the author
avatar
deepinuser17
deepin
2019-12-13 13:04
#35
https://bbs.deepin.org/post/185547
我的显卡是MX 150 这样子是成功了么? 但是为啥NVIDIA X Server Settings 这个应用打不开?

闭源N卡驱动安装成功了。

你可以试试:
  1. sudo nvidia-settings
Copy the Code


你的机器有两个显卡。查看当前机器正使用哪个显卡,运行以下命令:
  1. sudo grep PCI /var/log/Xorg.0.log
Copy the Code


我怀疑机器默认显卡是英特尔的显卡。
Reply View the author
avatar
deepinuser17
deepin
2019-12-13 13:14
#36
见这个链接,https://bbs.deepin.org/post/186154

N卡驱动安装成功并被使用的节屏。
Reply View the author
avatar
171******21
deepin
2019-12-13 17:23
#37
提示“unable to load the 'nvidia-drm' module”的同学建议看一下自己下载的驱动是否适合自己显卡芯片,在nVidia官网上可以查看。下载适合自己显卡的驱动版本。我就是因为弄错版本(明明是老显卡,非要下载最新的驱动,哎!),一直这个提示。
Reply View the author
avatar
longzhou
deepin
2019-12-13 19:20
#38
https://bbs.deepin.org/post/185547
闭源N卡驱动安装成功了。

你可以试试:

貌似没有切换到独显。sudo nvidia-settings报错
  1. long@long-PC:~$ sudo nvidia-settings

  2. ** (nvidia-settings:11178): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

  3. ERROR: Unable to load info from any available system
Copy the Code

Reply View the author
avatar
deepinuser17
deepin
2019-12-13 20:00
#39
https://bbs.deepin.org/post/185547
貌似没有切换到独显。sudo nvidia-settings报错

运行
  1. sudo grep PCI /var/log/Xorg.0.log
Copy the Code
证实是用英特尔显卡
Reply View the author
avatar
longzhou
deepin
2019-12-14 00:04
#40
https://bbs.deepin.org/post/185547
运行证实是用英特尔显卡
完全搞不懂了……
  1. long@long-PC:~$ sudo grep PCI /var/log/Xorg.0.log
  2. grep: /var/log/Xorg.0.log: 没有那个文件或目录
Copy the Code
Reply View the author
2 / 7
To page