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

Команда nvidia-smi выдает ошибку «command not found» или драйвер NVIDIA не загружается, что указывает на активный режим работы только встроенной графики Intel или AMD. В современных гибридных ноутбуках, оснащенных технологиями NVIDIA Optimus или AMD Hybrid Graphics, система по умолчанию может некорректно управлять питанием дискретного адаптера, заставляя его потреблять энергию даже при выполнении легких задач. Это приводит к перегреву корпуса, повышенному шуму вентиляторов и резкому снижению времени автономной работы устройства.

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

Определение конфигурации видеокарт и текущего статуса

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

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

lspci | grep -E "VGA|3D"

В выводе вы увидите два основных устройства: Integrated Graphics (обычно Intel или AMD Radeon) и Discrete Graphics (NVIDIA GeForce или AMD Radeon RX). Обратите внимание на идентификатор в квадратных скобках, например, [VGA] или [3D], а также название вендора. Это поможет вам понять, какой именно драйвер нужно блокировать.

Также полезно проверить текущий загруженный драйвер с помощью команды lshw. Она покажет не только модель, но и статус использования:

sudo lshw -C display

Если в поле «configuration» для дискретной карты написано «driver=nvidia» или «driver=amdgpu», значит, она активно используется системой. Если же там указан «unclaimed» или драйвер отсутствует, значит, карта уже находится в спящем режиме, и дополнительные действия не требуются.

⚠️ Внимание

Не пытайтесь отключать графический контроллер, который выводит изображение на встроенный дисплей ноутбука. В 99% случаев это будет встроенная карта, и её деактивация приведет к полной потере видеосигнала до перезагрузки системы.

Использование встроенной утилиты Prime Select

Наиболее безопасный и рекомендуемый способ управления переключением видеокарт в Ubuntu — использование утилиты prime-select. Этот инструмент, поставляемый вместе с пакетом nvidia-driver или mesa, позволяет переключать режим работы системы между производительным и энергосберегающим без ручного редактирования конфигурационных файлов ядра.

Для начала проверьте доступные профили, введя команду: sudo prime-select query. Система вернет текущий активный режим. Если у вас установлен проприетарный драйвер NVIDIA, вы увидите варианты: on-demand, nvidia или intel (для процессоров Intel) / amd (для процессоров AMD). Режим on-demand является оптимальным, так как он загружает дискретную карту только по запросу конкретных приложений.

Чтобы принудительно отключить дискретную видеокарту и перевести систему на использование только встроенного графического ускорителя, выполните команду:

sudo prime-select intel

Для процессоров AMD команда будет выглядеть аналогично, но с указанием amdgpu или amd в зависимости от версии драйвера. После выполнения команды система потребует перезагрузки для применения изменений. В режиме intel (или amd) драйвер NVIDIA не загружается, что гарантирует минимальное энергопотребление.

Этот метод предпочтителен, так как он работает через стандартный механизм DRM и не требует глубокого вмешательства в настройки BIOS или ядра. Однако, если ноутбук имеет сложную схему подключения (например, Optimus с прямым выводом), этот метод может не сработать без дополнительных настроек модуля bbswitch.

📊 Какой режим работы видеокарт сейчас активен у вас?
Только встроенная (Intel/AMD)
Только дискретная (NVIDIA)
Оптимизированный (On-Demand)
Не знаю, как проверить

Принудительное отключение через параметры ядра и модули

Если утилита prime-select не блокирует питание карты полностью, или у вас нет драйверов NVIDIA, придется вмешаться в параметры загрузки ядра. Это более сложный метод, требующий редактирования файла конфигурации загрузчика GRUB. Суть метода заключается в запрете загрузки модуля ядра, отвечающего за работу дискретной карты.

Для NVIDIA это модуль nvidia, а для AMD — amdgpu (если карта не интегрирована). Откройте файл конфигурации GRUB в текстовом редакторе:

sudo nano /etc/default/grub

Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT. В конце строки, внутри кавычек, добавьте параметр modprobe.blacklist=nvidia для карт NVIDIA или modprobe.blacklist=amdgpu для AMD. Важно не удалять существующие параметры, а добавлять их через пробел.

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

sudo update-grub

sudo reboot

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

⚠️ Внимание

Неправильное редактирование файла /etc/default/grub может привести к невозможности загрузки операционной системы. Если вы не уверены в своих действиях, используйте графический интерфейс «Дополнительные драйверы» для переключения режимов.

☑️ Подготовка к редактированию GRUB

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

Работа с технологией NVIDIA Optimus и bbswitch

Многие ноутбуки на базе процессоров Intel используют технологию NVIDIA Optimus, где дискретная карта не имеет прямого доступа к дисплею. В таких системах критически важным компонентом является модуль bbswitch, который управляет электропитанием дискретной карты на уровне PCI. Без него карта может оставаться включенной, даже если драйвер не используется.

В современных версиях Ubuntu поддержка bbswitch часто встроена в драйверы NVIDIA, но иногда требуется установка дополнительного пакета. Если вы хотите гарантированно отключить карту, проверьте наличие модуля:

lsmod | grep bbswitch

Если модуль загружен, вы можете вручную переключить состояние карты в режим выключения, введя команду:

echo OFF | sudo tee /proc/acpi/bbswitch

Успешное выполнение команды вернет «0» или пустой ответ, а статус в lspci изменится на «VGA compatible controller: NVIDIA Corporation.. (rev a1)» без активного драйвера. Если команда выдает ошибку, возможно, модуль не загружен или поддержка ACPI отключена в BIOS.

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

