Bumblebee linux что это

Содержание
  1. Bumblebee (Русский)
  2. Contents
  3. Bumblebee: Optimus для Linux
  4. Установка
  5. Использование
  6. Тестирование
  7. Запуск программ
  8. Настройка
  9. Оптимизация скорости
  10. Использование VirtualGL в качестве ‘моста’
  11. Использование Primus
  12. Энергосбережение
  13. Некорректная инициализация запуска видеокарты NVIDIA
  14. Решение проблем
  15. [VGL] ERROR: Could not open display :8
  16. Xlib: extension «GLX» missing on display «:0.0»
  17. [ERROR]Cannot access secondary GPU: No devices detected
  18. NVIDIA(0): Failed to assign any connected display devices to X screen 0
  19. Failed to initialize the NVIDIA GPU at PCI:1:0:0 (GPU fallen off the bus / RmInitAdapter failed!)
  20. Could not load GPU driver
  21. NOUVEAU(0): [drm] failed to set drm interface version
  22. /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
  23. ERROR: ld.so: object ‘libdlfaker.so’ from LD_PRELOAD cannot be preloaded: ignored
  24. Announcing Bumblebee 3.2.1 — «Tumbleweed»
  25. Project
  26. Bumblebee
  27. Contents
  28. Bumblebee: Optimus for Linux
  29. Installation
  30. Usage
  31. General usage
  32. Configuration
  33. Optimizing speed
  34. Using VirtualGL as bridge
  35. Primusrun
  36. Pvkrun
  37. Power management
  38. Default power state of NVIDIA card using bbswitch
  39. Enable NVIDIA card during shutdown
  40. Enable NVIDIA card after waking from suspend
  41. Multiple monitors
  42. Outputs wired to the Intel chip
  43. Output wired to the NVIDIA chip
  44. Multiple NVIDIA Graphics Cards or NVIDIA Optimus
  45. Troubleshooting
  46. [VGL] ERROR: Could not open display :8
  47. Xlib: extension «GLX» missing on display «:0.0»
  48. [ERROR]Cannot access secondary GPU: No devices detected
  49. NVIDIA(0): Failed to assign any connected display devices to X screen 0
  50. Failed to initialize the NVIDIA GPU at PCI:1:0:0 (GPU fallen off the bus / RmInitAdapter failed!)
  51. Failed to initialize the NVIDIA GPU at PCI:1:0:0 (Bumblebee daemon reported: error: [XORG] (EE) NVIDIA(GPU-0))
  52. Could not load GPU driver
  53. NOUVEAU(0): [drm] failed to set drm interface version
  54. [ERROR]Cannot access secondary GPU — error: X did not start properly
  55. /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
  56. ERROR: ld.so: object ‘libdlfaker.so’ from LD_PRELOAD cannot be preloaded: ignored
  57. Fatal IO error 11 (Resource temporarily unavailable) on X server
  58. Video tearing
  59. Bumblebee cannot connect to socket
  60. Running X.org from console after login (rootless X.org)
  61. Using Primus causes a segmentation fault
  62. Primusrun mouse delay (disable VSYNC)
  63. Primus issues under compositing window managers
  64. Problems with bumblebee after resuming from standby
  65. Optirun does not work, no debug output
  66. Broken power management with kernel 4.8
  67. Lockup issue (lspci hangs)
  68. Discrete card always on and acpi warnings
  69. Screen 0 deleted because of no matching config section
  70. Erratic, unpredictable behaviour
  71. Discrete card always on and nvidia driver cannot be unloaded
  72. Discrete card is silently activated when egl is requested by some application
  73. Framerate drops to 1 FPS after a fixed period of time
  74. Application cannot record screen

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

Для использования метода сжатия по-умолчанию выставьте переменную 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

Источник

Announcing Bumblebee 3.2.1 — «Tumbleweed»

The Bumblebee Project proudly presents version 3.2.1 of Bumblebee, a project aiming to support NVIDIA Optimus technology under Linux.

Читайте также:  Facecam 315 драйвер для windows 10

Bumblebee 3.2.1 has been released on 26 April 2013. (release notes)
This version fixes the main issue of Bumblebee 3.2.
Previous release notes available here.

Project

If you thought that Bumblebee was dead, it’s still alive and kicking! See http://wiki.bumblebee-project.org/FAQ

