Alterner 2 Cartes Graphiques Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Bonjour à tous

Je reviens vers le forum pour essayer de finaliser une démarche engagée avec votre aide

Entre Janvier & Février 2022, le forum m’a aidé à résoudre le problème rencontré pour installer un pilote nvidia sur mon ordinateur HP Victus monté en dual boot W11/Debian11et équipé :
d’une carte graphique soudée AMD Radeon Graphics pour les travaux de bureautique
d’une carte graphique Nvidia GE Force RTX 3050 pour des travaux nécessitant plus de puissance


Le titre du Sujet “Carte Graphique Nvidia pas reconnue

Aux environs du 15 Février 2022, et 6 pages du sujet plus loin, grâce à l’aide que m’a apporté le forum, ma carte était enfin reconnue

Les questions qui se posaient alors :

Le 16/02/22, discussions :

avec PascalHambourg :
jandelalune a écrit : ↑16 févr. 2022, 16:04
“Je pense être arrivé à installer un pilote nvidia fonctionnel”

PH “En tout cas les modules noyau du pilote nvidia sont chargés, mais ce n'est qu'une partie du pilote, il y a aussi le pilote Xorg, les bibliothèques OpenGL...
Tu devrais constater une amélioration de la résolution et des performances d'affichage dans l'environnement graphique. EDIT: pas par défaut puisque l'affichage est géré par le GPU AMD
avec dezix :
a / La grande question : Alors tu notes une amélioration ?
b / L'autre question qui pourra faire l'objet d'un 2d sujet,
c'est comment ça se passe pour "jongler" entre AMD Graphics et Nvidia ?
Le 17/02/2022
avec vv222 :
“dezix a écrit : ↑16 févr. 2022, 19:56c'est comment ça se passe pour "jongler" entre AMD Graphics et Nvidia ?
J’avais posté quelque chose à ce sujet, je ne sais plus si c’est dans ce fil ou un autre similaire. Comme l’a suggéré lol, je vais en faire un fil dans la section Trucs & Astuces quand j’aurai un peu de temps devant moi.

L’idée derrière la méthode que je propose est de se passer totalement de bumblebee, primusrun et toutes ces autres surcouches plus ou moins bancales.

Le 18/02/2022, J’avais répondu à vv222 :
J’ai utlisé la méthode que toi et lol m’avaient proposé au début de ce fil le 30/01/22
Elle permet en quelques commandes de connaître la carte utilisée, de changer de carte …. et je l’ai trouvé très efficace
A ce stade j’ai du interrompre ces travaux à cause de difficultés personnelles et j’y retourne à peine

Comme je n’ai pas trouvé trace de nouveautés sur la question, voilà ce que j’ai fait en suivant la suggestion de vv222 et lol :

1 / Au démarrage , par défaut c’est la carte AMD qui est reconnue et utilisée

Code : Tout sélectionner

gerard@VICTUSG:~$ glxinfo | grep '^OpenGL renderer string:'
OpenGL renderer string: AMD RENOIR (DRM 3.40.0, 5.10.0-21-amd64, LLVM 11.0.1)
gerard@VICTUSG:~$ 
2 / Initialisation de la Carte nvidia

Code : Tout sélectionner

2a /
gerard@VICTUSG:~$ export __NV_PRIME_RENDER_OFFLOAD=1
gerard@VICTUSG:~$ 

2b / 
gerard@VICTUSG:~$ export __GLX_VENDOR_LIBRARY_NAME=nvidia
gerard@VICTUSG:~$ 

2c /
gerard@VICTUSG:~$ export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
gerard@VICTUSG:~$ 

2d / Controle
gerard@VICTUSG:~$ glxinfo | grep '^OpenGL renderer string:'
OpenGL renderer string: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2
Apparament je suis bien sur la carte nvidia


3 / Retour sur AMD

Code : Tout sélectionner

gerard@VICTUSG:~$ export __GLX_VENDOR_LIBRARY_NAME=amd
gerard@VICTUSG:~$ glxinfo | grep '^OpenGL renderer string:'
OpenGL renderer string: AMD RENOIR (DRM 3.40.0, 5.10.0-21-amd64, LLVM 11.0.1)
gerard@VICTUSG:~$ 
Je verrai à l’usage si les différences sont vraiment sensibles (travaux de montage vidéo essentiellement au moins pour l’instant)
J’espère avoir été utile
Encore Merci à tous
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Merci pour ce retour détaillé.
:good:

Comme tu ne le précises pas explicitement,
doit-on comprendre que tu considères être parvenu à un résultat satisfaisant ?


J'ai ajouté un lien vers le sujet initial.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

J’ai (enfin) posté dans la section Trucs et astuces au sujet de cette méthode de sélection de la source d’affichage : Systèmes graphiques hybrides Intel/nVIDIA.
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Bonjour dezix

dezix a écrit :
Comme tu ne le précises pas explicitement,
doit-on comprendre que tu considères être parvenu à un résultat satisfaisant ?
pour l'instant je n'ai lu que des films enregistrés ou des vidéos créées par mes soins où la différence n'est pas flagrante

