Installer Bumblebee sur Ubuntu
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
- Merci à Osgyan (en) pour How to Install Bumblebee and Latest Nvidia Drivers on Wily Werewolf Ubuntu 15.10 (en)
- Merci aux auteurs de Bumblebee : Optimus sous GNU/Linux (fr) dans la documentation Ubuntu francophone (fr).
- Merci à Applicative Game Development (en) pour Getting NVIDIA/Intel to Work Together on Ubuntu (en).