Как переключить видеокарту в Ubuntu: полное руководство

Введение в управление графикой в Linux

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

Пользователям, работающим с графикой, играми или машинным обучением, критически важно знать, как активировать мощную дискретную видеокарту. Процедура переключения зависит от производителя чипа: NVIDIA, AMD или Intel. В зависимости от версии ядра и драйверов, процесс может варьироваться от автоматического переключения (Dynamic Power Management) до ручного вызова приложений через специализированные утилиты.

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

Проверка установленной конфигурации оборудования

Прежде чем приступать к активации второй видеокарты, необходимо убедиться, что система видит оба устройства. В Linux это делается через консольные утилиты, которые предоставляют детальную информацию о подключенном оборудовании. Ошибка на этом этапе часто приводит к тому, что пользователь тратит время на настройку драйверов для устройства, которое не распознано.

Для начала откройте терминал и введите команду lspci | grep -i vga или более развернутый вариант lspci | grep -i 3d. Эти команды покажут список графических адаптеров, установленных в системе. Вы увидите строки, где указано производителя (например, NVIDIA Corporation или Advanced Micro Devices) и модель устройства.

Если система отображает только встроенную графику, возможно, в BIOS/UEFI отключен дискретный адаптер. В таком случае вам потребуется перезагрузить компьютер, войти в настройки материнской платы и убедиться, что опция Discrete Graphics или Hybrid Graphics активирована. Без этого этапа программные методы переключения в Ubuntu не сработают.

Также полезно проверить, какие драйверы уже загружены. Для этого используйте команду lshw -C display. Она покажет не только модель, но и текущий драйвер, который использует система. Если в строке "driver" указано llvmpipe или ничего не указано, значит, проприетарные драйверы не установлены или не работают корректно.

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

📊 Какую видеокарту вы используете?
NVIDIA
AMD
Intel Integrated
Hybrid (NVIDIA + Intel)

Настройка гибридной графики NVIDIA

Наиболее распространенный сценарий в мире ноутбуков — это связка процессора Intel или AMD с дискретной картой от NVIDIA. Для работы с такой конфигурацией в Ubuntu используется технология NVIDIA Prime. Она позволяет переключать приложения между встроенной и дискретной графикой, не перезагружая систему.

Для начала убедитесь, что установлен проприетарный драйвер NVIDIA. В Ubuntu это можно сделать через "Программы и обновления" в разделе "Дополнительные драйверы" или через терминал командой sudo ubuntu-drivers autoinstall. После установки и перезагрузки система должна определить наличие двух профилей работы. Для проверки используйте утилиту nvidia-smi — если она выводит список карт и их загрузку, драйвер работает.

Существует два основных способа запуска приложений на мощной карте. Первый — через графический интерфейс. В меню приложений (Dash) перед именем программы может стоять значок, указывающий на выбор GPU. Если значка нет, нажмите правой кнопкой мыши на ярлык и выберите "Запуск с использованием дискретного графического процессора".

Второй способ — более гибкий и используется в терминале. Для запуска одной программы на дискретной видеокарте используется специальный префикс. Введите в консоли __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <имя программы>. Например, для запуска браузера: __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia firefox. Это заставляет приложение рендерить изображение через NVIDIA, а выводить его через встроенную карту.

Для постоянного переключения всех приложений на NVIDIA можно изменить системный профиль. Используйте команду sudo prime-select query для проверки текущего состояния. Чтобы переключить систему на использование только дискретной карты, выполните sudo prime-select nvidia. После этого потребуется перезагрузка. Вернуть режим работы на встроенную графику можно командой sudo prime-select intel (или sudo prime-select auto для динамического режима).

☑️ Проверка настройки Prime

Выполнено: 0 / 4

⚠️ Внимание: Режим "NVIDIA Only" (использование только дискретной карты) на ноутбуках без технологии Optimus может привести к невозможности вывода изображения на экран, так как встроенный дисплей физически подключен к процессору. Используйте этот режим только на настольных ПК или если ваша модель ноутбука поддерживает вывод через дискретную карту.

