Ubuntu 18.04 不使用 Nvidia 卡

Ubuntu 18.04 不使用 Nvidia 卡

我知道互联网上存在许多关于同一主题的问题和答案,但我仍然无法解决我的笔记本电脑上的问题。

以下是我的笔记本电脑的配置。

  • 配备集成显卡的第八代 i5
  • 英伟达MX250
  • Ubuntu 18.04(与 Windows 10 双启动)

我已经安装了推荐的 nvidia 卡驱动程序 -nvidia-驱动程序-435

以下是一些观察结果:

  • Intel 显卡显示在关于设置
  • NVIDIA X 服务器设置未列出 nvidia GPU,但 PRIME 配置文件可用,并且已选择 nvidia,如图所示这里
  • lshw -c display显示 nvidia 卡和英特尔卡。
*-display
    description: 3D controller
    product: NVIDIA Corporation
    vendor: NVIDIA Corporation
    physical id: 0
    bus info: pci@0000:02:00.0
    version: a1
    width: 64 bits
    clock: 33MHz
    capabilities: bus_master cap_list
    configuration: driver=nvidia latency=0
    resources: irq:150 memory:93000000-93ffffff memory:80000000-8fffffff memory:90000000-91ffffff ioport:3000(size=128)
  • nvidia-smi给出以下输出,似乎 nvidia GPU 没有被使用。
Wed Sep 11 17:57:57 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce MX250       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   40C    P8    N/A /  N/A |      0MiB /  2002MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+ 
  • nvidia-detector输出none

有趣的是,如果我nvidia-smi终端电话会议,可以看到一些使用 GPU 的进程

Wed Sep 11 17:54:42 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce MX250       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   38C    P8    N/A /  N/A |     12MiB /  2002MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2564      G   /usr/lib/xorg/Xorg                             7MiB |
|    0      2716      G   /usr/bin/gnome-shell                           4MiB |
+-----------------------------------------------------------------------------+

更多观察:

  • 如果我选择Xorg 上的 Gnome或者Ubuntu从登录屏幕开始,我得到一个卡住的屏幕,什么都无法工作(当这种情况发生时,我通常会切换到 TTY 会话并重新启动)。但是侏儒Wayland 上的 Ubuntu登录后没有问题。

任何帮助都非常感谢。
干杯!


编辑:我的 GPU 已经工作了。我已在下面发布了答案。

答案1

最后,我的笔记本电脑上的 Ubuntu 正在使用 NVIDIA 卡!!我重新安装了 Ubuntu。上次安装 Ubuntu 时,我没有将笔记本电脑连接到互联网。因此操作系统可能没有正确识别设备和相应的驱动程序(但我不确定这一点)。这次我在安装前连接到 WiFi。安装后,列表中只列出了一个专有驱动程序额外的驾驶员选项卡软件和更新,而上次有两个。我选择了该驱动程序并在安装后重新启动。

重启后我有以下观察:

  • NVIDIA 显卡显示在关于设置
  • NVIDIA GPU 在 NVIDIA X Server 设置中列出。

有趣的是,当我从登录屏幕切换到 GNOME 会话时,系统并未使用 NVIDIA GPU。因此,我在 Xorg 上切换到 GNOME,系统开始使用 NVIDIA GPU。

nvidia-smi现在给出以下输出:

Mon Sep 23 18:10:15 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce MX250       Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   45C    P0    N/A /  N/A |    305MiB /  2002MiB |     12%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      3120      G   /usr/lib/xorg/Xorg                           160MiB |
|    0      3262      G   /usr/bin/gnome-shell                         120MiB |
|    0      5052      G   /usr/bin/vlc                                  22MiB |
+-----------------------------------------------------------------------------+

谢谢!

答案2

我不知道您的具体情况,有些小东西似乎确实在 GPU 上运行。但是,对于这些问题,我发现安装 Bumblebee 和 Primus 可以提供帮助:

sudo apt-get install bumblebee primus

然后,您应该能够使用optirun program_name或使用您的 GPU 运行程序primusrun program_name

这个线程对于我让 optirun 工作的问题非常有帮助:https://bugs.launchpad.net/ubuntu/+source/bumblebee/+bug/1758243特别是答案31:

  1. 需要做的第一个更改是编辑 /etc/bumblebee/bumblebee.conf,如下所示:

LibraryPath=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia-418/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules/input XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

这是预料之中的,因为每个 NVIDIA 驱动程序的路径都不同。

  1. 需要的第二个更改是导出此内容:

导出__GLVND_DISALLOW_PATCHING=1

通过这两项改变,一切正常。

在您的情况下,418 应该被 435 替换。

相关内容