Список графических процессоров и соответствующих переменных окружения

Вопрос или проблема

Однажды я наткнулся на команду терминала, которая перечисляет доступные графические процессоры в системе вместе с переменными окружения для их использования. Например, в моем ноутбуке есть дискретный графический процессор Nvidia и интегрированная графика Intel Arc, так что я получал бы 2 результата для карты Nvidia с упоминанием __GLX_VENDOR_LIBRARY_NAME / __NV_PRIME_RENDER_OFFLOAD / __VK_LAYER_NV_optimus, а для карты Intel я получал бы DRI_PRIME.

Моя проблема в том, что я не могу вспомнить команду, которая предоставляла эту информацию. Кто-нибудь знает эту утилиту?

Ответ или решение

Для решения вашей задачи по идентификации доступных графических процессоров (GPU) и связанных с ними переменных окружения можно использовать несколько командных утилит в среде Linux. Данная информация будет полезна как для профессиональных разработчиков, так и для системных администраторов, особенно при работе с графическими приложениями и играми.

Команда для отображения доступных GPU

Одной из наиболее распространенных команд для получения информации о графических процессорах является команда lspci. Она позволяет отобразить список всех подключенных устройств, включая GPU. Чтобы отфильтровать информацию связанная с видеокартами, используйте следующую команду в терминале:

lspci | grep -E "VGA|3D"

Альтернативные утилиты

Для более детализированной информации о GPU может быть полезно использовать команду nvidia-smi (для NVIDIA GPU) или intel_gpu_top (для Intel GPU). Эти утилиты предоставляют расширенные сведения о состоянии и производительности видеоадаптеров.

Пример команды для NVIDIA:

nvidia-smi

Переменные окружения для работы с GPU

После того как вы определили доступные GPU, следующим шагом будет понимание, какие переменные окружения необходимо использовать. Эти переменные могут менять поведение приложений при работе с несколькими графическими процессорами. Ниже перечислены популярные переменные для GPU от NVIDIA и Intel.

Переменные для NVIDIA GPU:

  • __GLX_VENDOR_LIBRARY_NAME: Указывает библиотеку OpenGL, которую следует использовать для рендеринга.
  • __NV_PRIME_RENDER_OFFLOAD: Позволяет использовать NVIDIA dGPU для рендеринга, если система использует Intel iGPU.
  • __VK_LAYER_NV_optimus: Используется для обеспечения работы приложений Vulkan с Optimus конфигурациями.

Переменные для Intel GPU:

  • DRI_PRIME: Используется для переключения между интегрированным и дискретным графическими процессорами.

Вывод информации об обеих GPU и связанных переменных

Чтобы получить полный отчет о доступных GPUs и их переменных, вы можете создать небольшой скрипт. Вот пример на bash:

echo "Список доступных GPU:"
lspci | grep -E "VGA|3D"

echo -e "\nПеременные окружения для NVIDIA:"
echo "__GLX_VENDOR_LIBRARY_NAME"
echo "__NV_PRIME_RENDER_OFFLOAD"
echo "__VK_LAYER_NV_optimus"

echo -e "\nПеременные окружения для Intel:"
echo "DRI_PRIME"

Заключение

Использование описанных выше команд и переменных окружения позволит вам эффективно управлять графическими процессорами в системе, а также обеспечит лучший контроль над производительностью и совместимостью приложений. Если у вас есть дальнейшие вопросы или необходимо глубже понять, как оптимально настраивать вашу среду, не стесняйтесь обращаться за дополнительной помощью.

Оцените материал
Добавить комментарий

Капча загружается...