Skip to content
Lekensteyn edited this page Aug 6, 2011 · 16 revisions

This page tries to establish a design for Bumblebee. It's aimed at developers. Developers are encouraged to discuss the points below.

Installation

The installation is distinct from configuration because it has to be executed only once.

  • clean the mess named bumblebee-enablecard and other unremoved files
  • uninstall previous Bumblebee versions
  • display driver installation (currently nvidia, nouveau as option for the future)
  • (Ubuntu, possibly others?) to avoid breaking the Intel display, set the default GL lib to Mesa
  • virtualgl
  • setup initscript / daemon (for now, it starts the X server)
  • add a group which is allowed to use bumblebee
  • (old approach) add user to sudoers to allow enabling/disabling the X server using the initscript

Installation configuration

  • Xorg settings (these should propably be moved to Installation, at leas):
  • ConnectedMonitor setting, known values: CRT-0, DFP-0
  • BusID setting, should be the PCI Bus ID of the nVidia card

Runtime configuration

We should allow for unattended installations and choose sensible defaults.

  • VGL preferences (see also User's Guide for VirtualGL: 19 Advanced configuration)
  • VGL_COMPRESS sets the compression method for framestransport possible values: yuv, jpeg, proxy (VGL default), xv (BB default), rgb
  • VGL_DISPLAY sets the X display to be used (this display is started by Bumblebee)
  • VGL_READBACK - "Specify the method used by VirtualGL to read back the 3D pixels from the 3D graphics hardware" (???)
  • VGL_LOG - set to /dev/null to discard all VGL messages, an empty value should default to outputting to stderr
  • Bumblebee-specific stuff:
  • ECO_MODE - if not connected to a power supply, new programs do not use the nvidia card when ECO_MODE is set to 1.

Daemon

  • should start X server on request
    • Use a single X server for now, see issue 8
  • allow for driver switching? (probably not, user should edit configfile and restart bumblebee)
  • automatically shutdown X when unused for configurable seconds?
  • initscript starts the bumblebee daemon which is located in /usr/sbin/bumblebee or /usr/local/sbin/bumblebee.
  • Options for bumblebee:
    • --version - prints the version on the first line. License and credits on the next lines
    • -d - this option is passed by the initscript to instruct starting a daemon
    • If no options are passed, a informational message should be printed. Probably the possible options

Configuration

  • /etc/bumblebee was a file in 1.7.10 and before (PPA 2.2.0 and before), containing the version number like:

    Bumblebee Version: 2.2.0 Worst. Decision. Ever. From now on, we'll create a directory for storing configuration files. (/etc/bumblebee/) The version will be stored in the daemon file.

Clone this wiki locally