« Bumblebee » : différence entre les versions

De Wiki doc

(→‎Mise en œuvre : Ajout de VirtualGL 32bits + suppr du sha256.)
m (Correction de fautes.)
Ligne 8 : Ligne 8 :
=Mise en œuvre=
=Mise en œuvre=


'''Lister les cartes réseaux'''
'''Lister les cartes graphiques'''
  lspci | egrep "VGA|3D|Display"
  lspci | egrep "VGA|3D|Display"


Ligne 70 : Ligne 70 :
  apt install libglu1-mesa:i386 libgl1-nvidia-glx:i386 libgl1-nvidia-glx
  apt install libglu1-mesa:i386 libgl1-nvidia-glx:i386 libgl1-nvidia-glx


{{info|Cela aura pour effet de corriger l'erreur bloquante ''glxspheres[2034]: segfault at 70 ip 00000000f4f634d0 sp 00000000f37b4094 error 4 in i965_dri.so'' du /var/log.syslog.}}
{{info|Cela aura pour effet de corriger l'erreur bloquante ''glxspheres[2034]: segfault at 70 ip 00000000f4f634d0 sp 00000000f37b4094 error 4 in i965_dri.so'' du /var/log/syslog.}}


{{Astuce|Le fichier journal de Steam se trouve dans ''/tmp/dumps/UTILISATEUR_stdout.txt'' (astuce trouvée [https://steamcommunity.com/app/221410/discussions/0/846939071256105782/ ici]). Cela a été utile pour trouver la dépendance manquante grâce au message:
{{Astuce|Le fichier journal de Steam se trouve dans ''/tmp/dumps/UTILISATEUR_stdout.txt'' (astuce trouvée [https://steamcommunity.com/app/221410/discussions/0/846939071256105782/ ici]). Cela a été utile pour trouver la dépendance manquante grâce au message:

Version du 29 juillet 2018 à 14:19

Bumblebee est une implémentation libre de la technologie Optimus de Nvidia. Celui-ci vient s'ajouter aux pilotes graphiques dans une configuration couplant un GPU Intel et une carte vidéo Nvidia (généralement un PC portable).

Le principe est d'utiliser la plus part du temps la puce Intel (moins énergivore) pour les tâches courantes et d'exploiter la carte dédié Nvidia (plus puissante) pour des applications plus lourdes. Bumblebee est également équipé de bbswitch qui se charge de la gestion de l'énergie automatiquement.

Note: Les tests ont été effectués sur un Dell XPS 15 9550 sous Debian sid (buster) le 20/07/2018.

Mise en œuvre

Lister les cartes graphiques

lspci | egrep "VGA|3D|Display"

Confirmer l'usage actuel du pilote "nouveau"

lsmod | egrep -i "nouveau|vga_switcheroo"

Le désactiver

modprobe -r nouveau

Empêcher son exécution future

vim /etc/modprobe.d/nouveau-blacklist.conf
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

Installation des pilotes propriétaires et de bumblebee

apt install bumblebee-nvidia primus nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils xserver-xorg-video-nvidia linux-headers-$(uname -r)

Note: il faut bien sûr avoir définit les dépôts non-free dans le /etc/apt/sources.list pour pouvoir télécharger les pilotes propriétaires.


Ajout de l'utilisateur au groupe bumblebee

 adduser UTILISATEUR bumblebee

INFORMATION

À chaque mise à jour du noyau, penser à faire un dpkg-reconfigure nvidia-kernel-dkms si ce n'est pas fait automatiquement.

Pour pouvoir exploiter la carte Nvidia, il faut utiliser la commande optirun avec comme paramètre l'application qui doit utiliser le GPU dédié. Cette commande a besoin du paquet VirtualGL qui n'est pas dans les dépôts Debian (on se demande bien pourquoi vu que sans ça tout le reste ne sert à rien...). Nous allons l'installer manuellement.

Installer VirtualGL

wget https://sourceforge.net/projects/virtualgl/files/2.5.2/virtualgl_2.5.2_amd64.deb
wget https://sourceforge.net/projects/virtualgl/files/2.5.2/virtualgl32_2.5.2_amd64.deb
dpkg -i virtualgl*.deb

Exécuter une application avec la carte Nvidia

optirun vlc

ASTUCE

Pour afficher le panneau de configuration Nvidia, il faut taper la commande suivante: optirun nvidia-settings -c :8.

Sources de la section

Utiliser avec Steam

Steam peut exploiter bumblebee en passant un paramètre aux jeux. Cette opération nécessite quelques ajouts au système.

Ajout des dépôts 32 bits pour l'exécution des jeux Steam

dpkg --add-architecture i386
apt update

Ajouter les binaires VirtualGL dans la variable PATH

vim ~/.profile
PATH="$HOME/bin:/opt/VirtualGL/bin:$PATH"

Note: il suffit d'ajouter: /opt/VirtualGL/bin à la variable PATH déjà présente dans le .profile de votre utilisateur.

Installer OpenGL pour Nvidia

apt install libglu1-mesa:i386 libgl1-nvidia-glx:i386 libgl1-nvidia-glx

INFORMATION

Cela aura pour effet de corriger l'erreur bloquante glxspheres[2034]: segfault at 70 ip 00000000f4f634d0 sp 00000000f37b4094 error 4 in i965_dri.so du /var/log/syslog.

ASTUCE

Le fichier journal de Steam se trouve dans /tmp/dumps/UTILISATEUR_stdout.txt (astuce trouvée ici). Cela a été utile pour trouver la dépendance manquante grâce au message:


primus: fatal: failed to load any of the libraries: /usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1:/usr/lib/i386-linux-gnu/nvidia/libGL.so.1:/usr/lib/nvidia/libGL.so.1

/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory.

Désactiver le je-ne-sais-quoi qui fout la merde

vim /etc/environment
export LIBGL_DRI3_DISABLE=1

Enfin, dans Steam, allez dans votre bibliothèque et sélectionnez le jeu que vous voulez lancer avec Nvidia. Faites propriétés > DÉFINIR LES OPTIONS DE LANCEMENT > entrez primusrun %command%.

Sources de la section