The project has been fully rewritten in the C programming language, providing increased performance and reliability, mostly thanks to a new developer in the project, Jaron Viëtor (a.k.a. Thulinma). That bring the number of main developers to 4, the three other ones being Peter Wu (a.k.a. Lekensteyn), Joaquín Ignacio Aramendía (a.k.a. Samsagax) and Bruno Pagani (a.k.a. ArchangeGabriel).

The most important new feature is automatic power management support. Yes, since Bumblebee 3.0 «Tumbleweed», you’ve got Power Management working out of the box, without any manual configuration needed. That’s not the only one though, the full changelog could be found at http://bumblebee-project.org/release-notes-3.0

This rewrite of the project was an occasion for updating available documentations, wikis and instructions that can be found on the web. However, please be aware that we cannot update all sites that exist and that a lot misinformation is still spread. The best way to be sure to have the latest instructions is checking our wiki or follow us at Twitter, Facebook or Google Plus.

Currently, packages for ArchLinux, Ubuntu, Mandriva and many others have been packaged. Installation instructions can be found here!

We currently do not accept donations. The Paypal account referred by the tinyurl «Bumblebee Project» belongs to Martin Juhl (MrMEEE), former developer of Bumblebee and his own fork, Ironhide.

The team is looking for users having the necessary knowledge to build packages for other popular distributions, if you’re interested please join #bumblebee-dev on Freenode. We’ll then link our documentation to the one from your distribution.

Источник

Bumblebee

Bumblebee is an effort to make NVIDIA Optimus enabled laptops work in GNU/Linux systems. Such feature involves two graphics cards with two different power consumption profiles plugged in a layered way sharing a single framebuffer.

Contents

Bumblebee: Optimus for Linux

Optimus Technology is a hybrid graphics implementation without a hardware multiplexer. The integrated GPU manages the display while the dedicated GPU manages the most demanding rendering and ships the work to the integrated GPU to be displayed. When the laptop is running on battery supply, the dedicated GPU is turned off to save power and prolong the battery life. It has also been tested successfully with desktop machines with Intel integrated graphics and an nVidia dedicated graphics card.

