Steam sous Mandriva Linux

De Wiki de la communauté Mandriva.

Ce didacticiel a pour but d'expliquer comment utiliser Wine pour installer sur la Mandriva 2008.1, Steam tels que Counter Strike : Source et Day of Defeat Source. Les jeux fonctionnent parfaitement à l'exception parfois de la gestion de la voix (microphone).
Counter Strike : Source lancé avec Steam sous Mandriva.

Sommaire


Avant de continuer, vous devez vous assurer des éléments suivants pour jouer dans les meilleures conditions :
  • Il est très recommandé de désactiver les effets 3D de Compiz. Les effets 3D de KDE ne posent pas de problème généralement et peuvent être interrompos en pressant ALT+SHIFT+F12.
  • Vous devez utiliser les pilotes graphiques propriétaires des cartes Nvidia ou ATI. Vous pouvez les activer via Image:Drakx11-icon.png Drakx11.
  • L'accélération 3D doit être activée (elle est activée par défaut).


Installation de Wine

Pour installer wine, lancez Image:drakrpm-icon.png Installer et désinstaller des logiciels et recherchez le paquet wine .

Sélectionnez-le et cliquez sur Appliquer. Aide

Vous pouvez également installer en utilisant la console en tant qu'administrateur : urpmi wine

Vous pouvez également télécharger la dernière version de Wine depuis le site officiel ou en activant le dépôt main/backport.


Configuration de Wine

Lancer la commande winecfg.

Dans l'onglet application : pour Version windows, sélectionner windowsXP.

Dans l'onglet affichage :

  • Cocher « Permettre aux applications directx d'empêcher la souris de quitter ... »
  • Décocher « Emuler un bureau virtuel »
  • Cocher « Permettre au gestionnaire de fenêtres de contrôler les fenêtres »
  • Support du Vertex Shader : matériel
  • Cocher « Permettre le pixel shaders »

Dans l'onglet audio :

  • Pilote Alsa est activé
  • Pilote OSS est désactivé.
  • Acceleration Matérielle : Full
  • Emulation Pilote est décoché
  • Échantillonnage à "48000"
  • Bits par échantillon à "16" bits

Pour ceux qui rencontrent des problèmes avec le support sonore, veuillez vous rendre dans la section "Quelques astuces et problèmes connus".


Installation de Steam

Vous pouvez télécharger le programme d'installation de Steam depuis le site officiel.

Une fois que vous avez renseigné les champs pour vous connecter à votre compte, vous pouvez procéder au téléchargement des jeux.

Astuce !

Si vous avez un système Windows accessible où Steam est installée, vous pouvez copier le répertoire C:\Program Files\Steam\steamapps - et uniquement celui-ci - dans /home/UTILISATEUR/.wine/drive_c/Program Files/Steam.

Vous éviterez ainsi des heures de téléchargement inutiles. Pensez toutefois à modifier les droits de ce fichier de manière à pouvoir disposer des droits en écriture.


Lancer un jeu

Exécuter Steam

Pour lancer Steam :

env WINEPREFIX="$HOME/.wine" WINEDEBUG=-all wine "C:\Program Files\Steam\Steam.exe"

Vous pouvez créer une icône sur votre bureau avec cette commande.

Image:Wine_steam.png‎


Exécution d'un jeu Valve

Pour installer un jeu, il suffit de double-cliquer sur celui-ci depuis l'interface de Steam. Suivez l'assistant, et le téléchargement débutera. Une fois terminé, pour lancer un jeu source ou Counter Strike, il suffit de double-cliquer à nouveau sur le jeu. Vous pouvez également créer un script (par exemple launch_CS.sh ) avec une commande du type :

#!bash
cd ~/.wine/drive_c/Program\ Files/Steam && WINEDEBUG=-all wine Steam.exe -fullscreen -width 1280 -height 1024 -applaunch 10 -heapsize 512000 -novid

Le WINEDEBUG=fixme-all est essentiel voire OBLIGATOIRE. C'est grâce à lui que vous augmenterez les performances fps des jeux. En effet, il évite d'avoir des messages d'erreurs en grand nombre dans la console et allège le CPU.

  • -gl : permet de forcer l'utilisation de l'opengl pour les mods hl1 (Half Life, Counter Strike, Team Fortress, Day of Defeat, etc..)
  • -fullscreen : permet d'avoir le jeu en plein écran
  • -Width 1280 - height 1024 : à configurer selon la définition de votre écran
  • -novid : désactive l'affichage de la vidéo, accélère le chargement du jeu
  • -console: force le lancement de la console dans les jeux Valve
  • -autoconfig : réinitialise la configuration des paramétrages sonore et vidéo du jeu
  • -nosound : empêche le jeu d'utiliser votre carte son
  • -dxlevel 81 : force l'utilisation de la version indiquée de DirectX (8.1 dans l'exemple), les valeurs peuvent être : 70, 81 ou 90
  • -heapsize ZZZ: permet d'allouer une certaine quantité de RAM au jeu, à renseigner selon le tableau ci dessous :


