Page 1 sur 1

[Syncro vertical] Vsync forcé avec optirun

Publié : jeu. 12 janv. 2017, 16:52
par Chevalier Numérique
Bonjour, étant doté de la technologie optimus j'utilise primusrun et optirun pour jouer à mes jeux sur steam.
J'utilise depuis quelques heures optirun pour jouer à cs:go et ce dernier me donne de meilleur performance que primusrun, le soucis est qu'avec primusrun l'option

Code : Tout sélectionner

vblank_mode=0
fonctionne, mais avec optirun cela ne fonctionne pas. J'ai donc la vsync activer sur cs:go et cela est très dérangeant.. :( Quelqu'un saurait t'il comment résoudre ce soucis ?

Merci. :wink:

Re: [Syncro vertical] Vsync forcé avec optirun

Publié : jeu. 12 janv. 2017, 16:58
par Chevalier Numérique
J'ai trouver ça => http://stackoverflow.com/questions/1719 ... r-glxgears
J'ai testé ça

Code : Tout sélectionner

__GL_SYNC_TO_VBLANK=0
Mais rien ne change

Re: [Syncro vertical] Vsync forcé avec optirun

Publié : ven. 13 janv. 2017, 20:33
par BlondVador
Bonjour,

Il n'est pas possible, à ma connaissance, d'activer la synchronisation verticale avec Optirun (et primusrun).

Il faut utiliser le reverse PRIME :
https://wiki.archlinux.org/index.php/NV ... ing_nvidia

Ce qui aura pour conséquence que ton GPU Nvidia sera en permanence utilisé (et donc une réduction de l'autonomie de ton laptop). Mais tu constateras un important gain de performance par rapport à une solution Optirun/Primusrun.

Il faut ensuite activer la synchronisation PRIME, je donne de rapide détails ici, ainsi que la source avec tous les détails :
viewtopic.php?f=6&p=158083#p158083

En espérant avoir pu t'aider ;).

Re: [Syncro vertical] Vsync forcé avec optirun

Publié : dim. 15 janv. 2017, 03:54
par Chevalier Numérique
Bonjour, si je n'avais pas la vsync sur mes jeux j'aurais pas posté une demande d'aide pour ne pas l'avoir.
Tu me propose une solution qui me rajouterais un plus gros soucis, donc non, tu ne m'aide pas.

J'utilise un wm et un compositeur, ce dernier me donne la vsync sur mon système utilisant la intel, pour je switch pou un jeux avec ma nvidia.
Lorsque je lance un jeux avec la commande :

Code : Tout sélectionner

pkill compton && vblank_mode=0 primusrun
Je kill mon compositeur puis je lance le jeu avec la nvidia, en l'occurence cs:go. J'atteint les 90FPS sans la vsync. le jeu marche normalement, mais je n'ai plus mon compositeur avec la transparence etc..

Lorsque je lance un jeux avec la commande :

Code : Tout sélectionner

pkill compton && LD_PRELOAD=/usr/lib/nvidia/libGL.so __GL_SYNC_TO_VBLANK=0 vblank_mode=0 optirun
J'ai toujours la vsync activer bien que j'ai kill mon compositeur. dans le man d'optirun aucune info n'est données pour la vsync tandis que pour primusrun il y en a.

La commande sur terminal (avec mon compositeur activer et donc avec la vsync):

Code : Tout sélectionner

vblank_mode=0 primusrun glxgears
me renvoi :

Code : Tout sélectionner

ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
1289 frames in 5.0 seconds = 257.683 FPS
enfin cette me commande avec optirun

Code : Tout sélectionner

__GL_SYNC_TO_VBLANK=0 optirun glxgears
ou

Code : Tout sélectionner

vblank_mode=0 optirun glxgears
me renvoi :

Code : Tout sélectionner

1077 frames in 5.0 seconds = 215.366 FPS
Je n'ai pas la remarque "ATTENTION: default value of option vblank_mode overridden by environment." cette dernière indique que j'ai demandé à désactiver la vsync via

Code : Tout sélectionner

vblank_mode=0
et que cette valeur est réécrite ar l'environnement, à savoir, mon compositeur. donc optirun ne prend pas en compte la demande de ne pas avoir de vsync.
Donc, optirun me force la VSYNC.