Installation de Steam avec wine
Un article de Wiki de la communauté Mandriva.
Sommaire |
[modifier] Introduction

Ce tutoriel a pour but d'expliquer comment utiliser Wine pour installer sur la Mandriva 2008.1, Steam ainsi que les jeux Valve Counter Strike V1.6, Counter Strike Source et Day of Defeat Source. Les jeux fonctionnent parfaitement à l'exception parfois de la gestion de la voix (microphone).
La plupart des informations ont été glanées depuis la page :
http://www.linux-gamers.net/modules/wiwimod/index.php?page=HOWTO+Steam
et sur le site :
Il faut noter que le fonctionnement de ces jeux s'est grandement amélioré depuis la version 9.30.0 de Wine.
[modifier] Prérequis
Il faut impérativement désactiver les effets 3D (Compiz, Beryl, Metisse). Il faut disposer des pilotes propriétaires des cartes graphiques nvidia et Ati. Vous pouvez les télécharger en déclarant le miroir non free :
Synthèse non exhaustive de la déclaration du miroir non free :
- Ouvrir le Centre de Contrôle Mandriva et faire Gestionnaire de logiciels -> Configurer les sources pour installer et mettre à jour des logiciels -> Ajouter -> Sources pour la distribution
- Sélectionner un serveur ftp en France. Par exemple : ftp://ftp.free.fr/
- Automatiquement les miroirs main, contrib et non free sont ajoutés à votre liste.
Actuellement, la version des pilotes nvidia disponible sur ce miroir mandriva est 169.12.4.
Dans mon cas, les paquets suivants sont installés :
[root@localhost ~]# rpm -qa |grep nvidia nvidia-current-doc-html-169.12-4mdv2008.1 dkms-nvidia-current-169.12-4mdv2008.1 x11-driver-video-nvidia-current-169.12-4mdv2008.1 nvidia-current-kernel-2.6.24.4-laptop-1mnb-169.12-4mdv2008.1 nvidia-current-kernel-laptop-latest-169.12-1.20080403.4mdv2008.1
Synthèse non exhaustive de l'installation des pilotes nvidia :
- Ouvrir le Centre de Contrôle Mandriva et faire Matériel -> Configurer le serveur d'affichage
- Sélectionner votre carte graphique. En principe, celle proposée par défaut est correcte.
- Le miroir non free étant déclaré, l'application vous signifie qu'il existe un pilote propriétaire pour votre carte graphique et vous demande si vous désirez l'installer. Acceptez ce choix et le pilote propriétaire nvidia ou ati sera installé.
N'oubliez pas de vérifier le bon fonctionnement de l'OPENGL après avoir lancé la commande glxgears depuis un terminal. Ce programme est disponible dans le paquetage mesa-demos-7.0.2-5mdv2008.1.i586.rpm (urpmi mesa-demos pour l'installer). Il affiche le nombre de fps.
62225 frames in 5.0 seconds = 12444.858 FPS 64211 frames in 5.0 seconds = 12842.038 FPS 64212 frames in 5.0 seconds = 12842.398 FPS
Contrôler également que l'accélération 3D est activée :
[root@SOLAR ~]# glxinfo |grep render direct rendering: Yes direct rendering: Yes OpenGL renderer string: GeForce 8600M GT/PCI/SSE2 GL_NV_depth_buffer_float, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_vertex_program3, GL_NVX_conditional_render, GL_SGIS_generate_mipmap,
Le champ direct rendering doit être à yes.
J'ai pu valider le bon fonctionnement de Counter Strike Source et Dod Source en 1280x1024. Les jeux sont fluides.
[modifier] Version de Wine conseillée et installation de Wine
La version de Wine conseillée actuellement est la 0.9.58. Toutefois, veuillez consulter le paragraphe Quelques astuces et problèmes connus.
Vous pouvez installer la version disponible sur les miroirs main/release ou main/backport. Il s'agit de la version 0.9.58. Dans ce cas, il suffit de se connecter sous root et de lancer la commande :
.Ou vous pouvez également télécharger la toute dernière version de Wine 0.9.58 depuis le site officiel de Wine http://www.winehq.org/site/download. Pour installer le paquet, connectez-vous en root et exécutez la commande suivante, en modifiant les valeurs x et y en fonction de la version de votre distribution :
[modifier] Installation de la police tahoma
Cette étape n'est plus nécessaire depuis la version 0.9.47 de Wine qui inclut nativement une police équivalente
Elle est nécessaire au bon fonctionnement de Steam.
- Reconnectez-vous avec votre compte utilisateur habituel.
- Téléchargez tahoma32.exe :
- Lancez la commande
[modifier] Installation de gecko
Lancer la commande wine iexplore http://www.planet-libre.org/. Automatiquement, une fenêtre vous propose d'installer Gecko. Veuillez accepter.
Normalement, le site devrait s'afficher dans une fenêtre au terme de l'installation.
[modifier] 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".
[modifier] Installation de Steam
Télécharger le fichier SteamInstall_French.msi depuis le site http://www.steampowered.com/ ou lancer la commande
Lancer la commande :
La déclaration de votre compte étant effectuée, vous pouvez procéder au téléchargement des jeux (CSS, DODS, etc..), etc. Si vous avez une partition Windows accessible et dans laquelle Steam est installée, copier le répertoire :
C:\Program Files\Steam\steamapps
- et uniquement celui-ci - dans :
/home/ton_login/.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.
cd '/home/vouf/.wine/drive_c/Program Files/Steam' chmod -R 755 steamapps
[modifier] Lancer un jeu
[modifier] 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.

[modifier] 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 voir 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.
- -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 |
[modifier] Cas du mod Insurgency Modern Infantery Combat

Il est également possible d'installer le mod Insurgency. Celui-ci fonctionne également très bien avec Wine. A tester absolument !! Pour installer ce mod, vous devez disposer d'au moins un épisode d'Half Life 2, ou CSS, ou DOD Source de façon à disposer du SDK. La procédure à suivre est simple :
- Télécharger la bêta 2 du client insurgency.
- Quitter Steam.
- Lancer la commande wine Insurgency_client_beta_2.exe ".
- Exécuter Steam.
- Vérifier que le module "Source SDK Base" se télécharge dans la rubrique outil de Steam.
- Une fois le téléchargement finalisé, vous pouvez lancer le jeu depuis Steam.
[modifier] Installation de Red Orchestra

Testé et installé à partir des informations trouvées sur ce site Ce jeu, très intéressant en termes de stratégie, est à l'origine un mod d'Unreal. Il fonctionne aussi bien en directx qu'en OpenGL. Il fonctionne très bien en OpenGl sous linux, moyennant quelques adaptations :
- Télécharger et installer le jeu depuis l'interface Steam
- Editer le fichier
~/.wine/drive_c/Program Files/Steam/steamapps/common/red orchestra/System/RedOrchestra.ini
(taper toute la commande sur une seule ligne) :
- Commenter les lignes commençant par RenderDevice en ajoutant un ";" devant sauf pour "RenderDevice=OpenGLDrv.OpenGLRenderDevice"
- Vérifier que "StartupFullscreen=True", enregistrer le fichier et quitter.
- Télécharger le fichier dinput.dll.so (fichier mouse_wine_0.9.xx.zip) qui correspond à la version de Wine utilisée sur le site http://fxlegrand.free.fr/winehq/patches/ .
- Se connecter en root, sauvegarder le fichier /usr/lib/wine/dinput.dll.so en /usr/lib/wine/dinput.dll.so.sav et copier le nouveau fichier patché à cet emplacement.
Voilà vous pouvez maintenant exécuter le jeu depuis l'interface Steam.
[modifier] Exécuter les jeux Valve 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.
[modifier] Quelques astuces et problèmes connus
[modifier] Des soucis avec le son
Pulseaudio n'est pas pleinement supporté par wine. Son utilisation ne permet pas de profiter du son dans les jeux. Le plus simple est de le désactiver ou de ne pas rediriger Alsa vers celui-ci. Pour cela accédez au centre de contrôle, rendez-vous dans la section matériel, et cliquer sur l'icône son. Faites les modifications désirées depuis l'utilitaire graphique. Un reboot est conseillé pour la prise en compte des changements.
Sous KDE, il peut être conseille 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.
Remarque : 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".
[modifier] 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 :
Rechercher le texte "Frame.TransitionEffectTime" et remplacer la valeur 0.25 par 0.
[modifier] Steam Community
Une mise à jour récente de Steam intègre une évolution nommée Steam Community. Malheureusement, certaines de ses fonctionnalités entraînent un crash lorsque les jeux sources sont en cours de lancement. Pour contourner cet incident, depuis Steam, cliquez sur le menu "Fichier", puis sélectionnez paramètres. Choisissez l'onglet "Dans un jeu" et décochez "Activer la community Steam intégrée au jeu".
Vous pouvez également accélerer 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 -
[modifier] Counter Strike crash
Si vous lancez Counter Strike depuis steam, le menu apparaît quelques secondes puis le programme plante subitement. J'ai constaté ce problème avec le driver nvidia dont la version est 169.07-1. Si vous utilisez la version 100.14-19, l'incident ne se produit pas.
[modifier] 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 :
- 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.
[modifier] 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.).

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.
[modifier] Bug "the registry was use by another process"
Parfois, en voulant lancer un jeu à partir de Steam, un message d'erreur est envoyé : the registry was use by another process. 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 corrige bien ce problème
[modifier] Configurer vos firewalls
Si le firewall de la distribution Mandriva est activé, et éventuellement celui de votre routeur, pensez à ouvrir les ports suivants :
- 1200/udp
- Plage 27000:27015/udp
- Plage 27020:27039/tcp
[modifier] Conclusion
Wine progresse régulièrement et supporte de mieux en mieux directx. Dod source et Counter Strike Source fonctionnent à peu près correctement. Mon expérience m'amène à penser que pour ces jeux, Wine est plus adéquate que cedega (fps supérieurs, facilité d'installation). L'équipe Wine travaille maintenant à assurer une meilleure compatibilité avec alsa. Il est donc possible d'espérer dans un futur proche l'utilisation de Teamspeak et des jeux simultanément.
Bonne chance, j'espère que ce tuto vous donnera quelques pistes pour jouer à vos jeux favoris. Si vous avez des astuces, n'hésitez pas à les poster pour enrichir ce tuto.