Optimus на Linux: установка и переключение с Bumblebee

Быстрые ссылки
Установка Bumblebee
Переключение между встроенной графикой и NVIDIA
Многие современные ноутбуки оснащены технологией NVIDIA Optimus — в ноутбуке есть дискретная графика NVIDIA для игр и встроенная Intel для экономии батареи. Система переключается между ними по мере необходимости.
Поддержка Optimus в Linux исторически была слабее, чем в Windows, но сообществу доступны рабочие решения. Одно из таких — проект Bumblebee: он даёт возможность включать дискретную карту на Linux без ожидания официальной поддержки от производителя.
Image credit: Jemimus on Flickr
Установка Bumblebee
Ниже — инструкции для Ubuntu. На других дистрибутивах (Fedora, Debian, Arch, Mandriva, Gentoo) установка похожа; см. документацию проекта Bumblebee для деталей.
Сначала добавьте репозиторий Bumblebee в систему. Откройте терминал и выполните:
sudo add-apt-repository ppa:bumblebee/stable

Затем обновите список пакетов:
sudo apt-get update
Установите пакеты поддержки Optimus:
sudo apt-get install bumblebee bumblebee-nvidia

После установки перезагрузите систему или выйдите из сеанса и зайдите снова:

Важно: устанавливать драйверы имеет смысл с учётом версии ядра и версии драйвера NVIDIA в вашем дистрибутиве. Если вы используете кастомное ядро или модуль DKMS для nvidia, проверьте совместимость в документации вашей ОС.
Переключение между встроенной графикой и NVIDIA
После установки ноутбук будет использовать встроенную Intel-графику по умолчанию, отключая питание дискретной карты NVIDIA и экономя заряд батареи.
Когда нужно запустить приложение с ускорением на NVIDIA, используйте команду optirun.
Пример: запуск игры с именем game через NVIDIA:
optirun game
Пока приложение запущено с optirun, будет включена дискретная графика. После завершения приложения система вернётся к встроенной графике и отключит NVIDIA.
Используйте optirun только для приложений, которые действительно требуют 3D-ускорения (игры, тяжёлые графические рендеры). Не запускайте optirun для оконного менеджера или рабочего стола: тогда дискретная карта будет постоянно включена и экономии не будет.
Как проверить, что всё работает
Для быстрой проверки можно использовать графический бенчмарк glxspheres.
Сначала — без optirun:
glxspheres
Затем — с optirun:
optirun glxspheres
Во втором случае вы должны увидеть более высокий FPS, так как задействована NVIDIA.

Когда Bumblebee может не сработать
- Старые или очень новые драйверы NVIDIA могут быть несовместимы с текущей сборкой Bumblebee. Проверяйте соответствие версий.
- Ноутбуки с нестандартной реализацией Optimus (произнесённой аппаратной связью) могут требовать специальных патчей или совсем другой схемы управления питанием.
- Использование кастомных модулей ядра, Secure Boot или несоответствующие версии kernel-headers могут помешать загрузке модуля nvidia.
Альтернативные подходы
- Nvidia Prime: официальное решение от NVIDIA, поддерживаемое в некоторых дистрибутивах (включает переключение на уровне сессии). Подходит тем, кто хочет переключать графику глобально и не боится перезапуска сессии.
- Bumblebee + primus: альтернативный рендерер с меньшими накладными расходами, иногда даёт лучшее быстродействие чем optirun/VirtualGL.
- Полная установка только NVIDIA-драйвера (без Optimus): уменьшает гибкость и сильно влияет на время работы от батареи.
Быстрая методичка (SOP)
- Резервная мера: сделайте бэкап важных данных.
- Добавьте PPA: sudo add-apt-repository ppa:bumblebee/stable
- Обновите пакеты: sudo apt-get update
- Установите: sudo apt-get install bumblebee bumblebee-nvidia
- Перезагрузите систему.
- Тест: optirun glxspheres — сравните FPS.
- Если не работает: проверьте логи /var/log/syslog и bumblebeed, убедитесь в отсутствии конфликтов с nvidia-driver.
Чеклист для администратора
- Установлен пакет bumblebee
- Установлен пакет bumblebee-nvidia
- Модуль nvidia загружается при запуске optirun
- glxspheres показывает рост FPS с optirun
- Нет ошибок Secure Boot или DKMS в логах
Критерии приёмки
- optirun успешно запускает приложение на NVIDIA.
- После выхода из приложения диск Нвидиа выключается (замеры батареи/нагрузки показывают снижение).
- Нет критических ошибок в /var/log/syslog при запуске optirun.
Короткий глоссарий
- Optimus — гибридная схема графики в ноутбуках: Intel + NVIDIA.
- Bumblebee — проект, дающий пользователям Linux возможность управлять Optimus.
- optirun — команда для запуска приложения с использованием NVIDIA через Bumblebee.
- primus — альтернатива VirtualGL, иногда быстрее.
Риски и рекомендации по смягчению
- Риск: несовместимость драйверов. Смягчение: тестировать в виртуальной среде или на неключевых машинах, читать релиз-ноты драйвера.
- Риск: потеря времени автономной работы при неправильной настройке. Смягчение: проверять, что optirun не запущен постоянно, и тестировать поведение при простое.
Советы для локализации и совместимости
- При использовании дистрибутивов на русском языке имена пакетов те же, но вывод сообщений в логах будет локализован; ищите англоязычные ключевые слова (bumblebeed, optirun, nvidia) в логах.
- Для дистрибутивов без PPA (например, Arch) используйте пакеты из официального репозитория или AUR.
Заключение
NVIDIA, возможно, со временем предоставит официальную кроссплатформенную реализацию Optimus для Linux, но пока Bumblebee остаётся практичным и надёжным решением для тех, кто хочет гибкости: экономить батарею и одновременно запускать требовательные графические приложения на дискретной карте по запросу.
Важно: сохраняйте резервные копии и внимательно читайте логи при отладке драйверов. Удачи с настройкой!