Я использую
Kubuntu 19.10
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
NVIDIA UNIX x86_64 Kernel Module 435.21
, и так как Kubuntu уронил шмеля, я искал другую возможность использовать драйвер nvidia для каждого приложения. Таким образом, я пришел к проблеме «PRIME Render Offload», но я не совсем понимаю, как она работает, хотя я прочитал Драйвер графического адаптера Linux NVIDIA README и Руководство по установке .
Когда я выбираю prime-select intel
, я могу работать исключительно с моей встроенной графикой Intel, в то время как с помощью prime-select nvidia
я буду иметь возможность использовать исключительно GPU nvidia, в то время как мне придется перезагружаться при выборе соответственно. Когда я выбираю prime-select on-demand
, я могу позвонить nvidia-smi
, и он будет отображаться как ...
Wed Nov 13 15:35:06 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 940MX Off | 00000000:02:00.0 Off | N/A |
| N/A 36C P8 N/A / N/A | 0MiB / 2004MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
но я не могу проверить, могу ли я действительно «использовать» графический процессор nvidia, например, при вызове glxinfo
или glxgears
я получил информацию, что он не использует nvidia GPU. Я также попробовал то, что приведено в разделе «Сведения о NVIDIA» выше, например, __NV_PRIME_RENDER_OFFLOAD=1 glxgears
, но я не могу доказать, что используется графический процессор nvidia. Я боюсь, что опция prime-select on-demand
на самом деле не работает или - что определенно является опцией - я не очень понимаю, как она работает.
Таким образом, пожалуйста, кто-нибудь может быть так любезен, чтобы помочь мне здесь и де-мистифицировать это?
Это - запутывающая новая 'опция', которая не описана и не обычно бесполезна большинству пользователей. Отчет об ошибках, которые приводят к этому добавляемому указанный -
"На текущий NV и драйвер intel GPU, если мы загружаем nvidia.ko только, мы можем сделать дисплей на intel GPU и оставить NV глубокому обучению для графической рабочей станции".
Отчет здесь - https://bugs.launchpad.net/ubuntu / + source/nvidia-prime / + ошибка/1824282
Ошибка зарегистрировала о том, как плохо это было реализовано здесь -
https://bugs.launchpad.net/ubuntu / + source/nvidia-settings / + ошибка/1851416
В ubuntu 19.10 xorg требуются некоторые исправления, которые доступны только для 18.04 и 19.04 здесь Вы можете прочитать всю информацию здесь
, сначала вам нужно удалить драйверы Intel, чтобы использовать программный рендеринг (Modeseting aka llvmpipe renderer). Установите последние версии драйверов из этого ppa и, наконец, скомпилируйте / установите исправленный xorg.
Самым простым решением сегодня является обновление до ubuntu 20.04 и установка драйверов nvidia
sudo ubuntu-drivers install
Я явно настраиваю устройства iGPU и dGPU в xorg.conf.d (BusID может отличаться в других системах):
$ sudo cat /etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
EndSection
$ sudo cat /etc/X11/xorg.conf.d/90-nvidia.conf
Section "ServerLayout"
Identifier "layout"
Screen 0 "iGPU"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "iGPU"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "iGPU"
Device "iGPU"
EndSection
Section "Device"
Identifier "dGPU"
Driver "nvidia"
BusID "PCI:3:0:0"
EndSection
... перезагрузка и получить простую работу:
$ offload-glx glxinfo | grep "OpenGL renderer"
OpenGL renderer string: GeForce 940M/PCIe/SSE2
$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa Intel(R) HD Graphics 5500 (BDW GT2)
offload_glx происходит от mate-prime-select и является псевдонимом этого: __NV_PRIME_RENDER_OFFLOAD = 1 __GLX_VENDOR_LIBRARY_NAME = nvidia glxgears
Итак, установите драйверы nvidia и настройте xorg.