Fedora : Installer les pilotes NVidia (valable pour NVidia Optimus aussi)
Table des matières
Une carte Optimus est une carte NVidia Hybride, couplée avec une puce intégrée Intel.
Le but de cette techno est d'améliorer l'autonomie d'un portable, et n'est présente que dans ceux-ci.
Sous Windows, c'est :
Ainsi, le PC, quand il n'a pas besoin de puissance graphique, on ne tourne que sur Intel.
A partir de Fedora 25, Le pilote NVidia est pleinement fonctionnel avec Optimus. Il suffit d'installer le pilote disponible dans RPM Fusion.
Dans un premier temps, installer les dépôts RPM Fusion : https://www.linuxtricks.fr/wiki/fedora-ajouter-des-depots-supplementaires
Ensuite, installer le pilote NVidia "akmod" :
Ce pilote se recompilera automatiquement au boot si le noyau est changé.
Installer éventuellement xorg-x11-drv-nvidia-cuda (pour supporter CUDA, NVENC) :
Ensuite on reboot pour prendre en compte le pilote NVidia et que le module soit compilé au boot :
On peut installer VirtualGL et faire un test :
On voit que la carte NVidia est utilisée.
Et c'est tout, ça fonctionne !
Je n'ai pas de retours sur l'autonomie et si la carte NVidia est utilisée en permanence ou non, puisque ma batterie est HS.
Aucun paramétrage n'est à faire dans Steam ou utres applications pour prendre en compte la carte NVidia. Les jeux sont lancés automatiquement et le rendu est fait avec NVidia.
Concernant les encodeurs, avec le paquet xorg-x11-drv-nvidia-cuda vous pouvez utiliser directement l'encodeur nvenc sans configuration particulière. Elle est pas belle la vie ?
Un projet libre, nommé bumblebee est né pour pallier à ce problème, d'utiliser un fichier Xorg.nvidia pour lancer une application avec le pilote NVidia.
Mais avec seulement bumblebee installé, les deux cartes graphiques fonctionnent toujours. Même lorsque la NVidia n'est pas sollicitée.
En parallèle de bumblebee, on a bbswitch qui permet justement de couper l'alimentation de la carte NVidia lorsqu'aucune application 'optirun' n'est exécutée. (Optirun étant la commande permettant d'exécuter une application avec la carte graphique NVidia).
Ces deux logiciels (bumblebee et bbswith) fonctionnent en duo, avec le pilote NVidia installé à côté pour "reproduire" la technologie incluse dans le driver NVidia.
Sans bumblebee et bbswitch => Autonomie de 1h30 avec la batterie.
Sans les mêmes conditions avec bumblebee + bbswitch => Autonomie de 4h30 avec la batterie sans qu'aucune application 3D ne tourne avec la commande 'optirun'.
Nous avons besoin de VirtualGL
On importe ensuite les dépôts RPM des projets Bumblebee :
Fedora 22 :
Fedora 23 :
Puis on installe enfin notre bumblebee :
On peut aussi installer primus
Une fois l'opération terminée, il faut rebooter
Maintenant que bumblebee est installé, on peut tester les performances.
Maintenant que bumblebee est installé, on peut tester les performances.
Si on n'utilise pas la commande optirun, on constate que la carte utilisée est Intel :
Maintenant, on teste avec la commande optirun, et on constate que la carte NVidia est utilisée :
Pour accéder au panneau NVidia il faut utiliser aussi la commande optirun :
Et voilà, amusez vous bien
Si bumblebee ne se lance pas au redémarrage, l'activer et le démarrer (mais normalement c'est fait à l'installation) :
Si la communication ne se fait pas et que l'erreur suivante est présente) :
Vérifier que l'utilisateur en cours fasse partie du groupe bumblebee
S'il n'en fait pas partie, l'ajouter :
Introduction
Présentation
Une carte Optimus est une carte NVidia Hybride, couplée avec une puce intégrée Intel.
Le but de cette techno est d'améliorer l'autonomie d'un portable, et n'est présente que dans ceux-ci.
Le principe
Sous Windows, c'est :
- On tourne sur le chipset intégré Intel. Le pilote NVidia éteint la NVidia.
- Quand il y a de la demande de 3D, le pilote NVidia active celle-ci, et l’application utilise la NVidia.
- Quand l'application est fermée, la carte NVidia est de nouveau éteinte.
Ainsi, le PC, quand il n'a pas besoin de puissance graphique, on ne tourne que sur Intel.
Installation
A partir de Fedora 25, Le pilote NVidia est pleinement fonctionnel avec Optimus. Il suffit d'installer le pilote disponible dans RPM Fusion.
Dans un premier temps, installer les dépôts RPM Fusion : https://www.linuxtricks.fr/wiki/fedora-ajouter-des-depots-supplementaires
Ensuite, installer le pilote NVidia "akmod" :
Code BASH :
dnf install xorg-x11-drv-nvidia akmod-nvidia
Ce pilote se recompilera automatiquement au boot si le noyau est changé.
Installer éventuellement xorg-x11-drv-nvidia-cuda (pour supporter CUDA, NVENC) :
Code BASH :
dnf install xorg-x11-drv-nvidia-cuda
Ensuite on reboot pour prendre en compte le pilote NVidia et que le module soit compilé au boot :
Code BASH :
reboot
Tests
On peut installer VirtualGL et faire un test :
Code BASH :
dnf install VirtualGL
Code BASH :
glxspheres64 Polygons in scene: 62464 Visual ID of window: 0x21 Context is Direct OpenGL Renderer: GeForce GT 650M/PCIe/SSE2 172.888624 frames/sec - 192.943704 Mpixels/sec
On voit que la carte NVidia est utilisée.
Et c'est tout, ça fonctionne !
Je n'ai pas de retours sur l'autonomie et si la carte NVidia est utilisée en permanence ou non, puisque ma batterie est HS.
Configurer ses jeux, encodeurs et autre
Aucun paramétrage n'est à faire dans Steam ou utres applications pour prendre en compte la carte NVidia. Les jeux sont lancés automatiquement et le rendu est fait avec NVidia.
Concernant les encodeurs, avec le paquet xorg-x11-drv-nvidia-cuda vous pouvez utiliser directement l'encodeur nvenc sans configuration particulière. Elle est pas belle la vie ?
ARCHIVE OBSOLETE
L'histoire de Bumblebee OBSOLETE
Un projet libre, nommé bumblebee est né pour pallier à ce problème, d'utiliser un fichier Xorg.nvidia pour lancer une application avec le pilote NVidia.
Mais avec seulement bumblebee installé, les deux cartes graphiques fonctionnent toujours. Même lorsque la NVidia n'est pas sollicitée.
En parallèle de bumblebee, on a bbswitch qui permet justement de couper l'alimentation de la carte NVidia lorsqu'aucune application 'optirun' n'est exécutée. (Optirun étant la commande permettant d'exécuter une application avec la carte graphique NVidia).
Ces deux logiciels (bumblebee et bbswith) fonctionnent en duo, avec le pilote NVidia installé à côté pour "reproduire" la technologie incluse dans le driver NVidia.
Sans bumblebee et bbswitch => Autonomie de 1h30 avec la batterie.
Sans les mêmes conditions avec bumblebee + bbswitch => Autonomie de 4h30 avec la batterie sans qu'aucune application 3D ne tourne avec la commande 'optirun'.
Installation OBSOLETE
Nous avons besoin de VirtualGL
Code BASH :
dnf install VirtualGL
On importe ensuite les dépôts RPM des projets Bumblebee :
Caché :
Fedora 19 :
Fedora 20 :
Fedora 21 :
Code BASH :
yum --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora19/noarch/bumblebee-release-1.0-1.noarch.rpm yum --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora19/noarch/bumblebee-nonfree-release-1.0-1.noarch.rpm
Fedora 20 :
Code BASH :
yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora20/noarch/bumblebee-release-1.1-1.noarch.rpm yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora20/noarch/bumblebee-nonfree-release-1.1-1.noarch.rpm
Fedora 21 :
Code BASH :
yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora21/noarch/bumblebee-release-1.2-1.noarch.rpm yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora21/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm
Fedora 22 :
Code BASH :
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora22/noarch/bumblebee-release-1.2-1.noarch.rpm dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora22/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm
Fedora 23 :
Code BASH :
dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora23/noarch/bumblebee-release-1.2-1.noarch.rpm dnf -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora23/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm
Puis on installe enfin notre bumblebee :
Code BASH :
dnf install bumblebee-nvidia
On peut aussi installer primus
Code BASH :
dnf install primus
Une fois l'opération terminée, il faut rebooter
Tests OBSOLETE
Maintenant que bumblebee est installé, on peut tester les performances.
Maintenant que bumblebee est installé, on peut tester les performances.
Si on n'utilise pas la commande optirun, on constate que la carte utilisée est Intel :
Code BASH :
adrien@superlinux: ~ $ glxspheres Polygons in scene: 62464 Visual ID of window: 0x21 Context is Direct OpenGL Renderer: Mesa DRI Intel(R) Ivybridge Mobile 59.973940 frames/sec - 66.930917 Mpixels/sec
Maintenant, on teste avec la commande optirun, et on constate que la carte NVidia est utilisée :
Code BASH :
adrien@superlinux: ~ $ optirun glxspheres Polygons in scene: 62464 Visual ID of window: 0x21 Context is Direct OpenGL Renderer: GeForce GT 650M/PCIe/SSE2 172.888624 frames/sec - 192.943704 Mpixels/sec
Accéder à NVidia settings OBSOLETE
Pour accéder au panneau NVidia il faut utiliser aussi la commande optirun :
Code BASH :
optirun -b none nvidia-settings -c :8
Et voilà, amusez vous bien
Erreurs courantes OBSOLETE
Si bumblebee ne se lance pas au redémarrage, l'activer et le démarrer (mais normalement c'est fait à l'installation) :
Code BASH :
systemctl enable bumblebeed.service
systemctl start bumblebeed.service
Si la communication ne se fait pas et que l'erreur suivante est présente) :
Code TEXT :
[ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group [ERROR]Could not connect to bumblebee daemon - is it running?
Vérifier que l'utilisateur en cours fasse partie du groupe bumblebee
Code BASH :
id
Code TEXT :
uid=1000(adrien) gid=1001(adrien) groupes=1001(adrien),7(lp),10(wheel),14(uucp),18(audio),19(cdrom),27(video),35(games),80(cdrw),85(usb),100(users),440(plugdev),441(scanner),994(bumblebee),995(vboxusers),1000(guest)
S'il n'en fait pas partie, l'ajouter :
Code BASH :
usermod -G bumblebee -a nomutilisateur