options bbswitch load_state=0 unload_state=1

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

Настройка через графический интерфейс и BIOS

Не всегда решение проблемы требует работы с терминалом. В некоторых случаях достаточно изменить настройки в графическом интерфейсе или BIOS. Для Ubuntu с рабочим столом GNOME существует приложение Settings -> Displays, где в разделе «Graphics» можно выбрать предпочтительный GPU для всего сеанса или отдельных приложений.

Однако наиболее радикальным методом является изменение настроек в BIOS/UEFI ноутбука. Зайдите в BIOS при загрузке (обычно клавиша F2, F10 или Del) и найдите раздел Video или Graphics Configuration. Здесь часто есть опция Switchable Graphics или Hybrid Graphics.

Установка значения Discrete Graphics или Integrated Graphics в BIOS полностью меняет логику работы. Если выбрать Integrated Graphics, дискретная карта будет отключена аппаратно, что является самым эффективным способом снижения энергопотребления, но лишает пользователя возможности использовать её для тяжелых задач без перезагрузки в BIOS.

Ниже представлена таблица, сравнивающая основные методы отключения и их влияние на систему:

Метод Сложность Влияние на производительность Возврат к работе
prime-select Низкая Системная, мгновенная Командой в терминале
blacklist модуля Средняя Полное отключение драйвера Удаление строки в GRUB
bbswitch Высокая Аппаратное отключение питания Команда echo ON
Настройки BIOS Средняя Аппаратное ограничение Смена опции в BIOS
Детали работы bbswitch

Модуль bbswitch работает через ACPI-интерфейс, посылая команды переключения питания (Power State) для устройства PCI. Если ноутбук не поддерживает эту функцию или реализация кривая, команда может не сработать, и карта останется включенной. В таких случаях помогает обновление BIOS или использование патченного ядра.

Решение проблем с драйверами AMD Radeon

Если в вашем ноутбуке используется связка процессора AMD и дискретной видеокарты AMD, процесс отключения имеет свои особенности. В отличие от NVIDIA, где есть проприетарный драйвер, AMD использует открытый драйвер amdgpu или radeon по умолчанию. Отключение здесь часто означает переключение в режим PowerSave или использование параметров ядра для ограничения частот.

Для управления энергопотреблением карт AMD в Linux часто используется утилита radeontop или настройки в sysfs. Вы можете ограничить максимальную частоту GPU, что косвенно снизит потребление, но для полного отключения лучше использовать гибридный режим работы, если он поддерживается ядром.

В некоторых случаях помогает создание правила udev, которое выключает карту при загрузке. Создайте файл /etc/udev/rules.d/99-disable-graphics.rules со следующим содержимым:

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1002", ATTR{class}=="0x030000", ATTR{power/control}="auto"

Это правило заставляет ядро автоматически переводить PCI-устройство в режим энергосбережения. После создания файла необходимо перезагрузить систему или перезапустить службу udev: sudo udevadm control --reload-rules.

⚠️ Внимание

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

Частые вопросы и устранение неполадок

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

Иногда после перезагрузки настройки сбрасываются. Это происходит, если модуль nvidia или amdgpu загружается до того, как сработает правило bbswitch. В таких случаях необходимо добавить явные запреты в файл /etc/modprobe.d/blacklist.conf, прописав blacklist nvidia и blacklist nvidia-modeset.

Также стоит проверить, не включена ли виртуализация GPU (vGPU) или другие функции в BIOS, которые могут блокировать управление питанием. Если ноутбук находится на гарантии, изменение настроек BIOS может быть опасным, поэтому лучше ограничиться программными методами в ОС.

Что делать, если черный экран после отключения

Если после перезагрузки вы видите черный экран, попробуйте перезагрузиться в режиме восстановления (Recovery Mode) из меню GRUB. Там отключите дискретную карту, удалив параметры из GRUB, и загрузитесь в обычном режиме.

Почему дискретная карта включается снова после перезагрузки?

Это может быть связано с тем, что драйвер загружается автоматически по умолчанию. Проверьте файл /etc/modprobe.d/blacklist.conf и убедитесь, что имя модуля (например, nvidia) внесено в список исключения. Также проверьте настройки prime-select, так как после обновления системы настройки могут сброситься.

Как проверить, отключилась ли карта физически?

Используйте команду lspci -v и найдите строку вашей видеокарты. Если драйвер не загружен, статус будет «Kernel driver in use: (none)». Также можно посмотреть температуру через nvidia-smi (если она выдает ошибку доступа) или через acpi -V, где могут быть данные о питании PCI-устройств.

Можно ли отключить конкретное приложение от использования дискретной карты?

Да, в Ubuntu можно использовать команду nvidia-settings или настройки «Дополнительные драйверы», чтобы назначить конкретное приложение на встроенную графику. Также в среде GNOME можно использовать «Настройки» -> «Энергосбережение» -> «Graphics» для выборочного отключения.

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

Нет, отключение дискретной видеокарты обычно не влияет на работу веб-камеры, так как она использует отдельный интерфейс USB или MIPI. Однако, если камера использует аппаратное ускорение видеокарты для обработки изображения, качество может снизиться в некоторых приложениях.

Что делать, если команда prime-select не найдена?

Это означает, что пакет nvidia-prime не установлен. Установите его командой sudo apt install nvidia-prime. Если у вас система на базе AMD, попробуйте установить пакет amd-gpu-pro или аналогичный, предоставляющий управление переключением.