Изолировать интегрированный Intel (igpu) от Nvidia (gpu)

Изолировать интегрированный Intel (igpu) от Nvidia (gpu)

В значительной степени этот вопрос задавался, но махинации в ответах являются устаревшими или, честно говоря, не окончательными. Поэтому, рискуя получить штраф за "уже заданный" вопрос, моя цель:

Я пытаюсь изолировать интегрированное видео Intel для выполнения всех функций в качестве основного, а также изолировать графический процессор Nvidia для работы Cuda, к которому не подключен монитор.

Вот основная ссылка/предыдущий вопрос:

Как настроить igpu для xserver и nvidia gpu для cuda?

К сожалению, после нескольких дней попыток привести себя 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 |
+-----------------------------------------------------------------------------+

luaЧто действительно расстраивает в этом, так это то, что из-за этого в / есть цветовая аномалия conky. Цвета фактически меняются (например, зеленый теперь красный).

Эта установка была сделана с--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

Перезагрузить

Связанный контент