Quantité mémoire Valeur heapsize
4gb 2097152
3gb 1572864
2gb 1048576
1gb 524288
512mb 262144
256mb 131072


  • -applaunch XX : permet de sélectionner le jeu à lancer avec XX à configurer selon la liste ci-dessous :
Jeux HL Valeur applaunch
Counter Strike 10
Team Fortress Classic 20
Day of Defeat 30
Deathmatch Classic 40
Opposing Force 50
Ricochet 60
Half Life 70
Counter Strike Condition Zero 80


Jeux HL2 Valeur applaunch
Counter Strike Source 240
Day of Defeat Source 300
Half Life 2 220
Half Life 2 : Deathmatch 320
Half-Life 2 Lost Coast 340


Exécuter les jeux dans un second serveur X

Cette astuce a été trouvée sur le site de linuX-gamers.net.

Il est possible d'exécuter vos jeux depuis un serveur X dédié. Ainsi, votre bureau est indépendant de l'exécution des jeux. Vous pouvez basculer sur le second serveur X par la combinaison de touches CTRL+ALT+F8 et jouer, revenir sur votre bureau sans fermer le jeu via la combinaison CTRL+ALT+F7 et ainsi de suite. Si le jeu plante pour une raison particulière, il suffit de tuer le second serveur via la combinaison de touche CTRL+ALT+BACKSPACE et vous vous retrouverez dans votre environnement par défaut. Cela ne nuit en rien aux performances, au contraire !!

Pour ce faire, il faut d'abord créer un script Bash qui se nommera lance_steam.sh

#!bash
env WINEPREFIX="$HOME/.wine" WINEDEBUG=-all wine "C:\Program Files\Steam\Steam.exe -fullscreen -width 1280 -height 1024 -applaunch 10 -heapsize 512000 -novid"

Puis de créer un second script qui se nommera steam.sh qui force l'exécution du script et lance_steam.sh sur le serveur :1.0 :

#!/bin/bash
xinit $HOME/lance_steam.sh $* -- :1

Pensez à donner les droits d'exécution à ces programmes : chmod 755 ${HOME]/lance_steam.sh et chmod 755 ${HOME]/steam.sh

Pour lancer Steam dans un second serveur, exécutez simplement le script steam.sh.

Il est possible que vous obteniez un message d'erreur du type :

Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified
xterm Xt error: Can't open display: :0.0

Ce message apparaît car X ne vous autorise pas à créer ce nouveau serveur. Pour résoudre ce problème, procédez comme suit : Dans un terminal, tapez la commande xauth.

[vouf@localhost ~]$  xauth
Using authority file /home/vouf/.Xauthority
xauth>

Exécutez ensuite la commande list pour afficher vos autorisations :

xauth> list
localhost/unix::0 MIT-MAGIC-COOKIE-1 68d682a4f137b4f4679248eybc36a7c5
xeroc/unix:0 MIT-MAGIC-COOKIE-1 68d682a4f137b4f4679248eybc36a7c5

Comme vous pouvez le constater, nous sommes ici autorisés à exécuter uniquement le cookie MIT-MAGIC-COOKIE-1-Code sur le serveur localhost/unix::0. Nous allons faire en sorte d'obtenir l'autorisation de l'exécuter sur le second serveur localhost/unix:1.0.

xauth> add :1.0 MIT-MAGIC-COOKIE-1 68d682a4f137b4f4679248eybc36a7c5

Pour sauvegarder ce paramétrage, tapez exit

xauth> exit

Si vous tapez, "quit" les changements ne seront pas sauvegardés.


Résolution de problèmes connus

Problèmes de son

Sous KDE, il est conseillé de fermer kopete, Amarok, et les applications qui monopolisent les ressources de la carte son. De plus, si vous observez des grésillements lorsque vous jouez, vous pouvez positionner dans l'onglet Audio l'Acceleration Matérielle à Emulation.

À noter !
Utiliser Alsa pour profiter d'un fonctionnement simultané avec Teamspeak si celui-ci est exécuté avec la commande "aoss" ou "padsp" avec PulseAudio.Teamspeak peut être installé également depuis wine. Les meilleurs résultats sont toutefois obtenus avec la commande "padsp".


Optimiser l'affichage de Steam

Il est très fortement conseillé de réduire Steam avant de lancer un jeu. Celui-ci à tendance à consommer de nombreuses ressources machines lorsqu'il est en plein écran. Cela vous apportera un gain notable de fps en plein jeu.

Depuis l'option Paramètres de Steam, onglet messages, je vous conseille de désactiver l'option Sorties et Nouvelles à venir.

Pour améliorer l'affichage des polices,si vous disposez de Windows, vous pouvez copier le contenu du répertoire c:\windows\fonts vers /home/votre_login/.wine/drive_c/windows/fonts.

Pour désactiver les effets de transparence des fenêtres Steam qui ne font que le ralentir, éditer le fichier :

Image:Konsole.png
[utilisateur@ordi ~]$ kwrite $HOME'/.wine/drive_c/Program Files/Steam/resource/steamscheme.res'

Rechercher le texte "Frame.TransitionEffectTime" et remplacer la valeur 0.25 par 0.


Steam Community

