Vous êtes ici : Accueil / Ubuntu GNU/Linux / Système / Installer Bumblebee sur Ubuntu

Installer Bumblebee sur Ubuntu

Par Pierre-Yves Landuré Dernière modification 24/07/2016 11:55

Ce guide automatise l'installation de Bumblebee avec une carte Nvidia sur Ubuntu. Bumblebee permet d'utiliser la technologie Optimus qui permet d'économiser l'énergie d'un PC portable en utilisant la carte 3D uniquement quand elle est nécessaire. Le reste du temps, c'est la carte graphique intégrée à la carte mère qui est utilisée.

Ce guide est testé sur:

  • Ubuntu 15.10 Wily Werewolf

Prérequis

Ce guide nécessite que les pilotes propriétaires Nvidia soit installés (via "Paramètres système" -> "Logiciels & Mises à jour" -> "Pilotes additionnels". Une alternative est d'installer la dernière version des pilotes:

command apt-cache pkgnames  'nvidia-' \
  | command egrep '^nvidia-[0-9]*$' \
  | command sort \
  | command tail -n 1 \
  | sudo xargs apt-get -y install

Installation

Détectez la version des pilotes Nvidia installée:

nvidiaVersion="$(command find '/lib/modules' -name 'nvidia_*.ko' -exec basename '{}' \; \
  | command grep -v 'uvm' \
  | command sed -e 's/.*_\(.*\)\.ko/\1/' \
| command egrep -v 'modeset' \
  | command sort \
  | command tail -n 1)"

Détectez le BusID de la carte Nvidia:

busId="$(command lspci \
  | command egrep -i '3D .* NVIDIA' \
  | command cut -c -7 | command tr '.' ':')"

Convertissez le BusID au format décimal:

busIdBus="$(echo "${busId}" | command cut -c 1-2)"
busIdDevice="$(echo "${busId}" | command cut -c 4-5)"
busIdFunction="$(echo "${busId}" | command cut -c 7-7)"
busId="PCI:$((16#${busIdBus})):$((16#${busIdDevice})):$((16#${busIdFunction}))"

Installez les logiciels nécessaires:

sudo apt-get install bumblebee primus nvidia-settings nvidia-prime mesa-utils

Configurez Bumblebee pour utiliser les pilotes Nvidia actifs:

sudo sed -i -e 's/^Driver=.*$/Driver=nvidia/' \
  -e "s/nvidia-[0-9][0-9]*/nvidia-${nvidiaVersion}/g" \
  -e "s/nvidia-current/nvidia-${nvidiaVersion}/g" \
  '/etc/bumblebee/bumblebee.conf'

Configurez Bumblebee pour que la carte Nvidia soit éteinte quand elle n'est pas utilisée:

sudo sed -i -e 's/^TurnCardOffAtExit=.*$/TurnCardOffAtExit=true/g' '/etc/bumblebee/bumblebee.conf'

Configurez bbswitch pour que la carte Nvidia soit éteinte au démarrage:

echo '# Load bbswitch with default 3D card state to off."
options bbswitch load_state=0' \
  | sudo tee '/etc/modprobe.d/bbswitch.conf'

Configurez le BusId de la carte NVidia dans le fichier xorg.conf de bumblebee:

sudo sed -i -e "s/^[# ]*BusID.*\$/    BusID \"${busId}\"/" '/etc/bumblebee/xorg.conf.nvidia'

Activez le démon:

sudo systemctl enable bumblebeed

Redémarrez le démon:

sudo service bumblebeed restart

Autorisez l'utilisateur à utiliser Bumblebee:

sudo gpasswd -a "${USER}" 'bumblebee'

Testez la configuration:

command su "${USER}" -l -c "command optirun glxinfo"

Redémarrez pour prendre en compte les modifications:

sudo reboot

Lancez les applications nécessitant une accélération 3D via la commande "optirun". Par exemple:

optirun steam

Remarque: Pour une intégration optimisée des jeux Steam, lisez Optimus and Steam for Linux (en).

Remerciements