SDB:Bumblebee
Рекомендуемые статьи
Связанные статьи
Проект Bumblebee (шмель) представляет собой набор инструментов, разработанный с целью поддержки технологии Nvidia Optimus в Linux.
В начале не было ничего. Простые пользователи, имеющие железо с гибридной графикой и при этом не понимающие аппаратную часть железа, пребывали в недоумении, почему старые методы установки драйвера Nvidia теперь не работают — это проявлялось убитым 3D-ускорением, низким разрешением и т.д.
Первой концепцией поддержки гибридной графики в Linux было предоставлено статьей Дэйвом Эрли (Dave Airlie), разработчиком nouveau. Он назвал свой проект Prime, который являлся долгосрочным решением поддержки гибридной графики в Linux.
Затем Мартин Джул (Martin Juhl)предложил обходной путь, основанный на использовании проекта VirtualGL, где запуск приложений карточки Nvidia происходит за счёт использования дополнительного X-сервера и перенаправления 3D-рендеринга между иксами через буфер работающей карточки Intel. Изначально проект обзывался Prime-NG , но т. к. решение поддержки гибридной графики не было похоже на замысел проекта Prime, то проект был переименован в Bumblebee.
Проект развивался, увеличивалось число участников. Появлялись новые возможности, росла онлайн база, содержащая пользовательские конфигурации и т.д. И в какой-то момент некоторые из участников стали более активны по отношению к проекту, чем MrMEEE , считавшие, что команда будет работать куда лучше, чем единое хранилище пользователя, на котором только владелец может одобрять изменения — замедляет проект. В результате разногласия по поводу подхода развития привело к расколу проекта и возникновению команды — TBP/Bumblebee, в то время как MrMEEE продолжает свое развитие под именем Ironhide для Ubuntu.
По словам разработчиков: команда сосредоточена на разработке стабильной и надежной версии Bumblebee с четким разделением развития и стабильной ветки.
Репозитории
Для загрузки необходимых пакетов воспользуйтесь следующими источниками:
Version: Tumbleweed Bumblebee/Nvidia: http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Tumbleweed/
Version: 15.4 Bumblebee/Nvidia: http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Leap_15.4/
Version: 15.3 Bumblebee/Nvidia: http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_Leap_15.3/
Version: 13.2 Bumblebee/Nvidia: http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_13.2/
Version: 13.1 Bumblebee/Nvidia: http://download.opensuse.org/repositories/X11:/Bumblebee/openSUSE_13.1/
Установка
Для проверки поддержки технологии Nvidia Optimus выполните:
$ /sbin/lspci -vnn | grep '\[030[02]\]'
Если отображаются две строки, то Ваша аппаратная часть соответствует технологии.
Далее рассматривается установка с помощью консольного менеджера пакетов zypper (CLI), Вы также можете воспользоваться графическим инструментом YaST (GUI):
1. Добавьте репозитории Bumblebee и Nvidia:
# zypper ar -f <URI> Nvidia_Bumblebee
- где <URI> - одна из ссылок указанных выше, выберите в соответствии с Вашей версией дистрибутива openSUSE.
- Вы можете просто скопировать нижеприведенную строку:
# zypper ar -f http://download.opensuse.org/repositories/X11:/Bumblebee\ /$(lsb_release -ds | grep -iwo '[a-z]\+ [a-z]\+ \?[.0-9]\?\+' | tr ' ' '_')/ Nvidia_Bumblebee
2. Обновите репо, скачиванием метаданных и преобразование их в кэш::
# zypper ref -f
3. Установите заголовочные и make файлы ядра:
# zypper in -f $(rpm -qa kernel-`uname -r|cut -f3 -d"-"`|sed 's/\([0-9].*\)/devel-\1/')
4. Установите драйвер и собственно сам проект:
# zypper in bumblebee primus bbswitch bbswitch-kmp-`uname -r|cut -f3 -d"-"` nvidia-bumblebee
5. Удостоверьтесь, что в файле конфигурации /etc/bumblebee/bumblebee.conf используется драйвер nvidia:
Driver=nvidia
6. Убедитесь, что пользователь находится в списке групп bumblebee и video:
$ groups $USER
- в ответ Вы должны получить строку подобную этой (см. Возможные проблемы):
~> groups $USER zhniven : users video vboxusers bumblebee
7. Перезагрузитесь:
$ systemctl reboot
Использование
Перед вызовом клиента обязательно должен быть запущен демон:
# bumblebeed --daemon
Для получения дополнительных параметров запуска воспользуйтесь:
$ bumblebeed --help
Для автоматического запуска Bumblebee во время загрузки системы выполните:
# systemctl enable bumblebeed
Чтобы использовать дискретную видеокарту Nvidia, выполните:
$ optirun <имя_приложения>
Возможные проблемы
Как добавить пользователя в группу bumblebee и video?
Создайте в системе группу bumblebee:
# groupadd bumblebee
- добавьте пользователя в список групп:
# usermod -a -G bumblebee,video $USER
Во время установки драйвера nvidia в консоли отображается приблизительно следующее:
error: %pre(dkms-nvidia-295.33-25.1.x86_64) scriptlet failed, exit status 254
error: dkms-nvidia-295.33-25.1.x86_64: install failed
Вероятней всего, Вы прервали установку, удалите самораспаковывающийся архив *.run и повторите установку снова:
# rm -f /usr/src/NVIDIA-Linux-*.run
Во время запуска bumblebeed --daemon в консоли появляется ошибка: [ERROR]Module 'nvidia' is not found?
Сравните версии пакетов:
$ rpm -qa kernel-`uname -r | cut -f3 -d"-"`*
При попыткe задействовать карту с помощью клиента (optirun) в консоли появляется текст:
Aborting because fallback start is disabled.
или
Возможные решения:
- идентификатор шины
BusID "PCI:1:0:0"
может быть иным. Посмотрите последние строчки файла журналирование/var/log/messages
; - убедитесь, что питание карты включено :
# cat /proc/acpi/bbswitch
- отредактируйте в файле конфигурации
/etc/bumblebee/bumblebee.conf
следующие строки:
TurnCardOffAtExit=true PMMethod=bbswitch
Не работают эффекты рабочего стола при использовании встроенной карты Intel?
- удалите файл конфигурации xorg.conf сгенерированный утилитой nvidia-xconfig, если таковой имеется:
# rm -f /etc/X11/xorg.conf
- или переместите его
# mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
Не работают 3D-эффекты, а при запуске 3D-приложений в консоли сыпется: Xlib: extension "GLX" missing on display ":0"?
Возможные решения:
- переустановите GLX библиотеки сервера Xorg и не только:
# zypper in -f xorg-x11-server mesa xorg-x11-driver-video mesa-libgl1
Нет никакой экономии энергии?
Убедитесь, что параметры загрузки ядра не содержат следующие: noacpi, pci=noacpi, acpi=off
. Текущие параметры загрузки, Вы можете посмотреть, выполнив:
$ cat /proc/cmdline
В логах появляется следующая ошибка:[ERROR]Cannot access secondary GPU - error: [XORG] (EE) [drm] failed to open device?
Если в системе установлен драйвер nvidia и при этом присутствует загруженный модуль nouveau, тогда убедитесь в следующем:
- в наличии строчки Driver=nvidia конфигурационного файла
/etc/bumblebee/bumblebee.conf
- в системе должен присутствовать один из файлов с содержимым blacklist nouveau:
$ grep -R nouveau /etc/modprobe.d/*
Если же Вы хотите использовать драйвер nouveau, тогда см. логи.
Значения FPS optirun glxgears меньше, чем glxgears?
Попробуйте вместо инструмента для тестирования glxgears, воспользоваться optirun glxspheres. Для повышения FPS используйте различные методы сжатия, например:
$ optirun -c yuv glxspheres
Для просмотра вариантов обратитесь к справочной странице:
$ optirun --help
Файлы
Конфигурация:
/etc/bumblebee/bumblebee.conf
- /etc/bumblebee/xorg.conf.nouveau
- /etc/bumblebee/xorg.conf.nvidia
- /usr/bin/primusrun
Логи:
/var/log/Xorg.8.log
- /var/log/messages