Bumblebee is a software implementation comprising two parts:

  • Render programs off-screen on the dedicated video card and display it on the screen using the integrated video card. This bridge is provided by VirtualGL or primus (read further) and connects to a X server started for the discrete video card.
  • Disable the dedicated video card when it is not in use (see the #Power management section)

It tries to mimic the Optimus technology behavior; using the dedicated GPU for rendering when needed and power it down when not in use. The present releases only support rendering on-demand, automatically starting a program with the discrete video card based on workload is not implemented.

Installation

Before installing Bumblebee, check your BIOS and activate Optimus (older laptops call it «switchable graphics») if possible (BIOS does not have to provide this option). If neither «Optimus» or «switchable» is in the BIOS, still make sure both GPUs will be enabled and that the integrated graphics (igfx) is initial display (primary display). The display should be connected to the onboard integrated graphics, not the discrete graphics card. If integrated graphics had previously been disabled and discrete graphics drivers installed, be sure to remove /etc/X11/xorg.conf or the conf file in /etc/X11/xorg.conf.d related to the discrete graphics card.

  • bumblebee — The main package providing the daemon and client programs.
  • mesa — An open-source implementation of the OpenGL specification.
  • An appropriate version of the NVIDIA driver, see NVIDIA#Installation.
  • Optionally install xf86-video-intel — Intel Xorg driver.

For 32-bit application support, enable the multilib repository and install:

  • lib32-virtualgl — A render/display bridge for 32 bit applications.
  • lib32-nvidia-utils or lib32-nvidia-340xx-utilsAUR (match the version of the regular NVIDIA driver).

In order to use Bumblebee, it is necessary to add your regular user to the bumblebee group:

Also enable bumblebeed.service . Reboot your system and follow #Usage.

Usage

Install mesa-demos and use glxgears to test if if Bumblebee works with your Optimus system:

If it fails, try the following commands:

If the window with animation shows up, Optimus with Bumblebee is working.

General usage

For example, start Windows applications with Optimus:

For another example, open NVIDIA Settings panel with Optimus:

For a list of all available options, see optirun(1) .

Configuration

You can configure the behaviour of Bumblebee to fit your needs. Fine tuning like speed optimization, power management and other stuff can be configured in /etc/bumblebee/bumblebee.conf

Optimizing speed

One disadvantage of the offscreen rendering methods is performance. The following table gives a raw overview of a Lenovo ThinkPad T480 in an eGPU setup with NVIDIA GTX 1060 6GB and unigine-heaven AUR benchmark (1920×1080, max settings, 8x AA):

Command Display FPS Score Min FPS Max FPS
optirun unigine-heaven internal 20.7 521 6.9 26.6
primusrun unigine-heaven internal 36.9 930 15.3 44.1
unigine-heaven internal in Nvidia-xrun 51.3 1293 8.4 95.6
unigine-heaven external in Nvidia-xrun 56.1 1414 8.4 111.9

Using VirtualGL as bridge

Bumblebee renders frames for your Optimus NVIDIA card in an invisible X Server with VirtualGL and transports them back to your visible X Server. Frames will be compressed before they are transported — this saves bandwidth and can be used for speed-up optimization of bumblebee:

To use another compression method for a single application:

The method of compress will affect performance in the GPU/CPU usage. Compressed methods will mostly load the CPU. However, uncompressed methods will mostly load the GPU.

Here is a performance table tested with ASUS N550JV laptop and benchmark app 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

To use a standard compression for all applications, set the VGLTransport to compress-method in /etc/bumblebee/bumblebee.conf :

You can also play with the way VirtualGL reads back the pixels from your graphic card. Setting VGL_READBACK environment variable to pbo should increase the performance. Compare these two:

Primusrun

primusrun (from package primus ) is becoming the default choice, because it consumes less power and sometimes provides better performance than optirun / virtualgl . It may be run separately, but it does not accept options as optirun does. Setting primus as the bridge for optirun provides more flexibility.

For 32-bit applications support on 64-bit machines, install lib32-primus (multilib must be enabled).

Usage (run separately):

Usage (as a bridge for optirun ):

The default configuration sets virtualgl as the bridge. Override that on the command line:

Or, set Bridge=primus in /etc/bumblebee/bumblebee.conf and you will not have to specify it on the command line.

Pvkrun

pvkrun from the package primus_vk is a drop-in replacement for primusrun that enables to run Vulkan-based applications. A quick check can be done with vulkaninfo from vulkan-tools .

Power management

This article or section is a candidate for merging with Hybrid graphics#Using bbswitch.

The goal of the power management feature is to turn off the NVIDIA card when it is not used by Bumblebee any more. If bbswitch (for linux ) or bbswitch-dkms (for linux-lts or custom kernels) is installed, it will be detected automatically when the Bumblebee daemon starts. No additional configuration is necessary. However, bbswitch is for Optimus laptops only and will not work on desktop computers. So, Bumblebee power management is not available for desktop computers, and there is no reason to install bbswitch on a desktop. (Nevertheless, the other features of Bumblebee do work on some desktop computers.)

To manually turn the card on or off using bbswitch, write into /proc/acpi/bbswitch:

Default power state of NVIDIA card using bbswitch

The default behavior of bbswitch is to leave the card power state unchanged. bumblebeed does disable the card when started, so the following is only necessary if you use bbswitch without bumblebeed.

Читайте также:  Windows 10 home скрины

Set load_state and unload_state module options according to your needs (see bbswitch documentation).

To run bbswitch without bumblebeed on system startup, do not forget to add bbswitch to /etc/modules-load.d , as explained in Kernel module#Automatic module loading with systemd.

Enable NVIDIA card during shutdown

On some laptops, the NVIDIA card may not correctly initialize during boot if the card was powered off when the system was last shutdown. Therefore the Bumblebee daemon will power on the GPU when stopping the daemon (e.g. on shutdown) due to the (default) setting TurnCardOffAtExit=false in /etc/bumblebee/bumblebee.conf . Note that this setting does not influence power state while the daemon is running, so if all optirun or primusrun programs have exited, the GPU will still be powered off.

When you stop the daemon manually, you might want to keep the card powered off while still powering it on on shutdown. To achieve the latter, add the following systemd service (if using bbswitch ):

Then enable the nvidia-enable.service unit.

Enable NVIDIA card after waking from suspend

The bumblebee daemon may fail to activate the graphics card after suspending. A possible fix involves setting bbswitch as the default method for power management in /etc/bumblebee/bumblebee.conf :

If the above fix fails, try the following command:

To rescan the PCI bus automatically after a suspend, create a script as described in Power management#Hooks in /usr/lib/systemd/system-sleep.

Multiple monitors

Outputs wired to the Intel chip

If the port (DisplayPort/HDMI/VGA) is wired to the Intel chip, you can set up multiple monitors with xorg.conf. Set them to use the Intel card, but Bumblebee can still use the NVIDIA card. One example configuration is below for two identical screens with 1080p resolution and using the HDMI out.

You need to probably change the BusID for both the Intel and the NVIDIA card.

The BusID is 0:2:0. Note that lspci outputs hexadecimal values, but Xorg expects decimal values.

Output wired to the NVIDIA chip

On some notebooks, the digital Video Output (HDMI or DisplayPort) is hardwired to the NVIDIA chip. If you want to use all the displays on such a system simultaneously, the easiest solution is to use intel-virtual-output, a tool provided in the xf86-video-intel driver set, as of v2.99. It will allow you to extend the existing X session onto other screens, leveraging virtual outputs to work with the discrete graphics card. Commandline usage is as follows:

If this command alone does not work, you can try running it with optirun to enable the discrete graphics and allow it to detect the outputs accordingly. This is known to be necessary on Lenovo’s Legion Y720.

If no target displays are parsed on the commandline, intel-virtual-output will attempt to connect to any local display. The detected displays will be manageable via any desktop display manager such as xrandr or KDE Display. The tool will also start bumblebee (which may be left as default install). See the Bumblebee wiki page for more information.

When run in a terminal, intel-virtual-output will daemonize itself unless the -f switch is used. Games can be run on the external screen by first exporting the display export DISPLAY=:8 , and then running the game with optirun game_bin , however, cursor and keyboard are not fully captured. Use export DISPLAY=:0 to revert back to standard operation.

If intel-virtual-output does not detect displays, or if a no VIRTUAL outputs on «:0» message is obtained, then try editing the following two files as follows (and rebooting):

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

See [3] for further configurations to try. If the laptop screen is stretched and the cursor is misplaced while the external monitor shows only the cursor, try killing any running compositing managers.

If you do not want to use intel-virtual-output, another option is to configure Bumblebee to leave the discrete GPU on and directly configure X to use both the screens, as it will be able to detect them.

As a last resort, you can run 2 X Servers. The first will be using the Intel driver for the notebook’s screen. The second will be started through optirun on the NVIDIA card, to show on the external display. Make sure to disable any display/session manager before manually starting your desktop environment with optirun. Then, you can log in the integrated-graphics powered one.

Disabling screen blanking

You can disable screen blanking when using intel-virtual-output with xset by setting the DISPLAY environment variable appropriately (see DPMS for more info):

Multiple NVIDIA Graphics Cards or NVIDIA Optimus

If you have multiple NVIDIA graphics cards (eg. when using an eGPU with a laptop with another built in NVIDIA graphics card) or NVIDIA Optimus, you need to make a minor edit to /etc/bumblebee/xorg.conf.nvidia . If this change is not made the daemon may default to using the internal NVIDIA card.

First, determine the BusID of the external card:

In this case, the BusID is 0b:00.0 .

Now edit /etc/bumblebee/xorg.conf.nvidia and add the following line to Section «Device» :

Troubleshooting

[VGL] ERROR: Could not open display :8

There is a known problem with some wine applications that fork and kill the parent process without keeping track of it (for example the free to play online game «Runes of Magic»)

This is a known problem with VirtualGL. As of bumblebee 3.1, so long as you have it installed, you can use Primus as your render bridge:

If this does not work, an alternative walkaround for this problem is:

If using NVIDIA drivers a fix for this problem is to edit /etc/bumblebee/xorg.conf.nvidia and change Option ConnectedMonitor to CRT-0 .

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

If you tried to install the NVIDIA driver from NVIDIA website, this is not going to work.

1. Uninstall that driver in the similar way:

2. Remove generated by NVIDIA Xorg configuration file:

3. (Re)install the correct NVIDIA driver: #Installation

[ERROR]Cannot access secondary GPU: No devices detected

In some instances, running optirun will return:

In this case, you will need to move the file /etc/X11/xorg.conf.d/20-intel.conf to somewhere else, restart the bumblebeed daemon and it should work. If you do need to change some features for the Intel module, a workaround is to merge /etc/X11/xorg.conf.d/20-intel.conf to /etc/X11/xorg.conf .

It could be also necessary to comment the driver line in /etc/X11/xorg.conf.d/10-monitor.conf .

If you are using the nouveau driver you could try switching to the nvidia driver.

You might need to define the NVIDIA card somewhere (e.g. file /etc/bumblebee/xorg.conf.nvidia ), using the correct BusID according to lspci output:

Observe that the format of lspci output is in HEX, while in xorg it is in decimals. So if the output of lspci is, for example, 0a:00.0 the BusID should be PCI:10:0:0 .

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

If the console output is:

If the following line in /etc/bumblebee/xorg.conf.nvidia does not exist, you can add it to the «Device» section:

If it does already exist, you can try changing it to:

After that, restart the Bumblebee service to apply these changes.

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

Add rcutree.rcu_idle_gp_delay=1 to the kernel parameters of the bootloader configuration (see also the original BBS post for a configuration example).

Failed to initialize the NVIDIA GPU at PCI:1:0:0 (Bumblebee daemon reported: error: [XORG] (EE) NVIDIA(GPU-0))

You might encounter an issue when after resume from sleep, primusrun or optirun command does not work anymore. there are two ways to fix this issue — reboot your system or execute the following command:

And try to test if primusrun or optirun works.

If the above command did not help, try finding your NVIDIA card’s bus ID:

For example, above command showed 01:00.0 so we use following commands with this bus ID:

Could not load GPU driver

If the console output is:

and if you try to load the nvidia module you get:

This could be because the nvidia driver is out of sync with the Linux kernel, for example if you installed the latest nvidia driver and have not updated the kernel in a while. A full system update , followed by a reboot into the updated kernel, might resolve the issue. If the problem persists you should try manually compiling the nvidia packages against your current kernel, for example with nvidia-dkms or by compiling nvidia from the ABS.

Читайте также:  Windows update 80072efe windowsupdate dt000 как исправить

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

Consider switching to the official nvidia driver. As commented here, nouveau driver has some issues with some cards and bumblebee.

[ERROR]Cannot access secondary GPU — error: X did not start properly

Set the «AutoAddDevices» option to «true» in /etc/bumblebee/xorg.conf.nvidia (see here):

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

This could be worked around by appending following lines in /etc/bumblebee/xorg.conf.nvidia (see here):

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

You probably want to start a 32-bit application with bumblebee on a 64-bit system. See the «For 32-bit. » section in #Installation. If the problem persists or if it is a 64-bit application, try using the primus bridge.

Fatal IO error 11 (Resource temporarily unavailable) on X server

Change KeepUnusedXServer in /etc/bumblebee/bumblebee.conf from false to true . Your program forks into background and bumblebee do not know anything about it.

Video tearing

Video tearing is a somewhat common problem on Bumblebee. To fix it, you need to enable vsync. It should be enabled by default on the Intel card, but verify that from Xorg logs. To check whether or not it is enabled for NVIDIA, make sure nvidia-settings is installed and run:

X Server XVideo Settings -> Sync to VBlank and OpenGL Settings -> Sync to VBlank should both be enabled. The Intel card has in general less tearing, so use it for video playback. Especially use VA-API for video decoding (e.g. mplayer-vaapi and with -vsync parameter).

Refer to Intel#Tearing on how to fix tearing on the Intel card.

If it is still not fixed, try to disable compositing from your desktop environment. Try also disabling triple buffering.

Bumblebee cannot connect to socket

You might get something like:

If you are already in the bumblebee group ( $ groups | grep bumblebee ), you may try removing the socket /var/run/bumblebeed.socket .

Another reason for this error could be that you have not actually turned on both GPUs in your BIOS, and as a result, the Bumblebee daemon is in fact not running. Check the BIOS settings carefully and be sure intel graphics (integrated graphics — may be abbreviated in BIOS as something like igfx) has been enabled or set to auto, and that it is the primary gpu. Your display should be connected to the onboard integrated graphics, not the discrete graphics card.

If you mistakenly had the display connected to the discrete graphics card and intel graphics was disabled, you probably installed Bumblebee after first trying to run Nvidia alone. In this case, be sure to remove the /etc/X11/xorg.conf or . /20-nvidia. configuration files. If Xorg is instructed to use Nvidia in a conf file, X will fail.

Running X.org from console after login (rootless X.org)

Using Primus causes a segmentation fault

In some instances, using primusrun instead of optirun will result in a segfault. This is caused by an issue in code auto-detecting faster upload method, see FS#58933.

The workaround is skipping auto-detection by manually setting PRIMUS_UPLOAD environment variable to either 1 or 2, depending on which one is faster on your setup.

Primusrun mouse delay (disable VSYNC)

For primusrun , VSYNC is enabled by default and as a result, it could make mouse input delay lag or even slightly decrease performance. Test primusrun with VSYNC disabled:

If you are satisfied with the above setting, create an alias (e.g. alias primusrun=»vblank_mode=0 primusrun» ).

VSYNC enabled FPS Score Min FPS Max FPS
FALSE 31.5 793 22.3 54.8
TRUE 31.4 792 18.7 54.2

Primus issues under compositing window managers

Since compositing hurts performance, invoking primus when a compositing WM is active is not recommended.[4] If you need to use primus with compositing and see flickering or bad performance, synchronizing primus’ display thread with the application’s rendering thread may help:

This makes primus display the previously rendered frame.

Problems with bumblebee after resuming from standby

In some systems, it can happens that the nvidia module is loaded after resuming from standby. One possible solution for this is to install the acpi_call and acpi package.

Optirun does not work, no debug output

Users are reporting that in some cases, even though Bumblebee was installed correctly, running

gives no output at all, and the glxgears window does not appear. Any programs that need 3d acceleration crashes:

Apparently it is a bug of some versions of virtualgl. So a workaround is to install primus and lib32-primus and use it instead:

By default primus locks the framerate to the vrate of your monitor (usually 60 fps), if needed it can be unlocked by passing the vblank_mode=0 environment variable.

Usually there is no need to display more frames han your monitor can handle, but you might want to for benchmarking or to have faster reactions in games (e.g., if a game need 3 frames to react to a mouse movement with vblank_mode=0 the reaction will be as quick as your system can handle, without it will always need 1/20 of second).

You might want to edit /etc/bumblebee/bumblebee.conf to use the primus render as default. If after an update you want to check if the bug has been fixed just use optirun -b virtualgl .

See this forum post for more information.

Broken power management with kernel 4.8

This article or section is a candidate for merging with Hybrid graphics#Using bbswitch.

If you have a newer laptop (BIOS date 2015 or newer), then Linux 4.8 might break bbswitch (bbswitch issue 140) since bbswitch does not support the newer, recommended power management method. As a result, the GPU may fail to power on, fail to power off or worse.

As a workaround, add pcie_port_pm=off to your Kernel parameters.

Alternatively, if you are only interested in power saving (and perhaps use of external monitors), remove bbswitch and rely on Nouveau runtime power-management (which supports the new method).

Lockup issue (lspci hangs)

See NVIDIA Optimus#Lockup issue (lspci hangs) for an issue that affects new laptops with a GTX 965M (or alike).

Discrete card always on and acpi warnings

Add acpi_osi=Linux to your Kernel parameters. See [6] and [7] for more information.

Screen 0 deleted because of no matching config section

Modify the file xorg.conf.nvidia: First add Screen 0 «nvidia» to the section ServerLayout and then create a new section.

Erratic, unpredictable behaviour

If Bumblebee starts/works in a random manner, check that you have set your Network configuration#Local network hostname resolution (details here).

Discrete card always on and nvidia driver cannot be unloaded

Make sure nvidia-persistenced.service is disabled and not currently active. It is intended to keep the nvidia driver running at all times [8], which prevents the card being turned off.

Discrete card is silently activated when egl is requested by some application

If the discrete card is activated by some program (lets say mpv with gpu backend) and stays on. The problem might be libglvnd which is loading nvidia drivers and activating the card.

To disable this set environment variable __EGL_VENDOR_LIBRARY_FILENAMES (see documentation) to only load mesa config file:

Package nvidia-utils (and its branches) is installing nvidia config file at /usr/share/glvnd/egl_vendor.d/10_nvidia.json which has priority and causes libglvnd to load nvidia drivers and enable the card.

The other solution is to remove the config file provided by nvidia-utils.

Framerate drops to 1 FPS after a fixed period of time

With the nvidia 440.36 driver, the DPMS setting is enabled by default resulting in a timeout after a fixed period of time (e.g. 10 minutes) which causes the frame rate to throttle down to 1 FPS. To work around this, add the following line to the «Device» section in /etc/bumblebee/xorg.conf.nvidia

Application cannot record screen

Using Bumblebee, applications cannot access the screen to identify and record it. This happens, for example, using obs-studio with NVENC activated. To solve this, disable the bridging mode with optirun -b none command .

Источник

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