Bonjour à tous !

J'ai commencé la création de cet outil depuis un bon moment déjà comme une forme d'apprentissage du script bash et surtout pour palier à ce moment-là au manque de pilotes propriétaires dans les distributions.
Par la suite, les pilotes distribués sont arrivés, et mon petit script sembla alors superflu. Néanmoins, j'ai fini par y revenir parce l'arrivé des matériel Optimus était très mal géré et il fallait constamment attendre les rpm dédiés, les mise à jour au dernières version, etc.

Aujourd'hui, c'est un outil graphique basé sur bash et zenity qui gére à peu près tout et n'importe quoi, qui se nourrit de paquet des serveurs FTP et de repos GIT uniquement.
Version officiel, beta, Optimus en bumblebee, primus ou le tout récent Prime sans compter la gestion de sauvegardes des pilotes ou la configuration des xorg.conf tout comme un contrôle des dernières mise à jour directement depuis le FTP Nvidia.

Je l'ai assez récemment déposé sur GITHUB et je vous invite à le tester.
Il a été entièrement été développé sous Fedora, donc peu d'erreur ou pas, si ce n'est mes propres erreurs de scripting car je continue d'apprendre le bash à travers lui.
Zenvidia, puisque tel est son petit nom, se veut multi distro, il a encore cependant des lacunes dans ce domaines par faute de retour utilisateur, mais j'espère que ça viendra.

https://github.com/wildtruc/zenvidia

Pour le moment, le projet est concentré sur la version en anglais, mais la pack FR ne devrait pas tardé à être mis à jour.
Et pour ceux que ça intéressent, je suis ouvert à toutes suggestions, correction, ma connaissance du bash s'améliore, mais soyons franc, je suis loin de pouvoir prétendre au terme de "hacker".
Hello, et merci pour ce script, beau boulot ! Peux-tu s'il te plaît détailler la partie concernant Prime ?
Bien sûr.
Prime est un concept différent de Bumblebee dans le sens où on ne fait pas appel à un virtualiseur (virtualgl, primus) mais au module 'modesetting' de xorg.
Du coup, on active matériellement le GPU Nvidia au lieu de le virtualiser. Le gain graphique est conséquent. Tout est expliqué ici dans le forum de Nvidia.

C'est un système développé par Nvidia dans ses pilotes, il a d'abord été mise en place par Ubuntu/Canonical avec un 'plugin' en python pour leur version de Nvidia-setting, mais pas très documenté.
Ce qui a poussé une équipe à développer un petit script bash pour Fedora (Fedora-Prime), seulement ce script est dédié au pilote distribué par Fedora et il n'arrangeait pas ma sauce avec Zenvidia.
J'en ai donc fait un fork amélioré (nvidia-prime-select) à ma façon et prenant en charge la configuration xrandr des écrans, puis je l'ai directement lié à Zenvidia.

Le principe est simple:
(ubuntu/fedora-prime)
- on sélectionne un GPU (intel/nvidia)
- on redémarre a session sur le nouveau GPU.
(nvidia-prime-select)
- le script enregistre la config xrandr (simple ou multi écran)
- on choisit GPU Nvidia temporaire ou permanent
- on redémarre la cession
Au prochain démarrage l'affichage ne sera que sur le GPU Nvidia si on a sélectionné permanent.

J'espère que c'était bien la réponse à ta question. :/
je comprends, merci de ces explications.

Quel est l'apport par rapport de ce que tu proposes par rapport à la gestion actuelle de Prime, cf la doc ?
La gestion de xrandr.
S'il n'est pas pris en charge et selon l'environnement, l'affichage risque de souvent se réinitialisé.
Pas très pratique quand on utilise un écran externe ou conjointement avec celui du laptop.

Je ne connaissais pas cette doc, intéressante, mais un peu outdaté (du point de vu des mise à jour actuelle) et principalement dédié Nouveau. Je vais qd même explorer le DRI_PRIME=0/1 pour voir si cela apporte qques chose.

Ce qu'apporte mon script?
S'éviter les prises de tête avec 36 manips en console, c'est déjà bien.
De plus, si tu veux un usage réel de Prime, le chargement du module "modesetting" est obligatoire, sinon, ce n'est pas vraiment du Prime comme décrit par les DEVs nvidia, mais simplement, comme dans la doc, une virtualisation d'une application avec switcheroo. Prime est une prise en charge matérielle de la totatlité de l'affichage et pas besoin de bbswitch pour activer/désactiver la carte. De toute manière, nvidia-drm empêche toutes désactivation de la carte pour le moment, ce qui sous bumblebee peut être très chi*nt.
OK, n'hésite pas à dire s'il y a des choses qui devraient être mentionnées dans cette doc, c'est moi qui ait écrit cette page et je me ferai un plaisir de compléter. Ou tu peux même compléter toi même si ça te dit 😉

C'est volontairement qu'on a plutôt appuyé sur les pilotes libres, pour la partie proprio, l'utilisation de Prime avec le pilote proprio n'était à l'époque pas possible (edit : maintenant ça l'est avec ça que je vais rajouter dans la doc) ; et l'autre option (Bumblebee) est très bien documentée dans la doc anglo-saxonne.
nan nan, je ne vais pas touché à ton travail. D'autant que swicheroo ce n'est vraiment pas du tout mon domaine.
D'un autre côté, rien n'empêche d'ajouter swicheroo à Zenvidia, mais dans l'état actuel des choses et vue tous ce qu'il prends déjà en charge, je ne sais pas si ça vaut vraiment le coup, sauf si bien sûr, switcheroo vaut vraiment le détour?

A noter que je viens juste de terminer une petit interface zenity pour nvidia-prime, y'a plus qu'à cliquer.
Standalone et intergrée à Zenvidia.
> switcheroo vaut vraiment le détour?
Objectivement je n'en ai aucune idée, je ne suis pas assez pointu malheureusement... Pour moi c'est assez vieux ceci dit, et bbswitch l'a remplacé sans problème.

Je vais rajouter FedoraPrime dans la doc, ainsi que ton script 😉 si tu vois autre chose à ajouter, n'hésite pas à m'en faire part 😉
Oui, testes le d'abord :roll:

Mieux vaut une doc sur un retour d'utilisation et ça me permettra de savoir si tout fonctionne "out of the box".
J'ai pu faire des erreurs (j'en fais bcp), alors autant prévenir.
un mois plus tard
Après une petite discussion avec le Devs Nvidia, J'ai fait des corrections dernièrement dans le script qui le rendent plus stable.

Je me doute que bcp ne comprennent pas l'intérêt de mon travail, donc il se résume en ceci:
Faire un maximum de choses avec le même outil sans sortir de la session X et surtout être toujours à jour sans dépendre de la création des paquets rpm ou autres.
Merci pour tes efforts.

Contacte l'auteur de cette page de la doc, ça pourrait être pas mal de rajouter le lien. Pour l'instant il n'est présent que dans la page concernant Optimus.
hum, il y a des petites choses intéressante la dedans.
Merci pour le lien.