избегайте использования карты nvidia для Xorg с плазмой

У меня есть ноутбук dell xps 15 9570 с графическим процессором Intel и NVIDIA под управлением Ubuntu Linux 18.04 и я хотел бы использовать карту NVIDIA исключительно для обучения глубоких нейронных сетей. Мне удалось запустить X-сервер на Intel, следуя

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

он отлично работает, когда в gdm3 я выбираю войдите в систему, используя оболочку gnome (Ubuntu Wayland). Запуск nvidia-smi показывает, что на GPU не запущен процесс. Однако теперь я хотел попробовать kde с плазмой, и там xserver оказался на GPU NVIDIA.

(base) ooo: (~) 505> nvidia-smi 
Sat Jul 13 14:30:18 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 GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   50C    P5    N/A /  N/A |     66MiB /  4042MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2073      G   /usr/lib/xorg/Xorg                            66MiB |
+-----------------------------------------------------------------------------+

Я попытался для X-сервера использовать Intel, добавив два конфигурационных файла

/etc/X11/xorg.conf.d/01-noautogpu.conf / etc / X11 / xorg. conf.d / 20-intel.conf

в /etc/X11/xorg.conf.d, как описано здесь

https://gist.github.com/s41m0n/ 323513c95290c85f7054384ac34c41c5

В результате, к сожалению, после входа в систему экран остается черным. Кажется, что сама плазма-оболочка находит и использует nvidia gpu.

Любая идея, как заставить плазму использовать Intel GPU, будет очень цениться.

-1
задан 16 July 2019 в 02:11

1 ответ

После обнаружения вопросов и ответов здесь Как настроить iGPU для xserver и nvidia GPU для работы CUDA , в частности, ответ user890178, и изучение системного журнала I наконец обнаружил, что это не плазма, которая делает что-то конкретное, но проблема одинакова для gnome и плазменной оболочки при использовании Xorg. В Xorg служба gpu-manager.service

/lib/systemd/system/gpu-manager.service

запускается display-manager

/etc/systemd/system/display-manager.service.wants/gpu-manager.service

, а gpu-manager обнаруживает nvidia и записывает файл

/usr/share/X11/xorg.conf.d/11-nvidia-prime.conf

, содержащий

# DO NOT EDIT. AUTOMATICALLY GENERATED BY gpu-manager

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "IgnoreDisplayDevices" "CRT"
    Option "PrimaryGPU" "Yes"
    ModulePath "/x86_64-linux-gnu/nvidia/xorg"
EndSection

. Этот файл не используется Wayland и так карта nvidia не используется, но используется для gnome-shell на ubuntu и Plasma. Фактически, оба будут использовать карту nvidia для Xorg.

Тогда решение представляет собой вариант ответа Максима Ганенко на тот же вопрос выше, что означает замену / usr / share / X11 / xorg.conf.d / 11-nvidia -prime.conf от

# DO NOT EDIT. AUTOMATICALLY GENERATED BY gpu-manager

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "IgnoreDisplayDevices" "CRT"
    # Option "PrimaryGPU" "Yes"   <<< commented out
    ModulePath "/x86_64-linux-gnu/nvidia/xorg"
EndSection


# added 
Section "OutputClass"
    Identifier "intel"
    MatchDriver "i915"
    Driver "modesetting"
    Option "PrimaryGPU" "yes"    
EndSection

и, кроме того, чтобы gpu-manager не заменял эти изменения при запуске следующего сеанса, следуя совету Орена, о котором идет речь gpu-manager перезаписывает xorg.conf для защиты файла от изменяет посредством запуска

chattr +i /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf

Мне кажется, что тот факт, что экран остался черным после добавления двух файлов, упомянутых в вопросе, в /etc/X11/xorg.conf.d, вызван тем, что что с файлами в /usr/share/X11/xorg.conf.d, что файл конфигурации действительно содержал противоречащую информацию.

Учитывая комментарий Габриэлы Гарсиа, которая удивительным образом заявила, что то, что я прошу, не может работать на ноутбуке, я чувствую необходимость предоставить доказательство того, что то, что я спросил, может работать, и что предоставленный мною ответ действительно является средством сделай так, чтоб это работало.

Здесь результат lspci, подтверждающий существование двух видеокарт

(base) m3088: (~) 505> lspci | egrep "VGA|NVIDIA"
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)

Здесь результат ps aux , фильтрующий Xorg, плазму и питон anaconda, выполняющий сеанс тензорного потока. Это показывает, что все успешно работают вместе, в то время как Plasma и Xorg не используют карту nvidia должным образом (см. Nvidia-smi ниже)

(base) m3088: (~) 511> ps aux  | egrep "Xorg|plasmashell|anaconda"
roebel   13139  0.9  5.1 17315584 819236 pts/1 Sl+  00:23   0:10 /data/anasynth/anaconda3/bin/python /data/anasynth/anaconda3/bin/ipython
roebel   16198  0.0  0.0  21540  1068 pts/5    S+   00:42   0:00 grep -E Xorg|plasmashell|anaconda
roebel   18886  1.5  1.3 628292 210572 tty2    Sl+  juil.14  24:22 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
roebel   19171  2.0  3.4 6576588 561212 ?      Sl   juil.14  33:16 /usr/bin/plasmashell

Здесь вывод nvidia-smi, доказывающий, что Xorg не использует nvidia, а сеанс tenorflow в анаконда питон подает на него в суд.

(base) m3088: (~) 506> nvidia-smi
Tue Jul 16 00:34:51 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 GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P8    N/A /  N/A |    123MiB /  4042MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     13139      C   /data/anasynth/anaconda3/bin/python          109MiB |
+-----------------------------------------------------------------------------+

Готов предоставить скриншоты, чтобы показать, что все это происходит на ноутбуке.

-1
ответ дан 23 October 2019 в 23:57

Другие вопросы по тегам:

Похожие вопросы: