[Syncro vertical] Vsync forcé avec optirun

Applications multimedia / jeux
Avatar de l’utilisateur
Chevalier Numérique
Hankyu
Messages : 15
Inscription : mer. 25 nov. 2015, 14:31
Contact :

[Syncro vertical] Vsync forcé avec optirun

Message par Chevalier Numérique » jeu. 12 janv. 2017, 16:52

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:
#include "ArchLinux
#include <Herbstluftwm.h>

struct Config
{
Boitier[10]="Asus G11CD";
MotherBoard[10]="Asus G11CD";
CPU[20]="Intel I5-6400 3.3GHZ";
GPU[27]="Nvidia Geforce GTX 1060 6GB";
RAM[17]="8 GB DDR4 2133MHZ";
KeyBoard[30]="Cooler Master Masterkeys Lite";
Mouse[49]="SteelSeries Souris Raw Call of Duty Black Ops II";
};
Image
Image

Avatar de l’utilisateur
Chevalier Numérique
Hankyu
Messages : 15
Inscription : mer. 25 nov. 2015, 14:31
Contact :

Re: [Syncro vertical] Vsync forcé avec optirun

Message par Chevalier Numérique » jeu. 12 janv. 2017, 16:58

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
#include "ArchLinux
#include <Herbstluftwm.h>

struct Config
{
Boitier[10]="Asus G11CD";
MotherBoard[10]="Asus G11CD";
CPU[20]="Intel I5-6400 3.3GHZ";
GPU[27]="Nvidia Geforce GTX 1060 6GB";
RAM[17]="8 GB DDR4 2133MHZ";
KeyBoard[30]="Cooler Master Masterkeys Lite";
Mouse[49]="SteelSeries Souris Raw Call of Duty Black Ops II";
};
Image
Image

BlondVador
yeomen
Messages : 296
Inscription : ven. 29 janv. 2010, 21:41
Contact :

Re: [Syncro vertical] Vsync forcé avec optirun

Message par BlondVador » ven. 13 janv. 2017, 20:33

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 ;).
Custom laptop :
ArchLinux x64-ck + OpenBox
SSD 480Go BiWIN SATA
i7-6700HQ
2x8Go RAM HyperX IMPACT 2133MHz
Nvidia GTX 970M

Avatar de l’utilisateur
Chevalier Numérique
Hankyu
Messages : 15
Inscription : mer. 25 nov. 2015, 14:31
Contact :

Re: [Syncro vertical] Vsync forcé avec optirun

Message par Chevalier Numérique » dim. 15 janv. 2017, 03:54

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.
#include "ArchLinux
#include <Herbstluftwm.h>

struct Config
{
Boitier[10]="Asus G11CD";
MotherBoard[10]="Asus G11CD";
CPU[20]="Intel I5-6400 3.3GHZ";
GPU[27]="Nvidia Geforce GTX 1060 6GB";
RAM[17]="8 GB DDR4 2133MHZ";
KeyBoard[30]="Cooler Master Masterkeys Lite";
Mouse[49]="SteelSeries Souris Raw Call of Duty Black Ops II";
};
Image
Image

Répondre