Skip to content
Lekensteyn edited this page Aug 15, 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 (a seperate script)
  • uninstall previous Bumblebee versions
  • display driver installation (currently nvidia, nouveau as option for the future)
  • check for dependencies, but do not install these: virtualgl; nvidia (in the future: nvidia or nouveau at your choice)
  • (Ubuntu, possibly others?) to avoid breaking the Intel display, set the default GL lib to Mesa
  • setup initscript that starts the daemon (bumblebee -d)
  • add a group which is allowed to use bumblebee and instruct users to add themselves to it (XXX: do we need to add users from a certain group to it?)
  • (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 ConnectedMonitor "DFP,CRT" works fine
  • 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
  • Communication is made through a named pipe, current commands are "start" (start X), other commands cause the daemon to check whether the X server needs to be shut down
  • enable/disable the card (currently it loads/unloads the drivers)
  • load/ unload the drivers and unload any conflicting drivers
  • automatically shutdown X when unused for configurable seconds? (not implemented, optirun notifies the daemon when done)
  • initscript starts the bumblebee daemon which is located in /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
    • --help shows the possible options
    • --status shows whether the daemon is started or not (used in the initscript). Might be removed in the future
    • 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.

  • /etc/bumblebee/xorg.conf.$DRIVER is used when starting X

Clone this wiki locally