[bumblebee] performance du gpu intégré supérieur (résolu)

Applications multimedia / jeux
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

[bumblebee] performance du gpu intégré supérieur (résolu)

Message par MPereira »

Bonjour,

je me permet de poster un nouveau sujet après beaucoup de recherches et de tests sans succès, j'espère que vous pourrez m'aider.

J'ai recemment installer archlinux sur mon laptop ACER Aspire 771G qui possède un processeur intel core i5 3230M avec un gpu intégré (intel HD 4000) et un GPU dédié Nvidia Geforce 710M.
Toutes mes applications fonctionnent parfaitement sauf les jeux... :cry:
Je m'explique: j'ai installé bumblebee avec les drivers nvidia propriétaires en suivant la doc (sur Archlinux.fr et aussi wiki.archlinux.org) quand je veux lancer un jeu avec LE GPU DEDIE (avec optirun ou primusrun) les performances (fps) sont plus faibles qu'en le démarrant avec le GPU INTEGRE.
Par exemple sur minecraft, avec le gpu INTEGRE je suis aux allentours de 50, 60 fps et avec le gpu dédié un peu moins de 50 en moyenne.

J'ai également essayer d'installer bumblebee et PRIME avec les pilotes libres et c'est encore pire: tout les jeux sont injouables...
Sur windows je faisait plus de 100 fps sur minecraft (sans le vsync bien-sur).
Avez vous déjà rencontrer ce problème ? l'avez vous déjà résolu ?
Si vous avez d'autres questions ou si vous souhaitez avoir d'autres information (fichiers de conf, captures d'éran...) n'hésitez pas ! :wink:

Merci d'avance à la comunauté.
Dernière modification par MPereira le dim. 16 août 2015, 14:50, modifié 2 fois.
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [bumblebee] performance du gpu intégré suppérieur

Message par Xorg »

Si tu voulais jouer, il ne fallait pas prendre une GTX 710M : plus bas de gamme, ça n'existe pas dans cette série. Ça ne m'étonnerait pas que l'iGPU soit plus performant que ta CG dédiée, mais bon c'est infondé, je n'ai pas de preuves de ce que j'avance.

Tu peux toujours tenter de modifier la configuration du serveur graphique, il y a très certainement des options qui te permettront d'avoir de meilleures performances avec ta carte-graphique dédiée.
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur

Message par MPereira »

Je ne joue pas beaucoup, surtout sur mon pc portable, j'utilise ma tour. C'est pour cela que je suis passé sous arch car pour mon travail et mes études (dans l'informatique) c'est nickel. Cependant, comparé a Windows 7 qui était installé avant sur ce laptop, la 710 M même étant du bas de gamme offrait plus de perf que l'IGP. la preuve en image sous arch:
bench sur la intel http://hpics.li/5090a83
bench sur la nvidia http://hpics.li/14640ab

Tu as surement raison, dans xorg il faut surement rajouter une config mais je maitrise mal la config de celui-ci surtout depuis les dernières version ou le fichier /etc/X11/xorg.conf n'existe plus. Je n'ai pas toucher au fichiers de conf de xorg en installant bumblebee ni en instanllant les pilotes. J'ai juste toucher à ceux de bumblebee pour activer bbswitch...
Savez vous si il est necessaire de rajouter quelque chose dans les fichiers de conf de xorg ? Si oui, pouvez vous me donner un exemple ?
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur

Message par BlondVador »

Si vraiment c'est le jeu qui t'intéresse et que l'autonomie n'est pas ta priorité, je te conseille de te passer de Bumblebee. Tu peux utiliser le GPU intégré seul :

https://wiki.archlinux.org/index.php/NV ... ing_nvidia

Pas de switch possible sans changer le .conf mais des performances qui peuvent être quasi doublées dans certains jeux par rapport à Bumblebee.

Xorg.conf est déprécié mais toujours utilisable. C'est pas propre et ça va disparaître avec le temps mais pour le moment ça fonctionne. Autrement, les fichiers de configuration sont à placer dans /etc/X11/xorg.conf.d/ à présent. Le wiki est très bien expliqué.

Attention, glxgears n'est pas un outil de benchmarking, glxspheres32/64 est par contre prévu à cet effet ;).
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur

Message par MPereira »

C'est un peu compliqué, parce qu'au lycée, je préfère avoir de la batterie, mais sinon, je m'en fiche un peu.
J'avais vu cette solution et je pense que je vais me rabattre sur celle-ci, si tu me dis que les performances peuvent être améliorées.
Mais il y a des choses qui sont un peu floues dans ma tête...
Alors, déjà merci @Blondvador pour tes explications, pour le fichier xorg.conf je ne savais pas qu'on pouvait encore l'utiliser et pour le nouvel emplacement, j'avais effectivement lu ça dans la doc et configurer mon clavier en FR pour xorg. ^^

Sinon, peut-tu me corriger si je me trompe? :
1/ désinstaller bumblebee et ses dépendances (ou désactiver le service ?)
2/ créer le fichier /etc/X11/xorg.conf comme sur la doc avec le bon Bus ID de la Nvidia
3/ ajouter au fichier d'initiation de Xorg la source d'affichage de sortie: en gros avec quelle carte graphique je veux que Xorg se lance.
4/ pour avoir un affichage sur la Intel (pour privilégier l'autonomie et déactiver la Nvidia), suffi-t-il de supprimer xorg.conf (ou le déplacer temporairement) ou alors peut-on spécifier la sortie d'affichage sur la intel dans le fichier ~./xinitrc ?
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur

Message par BlondVador »

1/ désinstaller bumblebee et ses dépendances (ou désactiver le service ?)
Tout désinstaller.
2/ créer le fichier /etc/X11/xorg.conf comme sur la doc avec le bon Bus ID de la Nvidia
Autant utiliser la nouvelle norme et placer les fichiers de config dans /etc/X11/xorg.conf.d/. Pour la gestion du GPU, il te suffit de créer le fichier 20-nvidia.conf et d'y mettre à peu près la même chose que sur la doc avec le bon Bus ID (selon ta config, il peut y avoir quelques différences par rapport à la doc').
3/ ajouter au fichier d'initiation de Xorg la source d'affichage de sortie: en gros avec quelle carte graphique je veux que Xorg se lance.
Ca se définit dans la section ServerLayout de cette manière par exemple :

Code : Tout sélectionner

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection
On voit bien ici que j'ai choisi le GPU Nvidia pour le rendu et désactivé la chipset Intel.
4/ pour avoir un affichage sur la Intel (pour privilégier l'autonomie et déactiver la Nvidia), suffi-t-il de supprimer xorg.conf (ou le déplacer temporairement) ou alors peut-on spécifier la sortie d'affichage sur la intel dans le fichier ~./xinitrc ?
Supprimer le fichier de conf peut fonctionner mais sans certitude, je conseillerai de simplement modifier la section ServerLayout en conséquence. Tu peux même créer un petit script qui te permet de choisir l'un ou l'autre fichier de configuration.

Au final, tu devrais avoir quelque chose comme ça pour le GPU Nvidia :

Code : Tout sélectionner

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "Coolbits" "31"
    Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x1; PowerMizerDefaultAC=0x1"
    Option "DPI" "96 x 96"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "Yes"
EndSection

Section "Device"
    Identifier  "intel"
    Driver    "modesetting"
    BusID       "PCI:0:2:0"
    Option      "AccelMethod"  "sna"
    Option      "TearFree" "True"
    #Option      "Tiling" "True"
    #Option      "SwapbuffersWait" "True"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur

Message par MPereira »

Merci beaucoup d'avoir pris le temps de m'expliquer, je penses que tout est clair, j'essaye ça et je vous tiens au courant. Une dernière question (peu être un peu débile mais bon... :roll: ): faut il installer les deux pilotes nvidia + intel ou uniquement celui que l'on veut utiliser? (En fonction du script, comme tu m'a expliqué).
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur

Message par BlondVador »

Oui, il faut installer xf86-video-intel.
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par MPereira »

Voilà, j'ai fini toutes les configurations pour la solution sugéré et expliqué par BlondVador. Je n'arrivais pas à faire démarrer GDM avec la Nvidia mais j'ai changé de gestionnaire de connexion. J'ai donc opter pour LightDM que je trouve finalement plus simple à régler. De plus, sur la doc https://wiki.archlinux.org/index.php/NV ... us#LightDM, tout est expliqué pour le paramétrage avec xrandr.
Si non, coté perf, ça a rien a voir, je suis passé a plus de 100 fps sur minecraft avec la NVidia :bravo: , je pense aussi que c'est le fait d'utiliser les librairies lib32-nvidia-libgl (non dispo avec bumblebee) qui sont plus adaptées à mon matériel.
Il reste plus qu'à faire le petit script ji me permet de "switcher" entre les GPUs et tout sera impec :wink: .

En tout cas je vous remercie pour votre aide ! je passe en résolu.
Bonne fin de week-end à tous :D.
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par BlondVador »

Je profite de ce sujet pour savoir si je suis autorisé à modifier le Wiki pour aiguiller les utilisateurs vers une solution qui leur convienne : performance pure (Nvidia standalone), autonomie (intel standalone) ou un compromis des deux (bumblebee) puisque cela n'est pas forcément clair au premier abord.

Dans tous les cas, content de voir que ça fonctionne au poil ;).
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par Xorg »

MPereira a écrit :je pense aussi que c'est le fait d'utiliser les librairies lib32-nvidia-libgl (non dispo avec bumblebee) qui sont plus adaptées à mon matériel.
C'est surtout que si tu ne les utilises pas, les programmes 32 bits ne voudront pas se lancer. :non:
BlondVador a écrit :Je profite de ce sujet pour savoir si je suis autorisé à modifier le Wiki pour aiguiller les utilisateurs vers une solution qui leur convienne : performance pure (Nvidia standalone), autonomie (intel standalone) ou un compromis des deux (bumblebee) puisque cela n'est pas forcément clair au premier abord.
Il n'est pas nécessaire de demander l’autorisation pour modifier le Wiki, tous les utilisateurs inscrits peuvent le faire. C'est un espace collaboratif, n'importe qui est invité à y apporter une contribution. Si tu as des doutes, tu peux ouvrir une discussion sur le Wiki ou sur le forum. Dans le pire des cas (ce qui est très rare), il y aura toujours d'autres personnes qui vérifieront tes changements, et si ça ne va vraiment pas, alors ils seront annulés. Donc tu peux éditer sans soucis. :chinois:
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par MPereira »

Exact Xorg, mais ce que je veux dire en fait c'est qu'il faut installer lib32-nvidia-libgl (dans le cas d'une install. Nvidia Standalone) qui fonctionne mieux avec ma carte graphique parce que Bumblebee utilise lib32-mesa-libgl qui est mal pris en charge par ma Nvidia mais bien avec ma Intel (je penses).

Sinon, une petite précision: pour "basculer" entre les deux cartes graphiques il est necessaire de "jongler" entre les différentes librairies parce que les librairies nvidia et mesa (pour l'IGPU) ne peuvent pas être installées en même temps. J'ai alors réaliser un script qui permet d'automatiser toutes les tâches: remplacement du 20-nvidia.conf et installation des bonnes librairies en fonction de la carte graphique.
Ce qui donne à peu près ça :

Code : Tout sélectionner

#!/bin/bash
#séléction du GPU
echo Quelle carte graphique choisir ? Saisir I pour Intel et N pour Nvidia
read graph

#si intel choisi, copier le bon fichier de conf (depuis un répertoire spécifique) et install des bonnes librairies
if [ $graph == I ] 
then
	sudo cp intel.conf /etc/X11/xorg.conf.d/20-nvidia.conf
	sudo pacman -S mesa-libgl lib32-mesa-libgl
	
	
else
#si nvidia choisi, copier le bon fichier de conf (depuis un répertoire spécifique) et install des bonnes librairies
	if [ $graph == N ] 
	then
		sudo cp nvidia.conf /etc/X11/xorg.conf.d/20-nvidia.conf
		sudo pacman -S nvidia-libgl lib32-nvidia-libgl
		


	fi
fi
RQ: pacman demande confirmation et remplace les librairies comme un grand :wink:. Pour ce qui est des pilotes (xf86-video-intel et nvidia ), les deux peuvent être installées en même temps.
Dernière modification par MPereira le jeu. 27 août 2015, 20:09, modifié 4 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par benjarobin »

Sauf que raté, Bumblebee utilise bien les lib de lib32-nvidia-libgl et non lib32-mesa-libgl. En faite les lib sont dans lib32-nvidia-utils.
lib32-nvidia-libgl ne contient que des liens symboliques vers les fichiers de lib32-nvidia-utils...
Ce n'est pas la raison de "cela fonctionne mieux", c'est un peu plus compliqué que cela
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par MPereira »

Ahh dac Benjarobin, j'avais pas saisi la nuance, c'est claire maintenant ^^ je ne sais pas trop pourquoi cela fonctionne mieux mais en tout cas il y a une réelle différence :wink:
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par BlondVador »

Ce qui donne à peu près ça :
J'ajouterai même un petit :

Code : Tout sélectionner

sudo systemctl start ctrl-alt-del.target
à la fin afin de relancer le serveur X et donc de démarrer sur la carte choisie dans ton Xorg.conf :).
MPereira
newbie
Messages : 8
Inscription : sam. 08 août 2015, 11:51

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par MPereira »

Effectivement, ça évite le reboot manuel ^^
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par Xorg »

BlondVador a écrit :

Code : Tout sélectionner

sudo systemctl start ctrl-alt-del.target
J'ai jamais vu (et utilisé) ce target à ce jour. C'est quoi, un reboot ? Je ne comprends pas quand MPereira dit que ça évite le reboot. :)
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17222
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par benjarobin »

La doc indique que cela réalise la même chose qu'un Control+Alt+Del depuis un tty, soit la même chose qu'un reboot... Donc je ne comprend pas non plus
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
BlondVador
Chu Ko Nu
Messages : 302
Inscription : ven. 29 janv. 2010, 21:41

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par BlondVador »

Quand je lance ce target, mon serveur X est kill puis relancé, ce qui m'évite le reboot complet de ma machine.
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [bumblebee] performance du gpu intégré supérieur (résolu)

Message par Xorg »

Chez moi un Ctrl + Alt + Back tue mon serveur X (ou un Alt + Print + K si je veux être plus radical :twisted: ), mais un Ctrl + Alt + Del redémarre bien ma machine.

Tu dois avoir quelque chose qui se relance tout seul ce qui explique pourquoi la machine ne s'arrête pas et te relance un serveur graphique automatiquement, genre un gestionnaire de connexions, non ?

Si tu veux recharger le système sans redémarrer, il y a Kexec, mais je n'ai jamais réussi à le faire fonctionner correctement avec Systemd et Arch, donc je ne peux pas t'expliquer comment faire mais le wiki le peut. :P
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
Répondre