Vous pouvez également accélérer le lancement de steam en exécutant la commande suivante dans un terminal. Celle ci permet de désactiver la connexion au réseau d'amis steam par défaut :

echo -ne "REGEDIT4\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography]\n\"MachineGuid\"=\"$(uuidgen)\"\n" | wine regedit -

L'envoi et la réception de messages à ses amis steam ne fonctionne qu'à partir de la version 1.1.6 de wine.

Améliorer les performances DirectX

Depuis Wine 0.9.49, le " GL Shading Language" pour les vertex et pixel shaders est activé. Le problème est que cela diminue significativement les performances directx. Il est possible de le désactiver en procédant comme décrit ci-dessous

  • Dans un terminal, lancer l'éditeur de registre délivré par Wine :
Image:Konsole.png
[utilisateur@ordi ~]$ regedit
  • Se positionner dans le répertoire : HKEY_USERS\S-1-5-4\Software\Wine
  • Dans ce répertoire, créer une nouvelle clé Direct3D . Un répertoire Direct3D vient d'être créé.
  • Dans ce dernier, créer une nouvelle "valeur chaîne" que vous nommerez "UseGLSL" en cliquant sur le menu "Edition/Nouvelle/Valeur Chaîne".
  • Fixer la valeur de cette chaîne à "disabled"
  • Quittez l'éditeur

Vous pouvez éventuellement réactiver cette fonction en forçant la valeur de cette variable à "enabled" Vous pouvez profiter de cette action pour déclarer la mémoire de votre carte vidéo en créant une "Valeur Chaîne" qui se nommera VideoMemorySize. Dans ce cas, fixer sa valeur à 256 si par exemple votre carte vidéo comporte 256 Mo.


Astuces jeux

Pour CS, forcer le jeu à fonctionner en opengl et non en directx. Activer ce mode depuis les options du jeu. Vous aurez des performances excellentes.

A titre indicatif, voici mes réglages vidéo sous Dod Source. J'ai un bon taux de fps qui dépasse 50.).

Image:Config_video_dod.jpg


Si par hasard, Counter Strike Source refuse de se lancer, vous pouvez essayer de forcer la définition de votre écran. Par exemple, voici la procédure à suivre pour un écran en 1280x1024 : Dans Steam clic droit sur le jeu, puis "Définir les options de lancement" et ajouter -novid -width 1280 -height 1024.


Message d'erreur : The sound hardware is in use by another app

Lors du chargement d'un jeu, il se peut que vous soyez confrontés à ce message d'erreur : The sound hardware is in use by another app'.

Cette erreur est gênante et fréquente chez certaines personnes. La cause est un ou plusieurs autres processus qui bloquent le serveur de son ALSA. La solution est assez simple à réaliser. Cet exemple vous permet de solutionner le problème chez vous lorsqu'il apparaît.

Ouvrez une console et passez en mode super-utilisateur (root). Ensuite, tapez la commande suivante : service alsa restart. Après avoir validé, vous devriez avoir un message similaire :

Image:Konsole.png
[root@ordi ~]# service alsa restart

Doing alsactl to store mixer settings... [ OK ]
no. (sound is being used by pid 12242 12256 12242 12256)) [ÉCHEC ]

ALSA driver is already running.Doing alsactl to restore mixer service[ OK ]

Il est possible de voir plusieurs nombres. Ces nombres sont les identifiant des processus qui bloquent le son. Vous devez les sélectionner, les copier, et les coller à la suite d'une nouvelle commande comme montré ci-contre.


kill 12242 12256 12242 12256.

(La commande kill (tuer) permet de terminer sans délai les processus récalcitrants).


Enfin, pour que la solution soit prise en compte, exécutez une dernière fois service alsa restart.

Votre jeu aura enfin du son.


Message d'erreur : The registry is in use by another process

Lors du lancement d'un jeu à partir de Steam, il se peut que vous soyez confrontés à ce message d'erreur : The registry is in use by another process'.

Ce n'est pas un message d'erreur critique. Le jeu reste correctement installé et tout à fait exécutable en patientant quelques secondes avant de retenter.

Pour résoudre ce problème, sélectionnez le jeu dans Steam, puis clic droit et sélectionnez propriétés. Choisissez l'onglet Fichiers locaux et cliquez sur Vérification de l'intégrité du cache jeu. Cette opération est un peu longue mais permet (en principe) de remédier à ce problème. Si cela se reproduit après avoir fait la vérification, sachez qu'il vous suffit de patienter quelques secondes, puis de relancer le jeu pour ne plus avoir le message d'erreur.


Configurer le Pare-feu pour les jeux en réseau

Les jeux en réseau nécessitent d'ouvrir certains ports réseaux pour jouer en réseau et sur Internet. Sous Mandriva, vous devez exécuter Image:drakfirewall-icon.png drakfirewall et, après avoir cliqué sur le bouton Avancé, compléter la ligne des ports à ouvrir avec celle-ci :

1200/udp 27000:27015/udp 27020:27039/tcp

Cela va permettre d'ouvrir les ports nécessaires pour le bon fonctionnement des jeux en réseau.


Liens externes

en recherche d’emploi ?