У меня есть ноутбук Dell precision 7510 с Ubuntu Mate 20.04 с гибридной картой Nvidia GeForce 940MX и eGPU с Radeon RX 570.
У меня есть 5 дисплеев, подключенных к моей Radeon RX 570, и я пытаюсь заставить ручной тормоз использовать мой графический процессор nvidia, чтобы я мог использовать NVenc. Я пробовал использовать DRI_PRIME, но он всегда использует Radeon RX 570.
philroche@bomek:~$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
libGL error: failed to create dri screen
libGL error: failed to load driver: nouveau
OpenGL renderer string: Radeon RX 570 Series (POLARIS10, DRM 3.35.0, 5.4.0-42-generic, LLVM 10.0.0)
philroche@bomek:~$ DRI_PRIME=0 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Radeon RX 570 Series (POLARIS10, DRM 3.35.0, 5.4.0-42-generic, LLVM 10.0.0)
Я вижу, что модуль nvidia загружен
philroche@bomek:~$ lsmod | grep -i nvidia
nvidia_uvm 913408 0
nvidia_drm 40960 0
nvidia_modeset 1122304 1 nvidia_drm
nvidia 19517440 2 nvidia_uvm,nvidia_modeset
drm_kms_helper 184320 3 amdgpu,nvidia_drm,i915
drm 491520 26 gpu_sched,drm_kms_helper,amdgpu,nvidia_drm,i915,ttm
ipmi_msghandler 106496 2 ipmi_devintf,nvidia
вместе с модулем amd
philroche@bomek:~$ lsmod | grep -i amd
amdgpu 4579328 64
amd_iommu_v2 20480 1 amdgpu
gpu_sched 32768 1 amdgpu
ttm 106496 1 amdgpu
i2c_algo_bit 16384 2 amdgpu,i915
drm_kms_helper 184320 3 amdgpu,nvidia_drm,i915
drm 491520 26 gpu_sched,drm_kms_helper,amdgpu,nvidia_drm,i915,ttm
Я вижу все графические процессоры
philroche@bomek:~$ lspci
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M2000M] (rev a2)
09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef)
09:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
nvidia-smi
] возвращает ожидаемый результат
philroche@bomek:~$ nvidia-smi
Thu Sep 3 18:54:39 2020
+-----------------------------------------------------------------------------+
| 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 Quadro M2000M Off | 00000000:01:00.0 Off | N/A |
| N/A 53C P0 N/A / N/A | 0MiB / 4043MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
, но xrandr перечисляет только одного поставщика
philroche@bomek:~$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x5a cap: 0x9, Source Output, Sink Offload crtcs: 6 outputs: 5 associated providers: 0 name:Radeon RX 570 Series @ pci:0000:09:00.0
У меня также установлен nvidia-driver-435.
Кто-нибудь знает, как я могу заставить приложение запускаться с помощью графического процессора Nvidia?
Спасибо