Меню

bumblebee все о настройке

Bumblebee (Русский)

Эта страница нуждается в сопроводителе

Bumblebee — решение, позволяющее задействовать NVIDIA Optimus в ноутбуках с GNU/Linux, что включает в себя два графических адаптера с двумя разными профилями энергопотребления, использующих общий фреймбуфер.

This article or section needs expansion.

Contents

Bumblebee: Optimus для Linux

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

Bumblebee — программное решение, базирующееся на VirtualGL и драйверах ядра, позволяющее использовать дискретный GPU, не имеющий физического подключения к экрану.

Bumblebee реализует технологию Optimus в два шага:

  • Дискретная видеокарта производит рендеринг на виртуальном дисплее, в то время как выводом на экран занимается интегрированная видеокарта.
  • Дискретная видеокарта отключается от питания, когда ее вычислительная способность не требуется.

Установка

Перед установкой Bumblebee убедитесь, что поддержка NVIDIA Optimus включена в настройках BIOS, а дисплей подключён к интегрированной видеокарте.

  • bumblebee — Основной пакет, содержащий демон и клиентское ПО.
  • mesa — Свободную реализацию спецификации OpenGL.
  • Соответствующую версию драйвера NVIDIA, см. NVIDIA#Installation.
  • Опционально установите xf86-video-intel — драйвер Xorg (Русский) для Intel.

Также включите репозиторий multilib для поддержки 32-битных приложений и установите:

  • lib32-virtualgl — виртуальный дисплей для рендеринга в 32-битных приложениях.
  • lib32-nvidia-utils или lib32-nvidia-340xx-utilsAUR (должен соответствовать версии обычного драйвера NVIDIA).

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

Также включите службу bumblebeed.service , перезагрузите систему и см. раздел #Использование.

Использование

Тестирование

Запуск программ

Для примера, запуск firefox с параметром ‘www.yandex.ru’:

Для просмотра документации и всех опций optirun используйте следующую команду:

Настройка

Вы можете настраивать bumblebee под свои нужды, редактируя /etc/bumblebee/bumblebee.conf

Оптимизация скорости

Использование VirtualGL в качестве ‘моста’

Bumblebee отрисовывает, используя дискретную видеокарту NVIDIA на виртуальном дисплее с помощью VirtualGL,а затем отрисовка происходит на ‘реальном’ дисплее, когда интегрированная видеокарта передает изображение на X Server . Для увеличения скорости передачи ‘Виртуальный дисплей’->’X Server’ можно использовать различные методы сжатия,вызывая optirun с опцией -c

Таблица производительности с ASUS N550JV приложение для тестирования: unigine-heaven AUR :

Для использования метода сжатия по-умолчанию выставьте переменную VGLTransport c параметром compress-method в /etc/bumblebee/bumblebee.conf :

Использование Primus

Primus позволяет увеличить производительность и энергосбережение за счет неиспользования VirtualGL. Преимущества Primus перед стандартным Optirun :

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

Пример запуска glxspheres32 :

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

Энергосбережение

Для регулировки потребления энергии на десктопном ПК используется пакет bbswitch

Для настройки включения и отключения видеокарты редактируйте опции load_state и unload_state . Подробнее смотрите BBSwitch-документация.

Некорректная инициализация запуска видеокарты NVIDIA

Если ваша видеокарта NVidia некорректно запускается после последнего выключения, то следует выставить опцию TurnCardOffAtExit=false в /etc/bumblebee/bumblebee.conf — видеокарта будет выключаться каждый раз после отключения демона bumblebee. Для того,чтобы видеокарта NVidia постоянно работала,следует включить соответствующий сервис:

Для более подробного разбора всех возможностей Bumblebee посетите английскую ветку wiki: bumblebee

Решение проблем

[VGL] ERROR: Could not open display :8

Проблема заключается в VirtualGL, в этом случае можно использовать primus

Если использование драйвера NVIDIA решило проблему,то отредактируйте файл /etc/bumblebee/xorg.conf.nvidia и измените опцию ConnectedMonitor на CRT-0 .

