Skip to content
Browse files

Merge branch 'hotfix-3.2.1' into 'master'

Bumblebee 3.2.1

Closes GH-394, GH-400
  • Loading branch information...
ArchangeGabriel committed Apr 26, 2013
2 parents 8d69a05 + 2adecd2 commit fb3d960fd8facbcfa58381701454c6853966a704
Showing with 76 additions and 20 deletions.
  1. +2 −4
  2. +0 −11 conf/xorg.conf.d/busid.conf
  3. +8 −0 conf/xorg.conf.nouveau
  4. +9 −1 conf/xorg.conf.nvidia
  5. +1 −1
  6. +53 −0 doc/RELEASE_NOTES_3_2_1
  7. +3 −3 src/bbsecondary.c
@@ -1,7 +1,7 @@
# -*- Makefile -*-

GITVERSION = $(shell "$(top_srcdir)/" "$(top_srcdir)")
relnotes = doc/RELEASE_NOTES_3_2
relnotes = doc/RELEASE_NOTES_3_2_1


@@ -23,9 +23,7 @@ endif
bin_SCRIPTS = scripts/bumblebee-bugreport

xconfddir = $(bumblebeedconfdir)/xorg.conf.d
xconfd_DATA = \
conf/xorg.conf.d/10-dummy.conf \
xconfd_DATA = conf/xorg.conf.d/10-dummy.conf

CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS)
EXTRA_DIST = scripts/systemd/ \

This file was deleted.

@@ -7,4 +7,12 @@ EndSection
Section "Device"
Identifier "DiscreteNvidia"
Driver "nouveau"

# If the X server does not automatically detect your VGA device,
# you can manually set it here.
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
# as you see in the commented example.
# This Setting is needed on Ubuntu 13.04.
# BusID "PCI:01:00:0"

@@ -9,6 +9,15 @@ Section "Device"
Driver "nvidia"
VendorName "NVIDIA Corporation"

# If the X server does not automatically detect your VGA device,
# you can manually set it here.
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
# as you see in the commented example.
# This Setting may be needed in some platforms with more than one
# nvidia card, which may confuse the proprietary driver (e.g.,
# trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
# BusID "PCI:01:00:0"

# Setting ProbeAllGpus to false prevents the new proprietary driver
# instance spawned to try to control the integrated graphics card,
# which is already being managed outside bumblebee.
@@ -23,4 +32,3 @@ Section "Device"
Option "UseEDID" "false"
Option "UseDisplayDevice" "none"

@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_INIT([bumblebee], [3.2])
AC_INIT([bumblebee], [3.2.1])
@@ -0,0 +1,53 @@
Version 3.2.1 - 26 April 2013

- [hotfix] Fixed Bumblebee 3.2 not working on a lot of setups.
This happened because of "Device" section splitting in xorg conf files.
- [fix] Fixed an issue where an empty XorgModulePath lead to -isolateDecide
being removed from Xorg start command line instead of -modulepath.

Important notes for packagers:
- In 3.2.1 release, we removed the bumblebee/xorg.conf.d/busid.conf file,
because it was avoiding X to start in cases widely common. If your packaging
system does not automatically remove it on upgrade to 3.2.1, then you will
still have a broken optirun. You either need to remove this file on package
upgrade or tell your distro users to do so, depending on your distro policy.
- In 3.2 release, we have extended our nvidia-specific udev rule file to add
device files (/dev/nvidia*) when the module is loaded (previously it would
only remove those files when the module is unloaded). Consequently, we also
changed its name. Some distributions, for example Gentoo, do not need to
install this rule file because they already have a similar mechanism in
place. Please also note that the rule file sets file permissions to 0666; you
may want to adjust it to set permissions/owner/group more strictly according
to your distribution's practice before installing. If you already use the
kernel module options to declare permissions, simply running nvidia-smi on
module load will do the job.

- bbswitch is independent of the driver; vga_switcheroo works for nouveau only.
See also the Known Issues section above and
- the video drivers must be unloadable. This means that it should not be
compiled into the kernel. When using dynamically built modules like nvidia,
be sure that the toolchain used for building the kernel matches the one that
is used for building the module. This means that Ubuntu mainline kernels do
not work and will cause crashes.
- VirtualGL performance is very dependent on the Transport method set. The
default "proxy" setting appears to perform bad in some situations. Try other
available settings like "rgb" or "yuv".
- in many cases, primus offers better performance; please try it and report
compatibility issues in primus tracker, if you find any; for now VirtualGL is
still preferred as the default autodetected render bridge, while primus is
being tested at larger scales before being released as default. Try it and
ensure everything you use works to help us build the best backend.

Known issues:
- vga-switcheroo won't survive suspension/hibernation (patch for newer Optimus
machines for OFF to work has been published in Kernel 3.3; a good patch for
suspend is still being prepared).
- bbswitch cannot disable the discrete nvidia card for the Dell Vostro 360
desktop with Synergy. If you have a machine using that technology, please
submit your machine information on:
- Some laptops (mainly Lenovo) are neither supported by bbswitch nor the video
drivers. See This is
fixed in Linux Kernel 3.9.
@@ -155,12 +155,12 @@ bool start_secondary(bool need_secondary) {
"-verbose", "3",
"-isolateDevice", pci_id,
"-modulepath", bb_config.mod_path, // keep last
enum {n_x_args = sizeof(x_argv) / sizeof(x_argv[0])};
if (!*bb_config.mod_path) {
x_argv[12] = 0; //remove -modulepath if not set
x_argv[n_x_args - 3] = 0; //remove -modulepath if not set
//close any previous pipe, if it (still) exists
if (bb_status.x_pipe[0] != -1){close(bb_status.x_pipe[0]); bb_status.x_pipe[0] = -1;}

0 comments on commit fb3d960

Please sign in to comment.
You can’t perform that action at this time.