将集成英特尔 (igpu) 与 Nvidia (gpu) 隔离

将集成英特尔 (igpu) 与 Nvidia (gpu) 隔离

在很大程度上,这个问题已经被问过了,但答案中的构思有点过时,或者说实话不够明确。因此,冒着“已经问过”的惩罚风险,我的目标是:

我正在尝试隔离集成的英特尔视频以作为主要功能提供所有功能,并隔离未连接显示器的 Nvidia GPU 以用于 Cuda 工作。

以下是主要参考/先前的询问:

如何为 xserver 配置 igpu 以及为 cuda 配置 nvidia gpu?

不幸的是,经过几天的努力xorg.conf,我还是没有成功。我也不愿意尝试,bumblebee因为在更好地理解问题之前,让问题变得更加复杂似乎是愚蠢的。

我当前的xorg.conf大部分内容都是从之前的帖子中复制而来的:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:5@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

您可以看到 GPU 上的进程:

root@zeus:~# nvidia-smi
Mon Nov 27 16:48:35 2017       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|-------------------------------+----------------------+----------------------+
| 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 GTX 106...  Off  | 00000000:05:00.0 Off |                  N/A |
|  0%   42C    P8     6W / 120W |    257MiB /  3013MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1798      G   /usr/lib/xorg/Xorg                            59MiB |
|    0      4052      G   /usr/bin/gnome-shell                         192MiB |
|    0      9880      G   /usr/bin/python                                2MiB |
+-----------------------------------------------------------------------------+

真正令人沮丧的是,由于这个原因,颜色出现了异常。颜色实际上发生了变化(例如,绿色现在变成了红色)luaconky

此安装已完成--dkms --no-opengl-files

答案1

看来我已经接近目标了。最终的解决方法来自这里: https://devtalk.nvidia.com/default/topic/970144/linux/intel-for-display-nvidia-for-cuda-optimus-bug-/1

  1. 使用 Prime 切换到 Intelsudo prime-select intel
  2. 删除链接sudo rm /usr/bin/nvidia-smi
  3. bash为您安装的版本(在我的情况下是 384)创建一个包装器。请注意,当您执行驱动程序时,您必须更新它。

nano /usr/bin/nvidia-smi

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/nvidia-384; /etc/alternatives/x86_64-linux-gnu_nvidia_smi "$@"
  1. sudo chmod +x /usr/bin/nvidia-smi

重启

相关内容