Xlib: extension «GLX» missing on display «:0.0»

Если вы установили видеодрайвер с сайта NVIDIA, то проделайте следующее:

2. Удалите сгенерированный NVIDIA конфигурационный файл Xorg:

3. Установите корректный видеодрайвер — см. раздел #Установка.

[ERROR]Cannot access secondary GPU: No devices detected

В некоторых случаях запуск optirun возвращает сообщение об ошибке вида:

В этом случае вам следует переместить файл /etc/X11/xorg.conf.d/20-intel.conf куда-нибудь в другое место,а затем сделать restart the bumblebeed демона и это должно сработать. Если же вам нужны настройки модулей Intel, то соедините файл /etc/X11/xorg.conf.d/20-intel.conf c /etc/X11/xorg.conf .

Закомментируйте строку Drive в /etc/X11/xorg.conf.d/10-monitor.conf .

Если вы используете драйвер nouveau попробуйте поменять его на nvidia драйвер.

Вам требуется обозначить видеокарту (в конфигурационных файлах /etc/X11/xorg.conf.d ), используя корректный BusID получив его выводом команды lspci ;

NVIDIA(0): Failed to assign any connected display devices to X screen 0

Если консоль возвращает сообщения об ошибке вида:

Вы должны поменять эту строку в /etc/bumblebee/xorg.conf.nvidia :

Failed to initialize the NVIDIA GPU at PCI:1:0:0 (GPU fallen off the bus / RmInitAdapter failed!)

Добавьте rcutree.rcu_idle_gp_delay=1 в kernel parameters из bootloader конфигурации (подробнее BBS post для примера).

Could not load GPU driver

Если консоль возвращает сообщения об ошибке вида:

И вы пробуете загрузить модуль nvidia, но получаете это:

Читайте также:  при установке драйвера защиты на компьютер

Это происходит потому,что видеодрайвер не может синхронизироваться с ядром, к примеру,если вы установили последний драйвер nvidia, но не можете обновить ядро. Полное обновление системы поможет исправить эту проблему. Если проблема не ушла,то попробуйте вручную скомпилировать пакеты nvidia для своего ядра. Потребуются: nvidia-dkms или скомпилированный nvidia из ABS.

NOUVEAU(0): [drm] failed to set drm interface version

Примите во внимание то,что nouveau драйвер в стадии тестирования. Как написано тут: here, лучшим выходом будет — установка официального драйвера nvidia.

/dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

Это можно решить, добавив в /etc/bumblebee/xorg.conf.nvidia несколько строк. (Подробнее тут):

ERROR: ld.so: object ‘libdlfaker.so’ from LD_PRELOAD cannot be preloaded: ignored

Вы пытаетесь запустить 32-битное приложение. Решит проблему запуск приложения через primus

источник

Bumblebee

Содержание

Технология Optimus

Технологии Optimus была создана для оптимизации энергопотребления и увеличения времени работы ноутбука от батареи. Принцип работы технологии Optimus очень прост. Ноутбуки оснащаются двумя видеокартами: intel и nvidia. При использовании ресурсоёмких приложений или игр Nvidia «забирает» на себя работу по обработке изображения, результаты которые передает Intel для дальнейшего их вывода на экран. Когда вся работа с тяжелыми графическими приложениями завершена, видеокарта Nvidia выключается. И дальше обработкой изображения и его выводом занимается только видеокарта Intel.

В Windows поддержка технологии Optimus очень хорошо реализована и пользователю не надо думать когда стоит включать видеокарту Nvidia, т.к. она сама определяет когда нужна её «помощь» и включается. А вот в линуксе не все так просто. Nvidia не обеспечила линукс полной поддержкой данной технологии. Поэтому необходимо устанавливать и использовать дополнительные приложения, и включать видеокарту nvidia вручную при необходимости.

