Когда на прошлой неделе использовался док Khadas Mind Graphics 2 на базе NVIDIA GeForce RTX 5060 Ti 16GB Khadas Mind Graphics 2 док с мини-ПК под управлением Ubuntu 26.04, eGPU, подключённый через USB4, был автоматически обнаружен и включён, но возникли две проблемы: очень низкая производительность и сбой загрузки мини-ПК при отсоединении дока.
Решение частично задокументировано в рамках длинного обзора GEEKOM IT13 Max Ubuntu 26.04 , но может быть полезно задокументировать всё в более короткой статье для тех, у кого есть Khadas Mind Graphics 2 или другой NVIDIA Blackwell eGPU, подключённый через USB4/Thunderbolt.
Исправление проблем с производительностью Khadas Mind Graphics 2 в Ubuntu
Khadas Mind Graphics 2 и видеокарта NVIDIA были автоматически обнаружены при подключении дока к мини-ПК с Ubuntu 26.04:
aey@IT13-Max-CNX:~$ sudo inxi -G
Graphics:
Device-1: Intel Meteor Lake-P [Intel Arc Graphics] driver: i915 v: kernel
Device-2: NVIDIA GB206 [GeForce RTX 5060 Ti] driver: nouveau v: kernel
Display: unspecified server: Xwayland v: 24.1.10 driver: gpu: i915 tty: 211x50
resolution: 1920x1080
API: EGL v: 1.5 drivers: iris,swrast,zink platforms: gbm,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 26.0.3-1ubuntu1 note: console (EGL sourced)
renderer: zink Vulkan 1.4(NVIDIA GeForce RTX 5060 Ti (NVK GB206) (MESA_NVK)), Mesa Intel Arc
Graphics (MTL), llvmpipe (LLVM 21.1.8 256 bits)
API: Vulkan v: 1.4.341 drivers: intel,nvk,llvmpipe surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo x11: xdriinfo, xdpyinfo, xprop, xrandr
Удалось запустить Unigine Heaven Benchmark 4.0 на (неизвестном) NVIDIA GPU, но производительность была низкой, даже ниже, чем у встроенного Intel GPU.

---- Render ----
GLRender::GLRender(): Unknown NVidia GPU
OpenGL vendor: Mesa
OpenGL renderer: zink Vulkan 1.4(NVIDIA GeForce RTX 5060 Ti (NVK GB206) (MESA_NVK))
OpenGL version: 4.6 (Core Profile) Mesa 26.0.3-1ubuntu1
OpenGL flags: Core Profile
...
Benchmark running
Benchmark results:
Time: 260.663
Frames: 6128
FPS: 23.5093
Min FPS: 20.2566
Max FPS: 25.079
Score: 592.199
Оказывается, открытый драйвер Nouveau не оптимизирован для NVIDIA Blackwell GPU, поэтому низкая производительность была ожидаема. Это можно исправить, установив проприетарные драйверы NVIDIA. Их можно найти с помощью команды:
aey@IT13-Max-CNX:~$ sudo ubuntu-drivers list
nvidia-driver-595-open, (kernel modules provided by linux-modules-nvidia-595-open-generic-hwe-26.04)
nvidia-driver-580-open, (kernel modules provided by linux-modules-nvidia-580-open-generic-hwe-26.04)
nvidia-driver-610-open, (kernel modules provided by linux-modules-nvidia-610-open-generic-hwe-26.04)
nvidia-driver-595, (kernel modules provided by linux-modules-nvidia-595-generic-hwe-26.04)
nvidia-driver-580, (kernel modules provided by linux-modules-nvidia-580-generic-hwe-26.04)
nvidia-driver-610, (kernel modules provided by linux-modules-nvidia-610-generic-hwe-26.04)
nvidia-driver-595-server-open, (kernel modules provided by linux-modules-nvidia-595-server-open-generic-hwe-26.04)
nvidia-driver-580-server-open, (kernel modules provided by linux-modules-nvidia-580-server-open-generic-hwe-26.04)
nvidia-driver-595-server, (kernel modules provided by linux-modules-nvidia-595-server-generic-hwe-26.04)
nvidia-driver-580-server, (kernel modules provided by linux-modules-nvidia-580-server-generic-hwe-26.04)
Можно просто выбрать «открытую» версию с наибольшим номером версии. «Открытая» здесь относится только к модулю ядра, остальная часть стека является проприетарной и закрытой. Установите последний драйвер и перезагрузите систему:
aey@IT13-Max-CNX:~$ sudo ubuntu-drivers install nvidia:610-open
aey@IT13-Max-CNX:~$ sudo reboot
inxi подтверждает, что драйвер теперь «nvidia» вместо «nouveau»:
aey@IT13-Max-CNX:~/Downloads/Unigine_Heaven-4.0$ inxi -G
Graphics:
Device-1: Intel Meteor Lake-P [Intel Arc Graphics] driver: i915 v: kernel
Device-2: NVIDIA GB206 [GeForce RTX 5060 Ti] driver: nvidia v: 610.43.02
Display: server: X.org v: 1.21.1.22 with: Xwayland v: 24.1.10 driver: gpu: i915 tty: 211x50
resolution: 1920x1080
API: EGL v: 1.5 drivers: iris,nvidia,swrast platforms: gbm,surfaceless,device
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: mesa v: 26.0.3-1ubuntu1 note: console (EGL sourced)
renderer: NVIDIA GeForce RTX 5060 Ti/PCIe/SSE2, Mesa Intel Arc Graphics (MTL), llvmpipe (LLVM
21.1.8 256 bits)
API: Vulkan v: 1.4.341 drivers: intel,nvidia,llvmpipe surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo gpu: nvidia-settings,nvidia-smi
x11: xdriinfo, xdpyinfo, xprop, xrandr
Время проверить улучшенную производительность с помощью Unigine Heaven Benchmark 4.0:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia ./heaven

