Установка bumblebee kali linux

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 :

Command FPS Score Min FPS Max FPS
optirun unigine-heaven 25.0 630 16.4 36.1
optirun -c jpeg unigine-heaven 24.2 610 9.5 36.8
optirun -c rgb unigine-heaven 25.1 632 16.6 35.5
optirun -c yuv unigine-heaven 24.9 626 16.5 35.8
optirun -c proxy unigine-heaven 25.0 629 16.0 36.1
optirun -c xv unigine-heaven 22.9 577 15.4 32.2
Читайте также:  Windows process log file

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

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

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

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

Пример запуска 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, то проделайте следующее:

1. Удалите драйвер:

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

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

[ERROR]Cannot access secondary GPU: No devices detected

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

В этом случае вам следует переместить файл /etc/X11/xorg.conf.d/20-intel.conf куда-нибудь в другое место,а затем перезапустите 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 из конфигурации загрузчика (подробнее 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

Читайте также:  Windows media player window server 2012

Источник

secnum / bumblebee_kali.md

This is a Bumblebee installation and configuration procedure. It runs on a fully updated Kali Linux 2018.2. To avoid possible errors, I started with a new installation. You must have a laptop computer with a Nvidia graphics card that supports Optimus technology.

On Windows, Nvidia drivers allow Optimus technology to be exploited: when you are not using graphic resources that are too greedy, it is the CPU’s 3D chipset that performs the calculations leaving the graphics card at rest. When you start a game, 3D calculations are then supported by the GPU. Among other things, this reduces electricity consumption and reduces the ventilation of your laptop. On GNU/Linux, it’s more complicated. Nvidia’s proprietary drivers do not support Optimus on this operating system. You must therefore use a third party software to have the same behavior as on Windows.

The Bumblebee server disables the discrete video card if no client is detected (if power management is enabled which is the default setting). This is done by keeping track of programs that request Bumblebee to run themselves on the discrete nvidia card. On such requests, a X server is started which makes use of the nvidia card. Because the frames cannot directly be displayed on the display due to the Optimus design, VirtualGL was used to copy frames to the visible display which runs on the integrated GPU. It has now been replaced by a more adapted solutions, primus.

We’re checking to see if the nouveau module is loaded. This is the open driver for Nvidia GPUs.

We try to disable it but it’s impossible because it’s in use.

We prevent it from starting during the machine start-up. Create the file if needed.

The modules nouveau and nvidia are also blacklisted in the GRUB configuration.

We regenerate GRUB and initramfs.

The module nouveau is no longer loaded. We check which driver is used.

Install the following packages. bbswitch is available in the repositories.

We launch bbswitch module.

We check if if launched well. If anything comes up, it’s okay.

We install the Nvidia stack.

We check that the proprietary driver is launched.

Download virtualgl then install it because it is not present in the repositories.

We add root to bumblebee group.

We launch the bumblebee service.

We disable the Nvidia graphics card.

To launch a 3D software with GPU rendering.

In another shell while the above program is running.

Another option to launch a 3D software with GPU rendering.

Autostart bumblebeed service.

Switch off Intel Turbo Boost at login which heats my computer and therefore ventilates for nothing.

To switch on Intel Turbo Boost back.

Launch glxgears with the integrated Intel chipset. The framerate should be approximately the same as the monitor refresh rate.

Launch glxgears with the integrated Intel chipset without framerate restriction.

Launch glxgears with the Nvidia GPU. The framerate should be approximately the same as the monitor refresh rate.

Launch glxgears with the Nvidia GPU without framerate restriction.

Check if bbswitch is working while Nvidia GPU is running.

Note : use primusrun instead of optirun. Optirun uses VirtualGL backend but it does not play nice with some applications. In addition, performance is improved. In my case, with optirun 2500 FPS against 4000 FPS with primusrun.

Читайте также:  Windows live id sign in helper что это такое

Enable HDMI video output

Create the following file.

Modify the following file like this.

Connect the HDMI wire then run.

List the available screens (main screen + virtual). A virtual screen is an external screen.

To set up the HDMI display (VIRTUAL1), as a copy of the laptop main screen (LVDS).

In some cases, the default resolution proposed for virtual output is not the maximum resolution. The problem can be overcome by defining a variable containing this resolution.

This variable can be used to automate the launch of an HDMI device whose maximum resolution is unknown.

Источник

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

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

Содержание

Bumblebee [ править ]

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

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

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

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

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

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

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

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

5) Узнаем BusID видеокарт [1] :

нас интересует 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, предлагающий некоторое улучшение производительности.

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

9) Устанавливаем 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 сам подставит нужную команду.

Источник

Оцените статью