Utiliser la carte graphique Nvidia sur son ordinateur portable Linux avec DRI_PRIME

Dans les ordinateurs portables, il est fréquent d’avoir 2 cartes graphiques. Celle intégrée au CPU qui consomme peu mais est peu performante et une autre carte graphique type NVidia qui consomme bien plus mais est plus performante.

Pour des raisons de consommation, la carte graphique performante n’est pas donc pas celle utilisée par défaut par les applications.

Si on lance une application OpenGL par exemple, on a ceci par défaut :

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Pour lancer la même application mais avec la seconde carte graphique, il suffit de rajouter la variable d’environnement DRI_PRIME=1 :

$ DRI_PRIME=1 glxinfo | grep OpenGL
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV108
OpenGL core profile version string: 4.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

Plutôt simple comme manipulation.
Je n’ai pas trouvé de benchmark moderne facilement disponible sous Linux pour comparer les performances. (glxgears est trop éloigné d’un jeu vidéo moderne) Est ce que quelque chose en WebGL ferait l’affaire?

3 Comments

Add a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.