J'essaierai au prochain montage vidéo pour voir si amélioration

Pour moi, le sujet est clos puisque j'arrive à à alterner entre les deux cartes.

D'autant plus que vv222 vient de préciser qu'il a posté dans Trucs et Astuces sur le sujet "Systèmes graphiques hybrides Intel/nVIDIA."

Cordialement A+
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Bonjour dezix

Je suis peut être allé un peu vite en besogne pour résolu : en effet comme vv222 a donné le titre de la méthode qu'il a créée pour faire le boulot, j'ai voulu utiliser la création de fichiers sourçables et là j'ai besoin d'aide

Pour discuter des difficultés que je rencontre , je continue ce sujet ou j'en ouvre un autre ??

Merci d'avance
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

jandelalune a écrit : 19 févr. 2023, 10:13 Pour discuter des difficultés que je rencontre , je continue ce sujet ou j'en ouvre un autre ??

Continu ici, c'est le même sujet,
et si au final cela en vaut la peine,
tu pourrais faire une synthèse à la suite du truc et astuce de vv222
**Simple Utilisateur** -- Debian stable - XFCE
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Salut vv222, après quelques recherches hier et essais aujourd’hui, je pense être arrivé à créer les répertoires et fichiers nécessaires pour utiliser ta méthode de gestion avec deux fichiers sourçables

Voilà donc ce que j’ai fait

Code : Tout sélectionner

1 / création du répertoire env

gerard@VICTUSG:~$ cd .local
gerard@VICTUSG:~/.local$ ls -l
total 4
drwxr-xr-x 29 gerard gerard 4096 19 févr. 10:05 share

gerard@VICTUSG:~/.local$ mkdir env
gerard@VICTUSG:~/.local$ ls -l
total 8
drwxr-xr-x  2 gerard gerard 4096 19 févr. 11:49 env
drwxr-xr-x 29 gerard gerard 4096 19 févr. 11:32 share
gerard@VICTUSG:~/.local/env$ nano display_nvidia
gerard@VICTUSG:~/.local/env$ 

2 / création du fichier display_nvidia
gerard@VICTUSG:~/.local/env$ nano display_nvidia
 GNU nano 5.4                     display_nvidia                               
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
gerard@VICTUSG:~/.local/env$

3 /Utilisation du fichier
gerard@VICTUSG:~$ . ~/.local/env/display_nvidia
gerard@VICTUSG:~$ glxinfo | grep '^OpenGL renderer string:' 
OpenGL renderer string: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2
gerard@VICTUSG:~$ 
Au moment de travailler sur la puce AMD et de créer son fichier sourçable, il ma paru utile de poser certaines questions :
1 / vv222 a écrit :
Une restriction à garder en tête : il s’agit d’une méthode qui ne change la source d’affichage que pour les logiciels qui seront lancés depuis le terminal en cours. On peut par exemple avoir deux terminaux ouverts côte-à-côte dont un lance les logiciels sur la puce Intel, et l’autre sur la carte nVIDIA.
Mon ordinateur démarre par défaut sur amd :
même si je me mets dès l’ouverture sur la carte nvidia pour travailler, seuls les logiciels lancés par le terminal utilisé pour initialiser cette carte seront utilisés par elle
si je veux en utiliser d’autres suis-je obligé d’utiliser un terminal (qui est à son ouverture toujours dédié à la carte AMD) et un fichier display_amd
Je ne sais pas comment controler ce que je pense ??

2 / Si le fichier display_amd est confirmé, je constate des différences dans le contenu de ce fichier display suivant le fabricant
Pour AMD, dans l’exemple que tu donnais dans le sujet “Carte Graphique non reconnue” de janvier Fevrier 2022, c’était :

Code : Tout sélectionner

export __GLX_VENDOR_LIBRARY_NAME=amd
Est ce toujours le cas ??

Merci d'avance
Cordialement
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

jandelalune a écrit : 19 févr. 2023, 18:07 Mon ordinateur démarre par défaut sur amd :
même si je me mets dès l’ouverture sur la carte nvidia pour travailler, seuls les logiciels lancés par le terminal utilisé pour initialiser cette carte seront utilisés par elle
si je veux en utiliser d’autres suis-je obligé d’utiliser un terminal (qui est à son ouverture toujours dédié à la carte AMD) et un fichier display_amd
Si tu ouvres un autre terminal que celui que tu as fait passer par nVIDIA, pas besoin de passer par l’autre fichier sourçable. Celui-ci ne sert que pour revenir sur la puce AMD dans le terminal que tu as déjà fait passer sur nVIDIA.

---
jandelalune a écrit : 19 févr. 2023, 18:07Pour AMD, dans l’exemple que tu donnais dans le sujet “Carte Graphique non reconnue” de janvier Fevrier 2022, c’était :

Code : Tout sélectionner

export __GLX_VENDOR_LIBRARY_NAME=amd
Est ce toujours le cas ??
Aucune idée, je n’ai pas d’accès à une machine avec système graphique hybride AMD + nVIDIA.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Salut,

