Scripts et Programmation

Améliorer les performances des jeux sous Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction





Il peut être intéressant, pour les "gamers" d'avoir de bonnes performances en jeu.

Cette astuce est notamment valable si vous utilisez un jeu prévu initialement sous Windows, et que vous jouez avec Wine.



Les ordinateurs portable récents utilisent la technologie Optimus, c'est à dire que la carte NVidia n'est utilisée qu'en cas de demande forte de 3D; le reste du temps, c'est le chipset graphique Intel (intégré au processeur Intel i5 ou i7 qui fait l'affichage).

Le pilote NVidia supportant uniquement la technologie Optimus, il faut donc avoir installé bumblebee pour utiliser la carte NVidia.




L' but du script, sera dans un premier temps de lancer un nouveau serveur graphique, avec aucune application lancée dedans, ni effets 3D (de KDE par exemple).

Ensuite, de lancer le jeu uniquement dans ce serveur graphique.

Ainsi, toute la puissance de la 3D sera dans ce serveur graphique, pour notre jeu, puisque seul notre jeu est lancé dans ce serveur graphique.



Ce second serveur X est généralement accessible via la combinaison de touches Ctrl+Alt+F8.

Pour revenir au serveur graphique par défaut, cela se fera par Ctrl+Alt+F7.



Le Script





Dans mon exemple, la commande kdesu -c est la commande permettant de demander le mot de passe root via la boite de dialogue KDE. Pour GNOME ou autre environnement de bureau, il faudra adapter.

La commande optirun précédant la commande wine est une commande spécifique à bumblebee (carte NVidia Optimus).

La commande wine est le logiciel à lancer. Si le jeu n'utilise pas WINE, mettre le nom de l'exécutable du jeu directement. Remplacer wine par wine64 si l'application à émuler par WINE est une application 64bits.



Code BASH :
#!/bin/bash
 
export WINEPREFIX="$HOME/.wine/" #On exporte le profile WINE (si l'application est une application à lancer par WINE, sinon inutile)
 
kdesu -c "X :3 -ac -terminate &"   # Lance sur un nouveau serveur X affichage 3 
sleep 1 #On temporise d'une seconde, pour s'assurer que le nouveau serveur X est bien lancé.
DISPLAY=:3 optirun wine /media/DATA/Jeux/Euro_Truck_Simulator_2/bin/win_x86/eurotrucks2.exe #On lance notre super jeu avec DISPLAY=:3 <commande pour lancer le jeu>