Unigine Heaven Benchmark 4.0 на GEEKOM IT13 Max с NVIDIA GeForce RTX 5060 Ti eGPUРезультат и средняя частота кадров улучшились примерно в 5,75 раза. Это сработало!
Ошибка загрузки при отключённом NVIDIA eGPU
Поскольку не всегда требуется носить внешний GPU с ноутбуком или подключать его к мини-ПК, хост-компьютер также должен работать, когда Khadas Mind Graphics 2 к нему не подключён. Однако после исправления вышеуказанной проблемы и удаления eGPU для продолжения других тестов в обзоре было замечено, что мини-ПК больше не загружается. На экране ничего не отображалось, кроме чёрного экрана, даже после ожидания в течение нескольких минут. При нажатии Ctrl+F1 для доступа к терминалу оказалось, что драйвер NVIDIA бесконечно искал видеокарту в цикле.
На этом этапе Mind Graphics 2 снова подключили к мини-ПК, а модули NVIDIA были внесены в чёрный список.
Для этого был создан новый файл /etc/modprobe.d/nvidia-egpu.conf от имени root/sudo:
# Do not auto-load NVIDIA modules so the system boots fine without the eGPU
blacklist nvidia
blacklist nvidia_modeset
blacklist nvidia_drm
blacklist nvidia_uvm
options nvidia NVreg_DynamicPowerManagement=0x00
После сохранения файла initramfs был обновлён, и система успешно перезагружена.
sudo update-initramfs -u
sudo reboot
Теперь это работает как с Mind Graphics 2, так и без него. Однако, чтобы использовать NVIDIA eGPU, необходимо загружать драйверы вручную:
sudo modprobe nvidia
sudo modprobe nvidia_modeset
sudo modprobe nvidia_drm
sudo modprobe nvidia_uvm
Это неудобно. К счастью, есть решение: загрузка драйверов при обнаружении GPU с помощью правила udev. Для Khadas Mind Graphics 2 можно просто использовать значение из файла правил, приведённого ниже, но для другого NVIDIA GPU может потребоваться проверить/подтвердить идентификаторы производителя и устройства.
aey@IT13-Max-CNX:~$ lspci -nn | grep -i nvidia
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB206 [GeForce RTX 5060 Ti] [10de:2d04] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation GB206 High Definition Audio Controller [10de:22eb] (rev a1)
Теперь необходимо создать файл /etc/udev/rules.d/99-egpu-nvidia.rules со следующим содержимым:
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{device}=="0x2d04", ATTR{class}=="0x030000", RUN+="/bin/sh -c 'modprobe nvidia; modprobe nvidia_modeset; modprobe nvidia_drm; modprobe nvidia_uvm'"
Теперь можно перезагрузить правила udev или просто перезагрузить систему, чтобы убедиться, что всё работает как ожидается.
Несколько тестов подтвердили полностью работоспособную систему. Мини-ПК использует eGPU с проприетарными драйверами NVIDIA при подключённом Khadas Mind Graphics 2 для максимальной производительности, при этом он по-прежнему загружается без док-станции eGPU.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.