vv222 a donné dans son " Trucs& Astuces" un exemple pour un GPU intégré Intel,
évidemment tu dois utiliser une version adaptée à ton matos AMD.

D'autre part,
lorsque tu passes manuellement ou en "sourçant" depuis un fichier,
la valeur d'une VARIABLE ( p.ex: VAR=titi )
cette valeur pour cette variable n'est valable que dans le terminal en cours d'utilisation.

Du coup on peut dans un autre terminal avoir la même variable ( VAR=toto )
et utiliser les processus dans ce terminal avec cette valeur (toto).

Maintenant, au niveau des ressources matérielles là ce n'est pas extensible,
donc il ne faut pas dépasser les limites physiques disponibles.
**Simple Utilisateur** -- Debian stable - XFCE
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Bonjour à vous deux et Merci

vv222 a ecrit :
Si tu ouvres un autre terminal que celui que tu as fait passer par nVIDIA, pas besoin de passer par l’autre fichier sourçable. Celui-ci ne sert que pour revenir sur la puce AMD dans le terminal que tu as déjà fait passer sur nVIDIA.
Ok, c’était bien le sens d ma question

puis :
Aucune idée, je n’ai pas d’accès à une machine avec système graphique hybride AMD + nVIDIA.
Pardon je t’ai crédité de quelque chose que tu n’as pas écrit : c’est moi qui ai extrapolé ce que tu avais écrit dans “ viewtopic.php?p=26739#p26739” :

Code : Tout sélectionner

$ export __GLX_VENDOR_LIBRARY_NAME=intel
$ unset __NV_PRIME_RENDER_OFFLOAD VK_ICD_FILENAMES
J’ai testé une ligne puis les 2 lignes : au terminal le résultat est le même
Si je comprends bien la 1ere ligne appelle le systeme graphique dont on a besoin, la seconde désactive le systeme prédement actif ?? pour liberer desressources ??

Mais alors pourquoi ne pas le faire quand on passe de AMD (Intel chez vv222) à nvidia ??


Merci de prendre le temps de me répondre
Cordialement
jandelalune
Membre
Membre
Messages : 157
Inscription : 29 janv. 2018, 19:01
Status : Hors-ligne

Salut à vv222 & dezix

Navré, mais je devais etre fatigué quand j'ai écrit
Mais alors pourquoi ne pas le faire quand on passe de AMD (Intel chez vv222) à nvidia ??
Personne ne me l'a dit

Cordialement
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3548
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

jandelalune a écrit : 22 févr. 2023, 17:52

Code : Tout sélectionner

$ export __GLX_VENDOR_LIBRARY_NAME=intel
$ unset __NV_PRIME_RENDER_OFFLOAD VK_ICD_FILENAMES
J’ai testé une ligne puis les 2 lignes : au terminal le résultat est le même
Si je comprends bien la 1ere ligne appelle le système graphique dont on a besoin, la seconde désactive le systeme prédement actif ?? pour liberer desressources ??

Mais alors pourquoi ne pas le faire quand on passe de AMD (Intel chez vv222) à nvidia ??

Les commandes citées ici export et unset n'ont pas la même variable comme argument,
donc l'une n'a rien à voir avec l'autre.

Dans le tuto de vv222 on joue sur 3 variables :
  • une qui passe de la valeur intel/nvidia en "va et vient"
  • 2 qui sont nécessaires que pour nvidia et donc retirées (unset) pour intel


Je me demande s'il ne serait pas mieux (plus pratique et moins de risque d'erreur/confusion)
de passer les variables pour Nvidia dans les champs Exec des lanceurs des applications qui devraient systématiquement utiliser la carte la plus puissante.

Je ne suis pas certain à 100% que cela puisse fonctionner, mais le test est facile à faire.

Le nombre de ces applications exigeantes étant limité,
ça ne donne pas grand travail pour mettre ces lanceurs dans : ~/.local/share/applications

Les modèles sont dans /usr/share/applications il suffit de les copier/coller/éditer.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

dezix a écrit : 23 févr. 2023, 20:03 Dans le tuto de vv222 on joue sur 3 variables :
  • une qui passe de la valeur intel/nvidia en "va et vient"
  • 2 qui sont nécessaires que pour nvidia et donc retirées (unset) pour intel
C’est exactement ça :good:
dezix a écrit : 23 févr. 2023, 20:03 Je me demande s'il ne serait pas mieux (plus pratique et moins de risque d'erreur/confusion)
de passer les variables pour Nvidia dans les champs Exec des lanceurs des applications qui devraient systématiquement utiliser la carte la plus puissante.
C’est sûrement faisable et rendrait le guide que j’ai proposé plus complet, donc si quelqu’un tente le coup il ne faudra pas hésiter à partager les résultats.
Dernière modification par dezix le 24 févr. 2023, 20:06, modifié 1 fois.
Raison : un "pour" ajouté dans la citation ;-)
Répondre