Désactiver le GPU intégré sur un laptop

Hello,

Mon laptop HP Pavillion possède un GPU intégré UDH 620 d’Intel en plus d’une GeForce MX150.

Voici les 2 lignes pertinentes renvoyées par lscpi:

00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
02:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1)

J’aimerais évidemment utiliser la 2e pour ses performances, d’autant plus que la consommation d’énergie n’est pas un souci puisque mon laptop est quasi toujours branché au secteur. Et au passage j’aimerais bien aussi pouvoir récupérer les 300 Mb utilisés par le GPU dans la RAM.

Le problème c’est que je n’arrive pas à désactiver le GPU intégré car c’est bien lui qui est utilisé par le serveur X, pareil pour OpenGL. Au niveau de la GeForce j’ai bien le module nvidia qui est chargé. Je ne vois aucune option dans le BIOS mais il doit bien avoir un autre moyen de le faire quand même ?

En fait j’ai même du mal à imaginer comment cela doit fonctionne « normalement » : on peut choisir manuellement d’utiliser l’un ou l’autre GPU, ou alors c’est le GPU intégré qui est utilisé par défaut et dès que le système voit qu’il faut beaucoup de puissance graphique il bascule vers la GeForce ? Cela me parait assez dingue quand même…

Merci pour votre aide, Vincent.

quelques infos ici


et ici

Avec radeon

lspci -nnk | grep -i radeon
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RS880M [Mobility Radeon HD 4225/4250] [1002:9712]
	Subsystem: Hewlett-Packard Company RS880M [Mobility Radeon HD 4225/4250] [103c:1443]
	Kernel driver in use: radeon
	Kernel modules: radeon
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470] [1002:68e0]
	Subsystem: Hewlett-Packard Company Park [Mobility Radeon HD 5430/5450/5470] [103c:1443]
	Kernel driver in use: radeon
	Kernel modules: radeon

sudo cat /sys/kernel/debug/vgaswitcheroo/switch

0:IGD:+:Pwr:0000:01:05.0
1:DIS: :DynPwr:0000:02:00.0

Merci, il existe donc plusieurs solutions bien qu’aucune n’ait l’air super simple.

Mais déjà je viens de découvrir que mon laptop a cette « fameuse » technologie Optimus de nVidia, ce qui n’est pas vraiment une bonne nouvelle puisqu’elle semble mal supportée sous Linux et qu’à priori je ne pourrai jamais récupérer mes 300 Mb de RAM :frowning:

Chercher le mot-clé bumblebee sur ce forum.

En particulier, lire ce fil :

https://www.debian-fr.org/t/doc-nvidia-optimus-bumblebee-dans-quel-etat-gere-infos/79959

1 J'aime

Merci, mais ce fil confirme que c’est plutôt mal supporté…

Ces systèmes graphiques hybrides sont quand même un gros souci pour l’adoption de Linux sur les laptops :frowning:

ça s’est grandement améliorée.
Tu n’est plus obligé d’utiliser bumblebee si tu utilise le pilote propriétaire :

Dans tout les cas, il y a des chances pour que tu sois obliger de garder tes 2 CG active pour avoir accès à toutes tes sorties video.

Oui, c’est vrai ; mais seulement sur *Buntu, et pas sous Debian !
L’équipe Debian a fait le choix d’utiliser la librairie GLVND (libglvnd) qui n’est pas pleinement opérationnel ; alors que prime sous *Buntu l’est depuis quelques années.

Et, à moins que je ne me trompe, mais installer le pilote propriétaire depuis les dépôts Debian ne résout pas la situation. Et, si on tente l’installation depuis les binaires disponibles par nvidia, ou à ajouter les dépôts PPA pour *Buntu, on se retrouve avec une situation nommée « FrankenDebian », avec les soucis que cela peut poser à terme.
Donc, étant donné que ce n’est pas recommandé, nous ne plébisciterons pas ce genre de solutions, ici, sur ce forum !

Je ne parle pas de prime non plus.

A priori, on peut utiliser le render offload sans soucis sous debian, avec le pilote propriétaire. ça ne résout pas son problème (utilisation d’une seul GC) mais de toute façon, la technologie optimus ne permet pas cela que ce soit sous linux (debian, ubuntu, Arch, etc.) ou windows.
Cette option permet juste de simplifier l’installation.
En revanche, ça permet d’utiliser assez simplement la nvidia comme carte principale pour la majorité des applications en jouant avec les variables d’environnement.

Je n’ai jamais suggéré d’installer depuis les binaires ni depuis des dépôts ubuntu, ni personne sur ce fil…

Personne ne t’a accusé de quoi que ce soit !

Quoiqu’il en soit, tu n’as pas du lire entièrement le lien « Prime Render Offload » que tu donnes, car il est clairement donné le dépôt PPA pour *Buntu afin d’utiliser la technique en question.
L’autre manière de l’utiliser est d’installer depuis le binaire fourni par nvidia.

Mais, je peux assurément me tromper…

Sauf que sans le projet Bumblebee, vouer à disparaître de l’aveu même des concepteurs, tu ne peux utiliser directement le pilote nvidia, installé directement depuis les dépôts Debian.
Tu pourras les installer, pas les utiliser !