Поддержка технологии Optimus в основном началась с видеокарт серии 4ххМ (M = mobile мобильная). Если в вашем ноутбуке установлены 2 видеокарты: одна карта nvidia серии 4ххМ и новее и вторая карта intel, то скорее всего ваш ноутбук поддерживает технологию Optimus. Наличие видеокарт можно посмотреть в терминале командой:

Более точно ответить на вопрос «поддерживает ли ноутбук технологию Optimus» можно только посмотрев его техническую документацию.

Проект Bumblebee

Одно из приложений обеспечивающего поддержку технологии NVIDIA Optimus на ноутбуках с операционными системами GNU/Linux предоставляет проект Bumblebee. Используя Bumblebee вы можете дать команду видеокарте Nvidia заняться процессом обработки изображения, которое потом будет выведено через карту Intel. Когда nvidia не используется, у нее отключается питания, за счет чего уменьшается энергопотребление, ноутбук слабее нагревается и кулеры меньше шумят.

Полный комплект Bumblebee состоит из следующих компонентов:

Читайте также:  сброс на заводские настройки htc код

источник

Nvidia optimus, настройка и запуск bumblebee

Данное руководство предназначено для счастливых обладателей ноутбуков с nvidia optimus на борту, которые используют дистрибутивы на базе бранча p8. Начиная с p9 bumblebee не поддерживается, всё должно работать без bumblebee.

Содержание

Bumblebee [ править ]

Рассмотрим процесс установки, настройки и запуска видеокарты nvidia посредством bumblebee.

установка [ править ]

1) Обновляем систему и ядро до текущего бранча:

2) Узнаем версию установленного ядра:

3) Для запуска проприетарного драйвера nvidia удалим модуль ядра от свободного драйвера nouveau (обратите внимание на сборку ядра):

и установим (если не установлены) проприетарный драйвер nvidia и модуль ядра для него:

4) Устанавливаем bbswitch для своего ядра и bumblebee:

настройка [ править ]

нас интересует BusID, относящийся к intel (00:02.0)

6) Создадим файл (от рута, можно через mc) /etc/X11/xorg.conf следующего содержания с указанием ранее полученного BusID:

Для тех у кого артефакты при скроллинге, файл будет выглядеть так:

7) Удаляем файл /etc/X11/xorg.conf.d/10-monitor.conf и желательно удалить компонент от альтератора alterator-x11 или не производить через него настройку дисплея.

проверка [ править ]

8) Перезагружаем систему и проверяем работоспособность видеокарты nvidia:

должно получится нечто подобное:

Можно запускать нужные приложения на видеокарте nvidia командой от пользователя, входящего в группу xgrp [2] :

Запущенные без optirun приложения будут работать на видеокарте intel, при этом видеокарта nvidia будет выключена.

P.S. Замечено на р6, что на 32-х разрядных системах bumblebee падает после отработки команды optirun, для повторного запуска команды optirun необходимо перезапустить сервис bumblebee:

Замечено что в ряде случаев сервис bumblebeed не стартует автоматически при перезагрузке системы и требуется его включение в явном виде. Для проверки следует выполнить команду:

Если сервис не активен (вместо active выводится unknown или что-подобное), то для включения сервиса нужно выполнить команду:

после чего имеет смысл перезагрузить систему.

Primus [ править ]

Для nvidia optimus собран primus, предлагающий некоторое улучшение производительности.

установка [ править ]

проверка [ править ]

Команда запуска приложений через primus:

Также остается возможность запуска приложений через VirtualGL:

Для отключения вертикальной синхронизации у primus:

Для нормальной работы 32-х разрядных приложений и игр на 64-х разрядной системе через primus должны быть установлены следующие пакеты: i586-primus, i586-xorg-drv-intel, i586-xorg-dri-intel, i586-nvidia_glx, i586-nvidia_glx_common.

Для запуска игр в steam на карте nvidia primus (особенно 32-х разрядный) обязателен к установке! Чтобы игра стартовала через primus необходимо в свойствах запуска игры в steam прописать следующее:

где %command% переменная (не надо ее менять на команду запуска игры), steam сам подставит нужную команду.

источник

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

Adblock
detector