Что такое режим On-Demand и Performance?

Режим On-Demand позволяет системе использовать встроенную графику для всех задач, но при необходимости запускать приложения на NVIDIA. Режим Performance (NVIDIA Only) заставляет систему постоянно использовать дискретную карту, что значительно увеличивает потребление энергии и нагрев батареи.-->

Управление видеокартами AMD и Intel

Ситуация с видеокартами AMD и Intel в Ubuntu имеет свои особенности. Современные процессоры Intel с графикой Iris Xe и карты AMD Radeon часто работают в связке без необходимости установки проприетарных драйверов, так как поддержка встроена в ядро Linux и пакет Mesa. Это упрощает настройку, но иногда требует ручного указания устройства для запуска.

Для переключения в гибридных системах AMD (Ryzen + Radeon) используется механизм, аналогичный NVIDIA Prime, но с другими инструментами. Утилита prime-run, часто доступная в новых версиях Ubuntu, автоматически подставляет необходимые переменные окружения для запуска приложений на дискретной карте AMD. Если команда не работает, проверьте наличие пакета libnvidia-egl-wayland или специфичных для AMD библиотек.

Важно отметить, что в последних версиях ядра Linux (5.17 и новее) реализована технология GPU Offloading для AMD, которая позволяет динамически переключать нагрузку. Однако для гарантии работы сложных 3D-приложений или игр, лучше явно указывать устройство. Команда для запуска выглядит так

DRI_PRIME=1 <имя программы>. Переменная DRI_PRIME=1 указывает системе использовать второй доступный GPU (обычно это дискретная карта), в то время как DRI_PRIME=0 — первый (встроенный).