@Vinz: Peut-être que dans le Bios/UEFI, il est possible de sélectionner en tant que sortie vidéo le GPU Nvidia ; cela existe chez certains modèles de certains fabriquants. Il faut « fouiller » dedans ces différents menus, voire si possible. Dans le cas, où ce serait possible, alors il sera possible d’utiliser directement le pilote nvidia, depuis les dépôts Debian, sans passer par le projet Bumblebee.
Si ce n’est pas possible… « bon courage » !

En effet.
La phrase en question commence par « pour les utilisateurs ubuntu ». Pas pour les autres. Mais uniquement cette phrase. Le reste est spécifique à l’utilisation du driver, pas spécifique à un système. D’ailleurs, il ne recommande nul part d’installer des composants ubuntu sur une debian.

Il existe une méthode simple pour installer le driver sans passer par les binaires ou bumblebee :

apt install nvidia-driver

et c’est la seule chose à installer
Éventuellement, il y a une modif du Xorg à faire, mais c’est tout.

ça ne fonctionnera pas dans le contexte Optimus !
car le pilote nvidia cherche à utiliser directement le GPU nvidia, qui n’est pas accessible directement dans le contexte Optimus ; tu auras le droit à un bel écran noir, aucun curseur actif, et aucune console série disponible !

Et bien, non, même en ajoutant une configuration Xorg.

Et si toi, tu y arrives malgré que plus d’uns ne le puissent, donne la recette exacte et assures toi que cela fonctionne pour d’autres. Mais, mon avis, est que tu vas au devant de désillusion.

ça marche parfaitement chez moi.
C’est d’ailleurs une des méthodes préconisés par debian :

Bon après, si il y a une erreur sur le wiki officiel de Debian, sur le support officiel de Nvidia et que ça a quand même marché chez moi… c’est que je suis vraiment chanceux.

1 J'aime

Et bien c’est une excellente nouvelle !
Que Prime soit enfin effectif sur Debian, c’est vraiment une très bonne chose :smiley:

Merci à toi :wink:


Alors, après rapide analyse, tu ne dois pas être sous stable, car il est clairement écrit qu’il faut avoir à minima Debian 11, soit « Bulleye », qui pour l’instant est « Testing ».
Donc, à ce jour, à moins d’un rétroportage sur stable-backports, cela ne doit pas fonctionner sur Stable. Dans ce cas, merci de ne pas le recommander :wink:

J’ai tellement l’habitude d’être en testing que j’ai pas percuté…
effectivement, faut un xorg 1.20.6 ou supérieur.

:stuck_out_tongue:

En effet, ne pas oublier que la « cible » principale des utilisateurs est l’usage de Debian Stable :stuck_out_tongue:

Ce qui tombe bien car je suis sur testing :slight_smile:

En tout cas merci à vous deux pour cette discussion très intéressante.

Comme je suis sur testing et que j’ai déjà le driver propriétaire de nvidia (460.73.01-1) je peux simplement utiliser les variables d’env. pour forcer l’utilisation de la GeForce, c’est génial !

Par contre il doit y avoir un truc qui cloche car avec glxgears ou glmark2 j’ai des scores bien moins bons pour la GeForce qu’avec l’Intel UHD ! :slightly_frowning_face:

Avec l’UHD j’ai un score supérieur à 7000 sous glxgears:

turman@entropy:~$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
34073 frames in 5.0 seconds = 6814.486 FPS
36246 frames in 5.0 seconds = 7249.004 FPS
36302 frames in 5.0 seconds = 7260.325 FPS
35912 frames in 5.0 seconds = 7182.267 FPS
35987 frames in 5.0 seconds = 7197.210 FPS

Avec la GeForce je n’ai qu’un peu plus de 3000:

turman@entropy:~$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia  __GL_SYNC_TO_VBLANK=0 glxgears
15059 frames in 5.0 seconds = 3011.711 FPS
16029 frames in 5.0 seconds = 3205.635 FPS
16103 frames in 5.0 seconds = 3220.577 FPS
16075 frames in 5.0 seconds = 3214.947 FPS
16117 frames in 5.0 seconds = 3223.352 FPS

Avec glmark2 c’est pareil, les scores sont bien moins bons avec la GeForce, et en plus ça plante avant la fin du test.

Ceci dit, sous Google Earth j’ai l’impression que c’est plus fluide avec le GeForce, mais c’est à vérifier…

Du coup je vais peut-être essayer un autre technique, je pense surtout à celle ci: Using NVIDIA GPU as the primary GPU car elle offre apparemment les meilleures performances. C’est pas grave si je ne peux pas switcher entre les 2 GPUs, et tant pis si je ne peux pas désactiver le GPU d’Intel ni récupérer ses 300 Mb dans la RAM.

J’ai fait d’autres tests avec les benchmarks du moteur Unigine (téléchargeable gratuitement ici) et ça va je suis rassuré, ma GeForce MX150 se comporte de manière honorable (moyenne de 28 fps sur le test Valley en 1920x1080), en tout cas bien mieux qu’avec le GPU intégré d’Intel.