Permalink
Browse files

Merge branch 'hotfix-3.2.1' into 'master'

Bumblebee 3.2.1

Closes GH-394, GH-400
2 parents 8d69a05 + 2adecd2 commit fb3d960fd8facbcfa58381701454c6853966a704 @ArchangeGabriel ArchangeGabriel committed Apr 26, 2013
Showing with 76 additions and 20 deletions.
  1. +2 −4 Makefile.am
  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 configure.ac
  6. +53 −0 doc/RELEASE_NOTES_3_2_1
  7. +3 −3 src/bbsecondary.c
View
@@ -1,7 +1,7 @@
# -*- Makefile -*-
GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)")
-relnotes = doc/RELEASE_NOTES_3_2
+relnotes = doc/RELEASE_NOTES_3_2_1
bumblebeedconfdir=$(sysconfdir)/bumblebee
@@ -23,9 +23,7 @@ endif
bin_SCRIPTS = scripts/bumblebee-bugreport
xconfddir = $(bumblebeedconfdir)/xorg.conf.d
-xconfd_DATA = \
- conf/xorg.conf.d/10-dummy.conf \
- conf/xorg.conf.d/busid.conf
+xconfd_DATA = conf/xorg.conf.d/10-dummy.conf
CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS)
EXTRA_DIST = scripts/systemd/bumblebeed.service.in \
@@ -1,11 +0,0 @@
-Section "Device"
- Identifier "DiscreteNvidia"
-# 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:02:00:0"
-EndSection
@@ -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"
+
EndSection
View
@@ -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"
EndSection
-
View
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
-AC_INIT([bumblebee], [3.2])
+AC_INIT([bumblebee], [3.2.1])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_SRCDIR([src/bbsocket.c])
#AC_CONFIG_HEADERS([config.h])
@@ -0,0 +1,53 @@
+Version 3.2.1 - 26 April 2013
+
+Highlights:
+ - [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.
+
+Notes:
+- bbswitch is independent of the driver; vga_switcheroo works for nouveau only.
+ See also the Known Issues section above and
+ https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
+- 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: https://bugs.launchpad.net/bugs/752542
+- Some laptops (mainly Lenovo) are neither supported by bbswitch nor the video
+ drivers. See https://github.com/Bumblebee-Project/bbswitch/issues/2. This is
+ fixed in Linux Kernel 3.9.
View
@@ -155,12 +155,12 @@ bool start_secondary(bool need_secondary) {
"-noreset",
"-verbose", "3",
"-isolateDevice", pci_id,
- "-modulepath",
- bb_config.mod_path,
+ "-modulepath", bb_config.mod_path, // keep last
NULL
};
+ 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.