Для мониторинга загрузки карт AMD можно использовать утилиту radeontop или watch -n 1 cat /sys/kernel/debug/dri/*/name. Это поможет понять, действительно ли приложение использует мощное железо, или же оно работает на встроенной графике, что может быть связано с особенностями компиляции или настройками Mesa.

Сравнение методов переключения и производительности

Выбор метода переключения зависит от ваших целей: экономия энергии или максимальная производительность. Ни один метод не является универсальным, и каждый из них имеет свои компромиссы. Понимание различий между режимами поможет вам оптимизировать работу системы под конкретные задачи.

Таблица ниже демонстрирует основные различия между режимами работы для гибридных систем:

Режим работы Производительность Потребление энергии Сложность настройки
Integrated (Встроенная) Низкая (Office, Web) Минимальное Низкая
On-Demand (Prime/DRI) Высокая (Только для приложений) Среднее Средняя
Performance (NVIDIA Only) Максимальная Максимальное Высокая (риск отсутствия вывода)
Hybrid (Dynamic Boost) Оптимизированная Баланс Автоматическая

Режим On-Demand является наиболее популярным для повседневного использования, так как он позволяет работать с документами на встроенной карте, а при запуске игры автоматически переключать нагрузку на дискретную. Однако, некоторые старые приложения могут некорректно определять переменные окружения, что требует дополнительных манипуляций с конфигурационными файлами Xorg.

Режим Performance (полное переключение) часто используется в серверах или игровых станциях, где энергопотребление не является критичным фактором. В этом режиме система игнорирует встроенную графику, что может снять некоторые ограничения драйверов, но требует, чтобы видеовыход монитора был физически подключен к дискретной карте.

Не забывайте, что для корректной работы переключения в терминале иногда требуется перенастройка прав доступа. Пользователь должен состоять в группы video и render. Проверить это можно командой groups. Если групп нет, добавьте их: sudo usermod -aG video,render $USER и перезагрузитесь.

Использование графических утилит для управления

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

Одной из самых популярных утилит является EnvyControl (для NVIDIA) или optimus-manager (на базе KDE/Qt), который предлагает удобный интерфейс для переключения режимов. Установить их можно через терминал: sudo apt install envycontrol. После запуска программа предложит три режима: integrated, hybrid и nvidia.

Другой вариант — использование System76 Power (даже если у вас не ноутбук System76), который предоставляет современный интерфейс для управления производительностью. Он позволяет не только переключать видеокарты, но и настраивать режимы работы вентиляторов и процессора. Это особенно актуально для ноутбуков, где температура имеет критическое значение.

Важно понимать, что графические утилиты в конечном итоге выполняют те же команды, что и мы вручную, но с добавлением скриптов для управления правами доступа и перезапуском дисплейного менеджера. Это снижает вероятность ошибки пользователя, но также добавляет зависимость от работы самого приложения управления.

Можно ли использовать Switcheroo?

Программа primusrun была популярна в прошлом, но сейчас считается устаревшей. Лучше использовать нативные возможности NVIDIA Prime или переменные DRI_PRIME, так как они поддерживаются ядром и драйверами напрямую без необходимости установки сторонних обвязок.-->

Решение частых проблем и ошибок

Даже при правильной настройке пользователи могут столкнуться с проблемами

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

Если после переключения на дискретную карту экран становится черным, попробуйте переключиться в режим восстановления или консоли (Ctrl+Alt+F3). Там можно откатить настройки, выполнив команду sudo prime-select auto или удалив конфигурационные файлы Xorg, если вы их создавали вручную. Проблема может быть в том, что драйвер не может инициализировать дисплейный контроллер.

Другая распространенная проблема — приложение запускается, но не использует дискретную карту, несмотря на введенные команды. Это часто случается, если приложение работает в контейнере или имеет свои собственные настройки рендеринга. В таких случаях проверьте переменную окружения __NV_PRIME_RENDER_OFFLOAD_PROVIDER и убедитесь, что она указывает на правильный GPU. Для AMD проверьте AMD_VULKAN_ICD.

Также стоит обратить внимание на логи системы. Файлы /var/log/Xorg.0.log содержат массу информации о загрузке драйверов. Ищите строки с пометкой EE (ошибки) или WW (предупреждения). Если вы видите ошибку инициализации модуля NVIDIA, возможно, вам потребуется пересобрать ядро или обновить прошивку BIOS.

⚠️ Внимание: При обновлении ядра Linux проприетарные драйверы NVIDIA могут перестать загружаться, если модуль ядра не был пересобран автоматически. В этом случае поможет установка пакета dkms или повторная установка драйвера.

FAQ: Часто задаваемые вопросы

Как проверить, какая видеокарта сейчас используется для рендеринга?

Вы можете использовать команду glxinfo | grep "OpenGL renderer". Если вы видите имя встроенной графики, а запускали игру на дискретной, значит переключение не сработало. Для NVIDIA также работает nvidia-smi в реальном времени.

Нужно ли устанавливать драйверы для AMD в Ubuntu?

В большинстве случаев нет. Драйверы AMD (Mesa) встроены в ядро Linux и обновляются вместе с системой. Однако для последних карт серии RX 6000/7000 рекомендуется обновить Mesa до более свежей версии из PPA.

Что делать, если меню выбора видеокарты не появляется в настройках?

Это означает, что драйверы не установлены или не загружены. Убедитесь, что вы используете проприетарный драйвер NVIDIA, а не открытый Nouveau. Проверьте это через lspci -k | grep -A 2 -E "(VGA|3D)".

Влияет ли переключение видеокарты на время работы от батареи?

Да, значительно. Дискретные видеокарты потребляют в разы больше энергии. Использование режима Integrated или Auto продлевает жизнь ноутбуку, а режим Performance может сократить время работы до 1-2 часов.

⚠️ Внимание: Некоторые современные ноутбуки с технологией Mux Switch требуют особого подхода. В них переключение может быть недоступно через программные средства Ubuntu и требовать обновления BIOS или использования Windows для смены режима, так как управление аппаратным переключением заложено в прошивке.