Вопрос или проблема
Я установил драйверы NVIDIA (попробовал nvidia-driver-550 и nvidia-driver-560). В OpenGL я могу управлять, какую видеокарту использовать, но в Vulkan это не работает. Vulkan всегда использует Intel.
$ prime-select query
nvidia
$ __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
server glx vendor string: SGI
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
$ __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimUS=NVIDIA_only vkcube
Selected GPU 0: Intel(R) UHD Graphics (CML GT2), type: IntegratedGpu
Я пробовал все, что мог придумать, но не могу добиться прогресса. Пробовал как Wayland, так и Xorg. По данным lspci
, устройство NVIDIA:
01:00.0 VGA compatible controller: NVIDIA Corporation TU106GLM [Quadro RTX 3000 Mobile / Max-Q] (rev a1)
Ответ или решение
Конечно, давайте разберемся, как использовать Vulkan с графическими картами NVIDIA при наличии нескольких карт в системе.
Проблема и ее контекст:
Вы настроили драйверы NVIDIA (nvidia-driver-550 и nvidia-driver-560), и у вас получилось управлять выбором графической карты с OpenGL. Однако с Vulkan вы постоянно сталкиваетесь с ситуацией, когда система выбирает Intel вместо NVIDIA, даже когда ваши настройки указывают иначе.
Возможные причины проблемы:
-
Настройки PRIME Render Offload.
- Хотя вы уже пытаетесь использовать
__NV_PRIME_RENDER_OFFLOAD
и__VK_LAYER_NV_optimus
, вполне возможно, что в вашей системе не полностью удовлетворены требования для правильной работы технологии PRIME Render Offload в Vulkan.
- Хотя вы уже пытаетесь использовать
-
Проблемы совместимости драйверов.
- Новые версии драйверов могут содержать баги или несовместимости, которые могут усложнять работу с Vulkan.
-
Ошибки в конфигурации DISPLAY.
- Неправильная конфигурация окружения DISPLAY способна повлиять на выбор графической карты для Vulkan.
Решения:
-
Обновление драйверов:
- Проверьте, есть ли доступные обновления для драйверов через официальный сайт NVIDIA. Убедитесь, что вы используете оптимально подходящую версию драйверов для вашей модели GPU и версии ядра операционной системы.
-
Настройки окружения:
- Убедитесь, что используете корректные переменные среды. Для Vulkan попробуйте следующее:
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json export VK_LOADER_DEBUG=all
- Выполните
vkcube
с этими переменными и проверьте вывод на наличие ошибок.
- Убедитесь, что используете корректные переменные среды. Для Vulkan попробуйте следующее:
-
Конфигурация Xorg и Wayland:
- Подтвердите корректность конфигурации для вашего дисплей-сервера. Проверьте, не мешают ли какие-либо сторонние конфигурации выбору графической карты.
-
Проверка поддержки Optimus:
- Убедитесь, что ваша система поддерживает NVIDIA Optimus, и правильность настроек. Иногда может понадобиться включить поддержку этой технологии в BIOS.
-
Логирование и отладка:
- Проверьте системные логи для сообщений об ошибках при запуске приложений Vulkan.
dmesg
и/var/log/Xorg.0.log
могут содержать полезную информацию для диагностики.
- Проверьте системные логи для сообщений об ошибках при запуске приложений Vulkan.
Заключение:
Применение вышеперечисленных реализаций может помочь вам добиться корректной работы Vulkan с графической картой NVIDIA в условиях наличия нескольких GPU. Часто подобные проблемы требуют детальной диагностики и тестирования конкретных решений в связи с уникальностью конфигурации каждой системы.
Профессиональные советы:
- Регулярно проверяйте наличие обновлений для драйверов и ядра системы.
- Следите за официальными ресурсами NVIDIA и сообществами по Linux для возможных изменений и решений.
- Используйте специальные форумы и группы для профессионалов IT, чтобы обмениваться опытом и решениями.
При соблюдении всех рекомендаций у вас должны увеличиться шансы успешной настройки вашего оборудования.