У меня есть ноутбук 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, будет очень цениться.
После обнаружения вопросов и ответов здесь Как настроить 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 |
+-----------------------------------------------------------------------------+
Готов предоставить скриншоты, чтобы показать, что все это происходит на ноутбуке.