wiki:Blog/CSonWine

Document Original


Jouer à CS Sous Linux, via Wine

Les prérequis: Wine 0.9 ou plus et corefonts, OpenGL accéléré

Vous aurez avant tout besoin d'une carte graphique proprement configurée et installée, avec les drivers propriétaires adaptés, afin d'avoir une accélération matérielle fonctionnelle. Je ne m'étendrais pas sur les détails dans ce guide, ce n'est pas son but, sachez juste que les cartes nvidia sont fichtrement mieux supportées… (Drivers stables, et performants, ça n'est pas encore le cas chez ATi…). Bref, pour l'installation & la configuration de ces drivers, si ce n'est pas déjà fait, reportez vous à la documentation de votre distribution. (Sous Gentoo, un emerge nvidia-glx nvidia-kernel suffit à installer les modules nvidia en eux-même, il ne restera plus qu'a configurer XOrg pour charger ces nouveaux modules)

En passant, un petit lien utile pour configurer votre souris correctement, afin de profiter de tous ces jolis boutons (Sous Xorg 6.9/7.0)… Personnellement je dois encore jouer avec Xmodmap derrière pour organiser les boutons dans l'ordre qui me plaît, et le driver evdev est un poil buggé sur le nombre de boutons, ce qui dans mon cas (MX510), fait fonctionner le bouton 5 un peu bizarrement (Pas le même code de bouton sur la relâche que sur la pression :/) :)

Note pour les utilisateurs Gentoo

Quelques pistes pour la configuration de X & des drivers ATi/nVidia:


Configuration de X
Guide drivers nVidia
Guide ATi
Et pour le fun:
Guide de migration vers Xorg 7.0 (Modulaire) pour les rebelles comme moi (Ne vous lancez pas si vous n'êtes pas sûr de vous!)
Guide de localisation, si ce n'est pas déjà fait
Bref, la Liste des docs et le Forum Gentoo sont vos amis ;)

Pour éviter les problèmes, vous aurez besoin d'une version de wine relativement récente, évidemment de préférence la dernière (0.9.8 à l'heure où j'écris ces lignes). Sous Debian, cela implique apparemment d'utiliser la branche sid et le repo Wine (deb http://wine.sourceforge.net/apt/ binary/) (Pas de Debian sous la main pour vérifier).

Sous Gentoo, toute la branche 0.9 est passée en stable depuis le 14 janvier, et les snapshots ont été masqués, un

emerge -av wine

devrait donc suffire à tomber sur la branche 0.9. Dans le cas contraire, synchronisez votre arbre portage, et au pire masquez les versions snapshots à la main:

echo "# Wine Snapshots" >> /etc/portage/package.mask 
echo "=app-emulation/wine-2004*" >> /etc/portage/package.mask 
echo "=app-emulation/wine-2005*" >> /etc/portage/package.mask 

Si vous n'êtes pas encore très familier avec Portage, je vous conseille la lecture de cette présentation, de ce guide, et éventuellement de celui ci pour découvrir un outil très utile ;)

Pour les autres distributions, plus d'infos sont disponibles sur le site de wine

Niveau polices d'écriture, vous aurez besoin des polices Microsoft®, communément appelées corefonts.

Sous Debian:

apt-get install msttcorefonts

Sous Gentoo:

emerge corefonts

Vous aurez en prime sous certaines distributions (Gentoo par exemple), besoin de la police Tahoma, qui ne fait plus partie des derniers paquets corefonts (Problème de license? Vous risquez peut-être d'avoir besoin de posséder une license Windows pour l'utiliser légalement). Un coup de google tahoma.ttf devrait suffire ;) (Ce fichier est ensuite à placer dans votre répertoire de fontes TrueType?, en général /usr/X11/lib/X11/fonts/truetype [/usr/share/fonts/corefonts sous Gentoo avec un X modulaire]).

Configuration de Wine

Afin d'éviter les mauvaises surprises, j'effectue toujours une configuration de base de wine grâce à l'outil Sidenet

wget http://sidenet.ddo.jp/winetips/files/wine-config-sidenet-1.9.1.tgz
tar -xvzf wine-config-sidenet-1.9.1.tgz
cd wine-config-sidenet

Petite pause pour aller télécharger 2 ou 3 trucs, à ranger dans le dossier wine-config-sidenet:

DCOM98
Windows Installer
MFC 4 runtime
N'oubliez pas de décompresser l'archive dans le cas des runtime MFC 4.

Zou, retour à sidenet, on le lance:

./setup

On choisit l'option Installation manuelle, et on suit les instructions ;)

Installation de Steam

On télécharge l'installateur Steam, et on le lance avec wine, tout ce qu'il y a de plus classique ;)

wine SteamInstall.exe

S'il crash (ça a été reporté plusieurs fois, vers les 26 ou 27% en particulier), relancez le, ça devrait passer.

Si le problème des 26% persiste, 2 solutions s'offrent à vous, une fois avoir cd dans le répertoire Steam tout frais:

mv SteamNew.exe Steam.exe
wine Steam.exe

Ou si le problème subsiste:

wine steamTmp.exe SelfUpdate "H:\Program Files\Steam\steam.exe" 14 

(En corrigeant les path, et éventuellement après avoir tué tous les process wine et supprimé le dossier Steam et relancé le SteamInstall? [La commande exacte est celle de la fenêtre steamTmp que vous voyez si vous êtes en mode bureau virtuel]).

J'ai aussi lu sur le la page Steam de Wine AppDB qu'un gars avait réussi à passer le problème en tuant tous les process wine & en fasant un fake reboot de wine…

killall wine
killall wine-preloader
killall wineserver
wineboot

Lancement de Steam

On cd dans le répertoire où on vient de l'installer, et on le lance via wine, classique ;) Dans mon cas:

cd ~/c/Steam
wine Steam.exe

Voilà, ça n'était pas plus compliqué ;)

Annexe: Problèmes éventuellement rencontrés

Message d'erreur 'Desactiver le mode compatibilité'

Si vous rencontrez un message de ce genre à la fin de l'installation, ou au lancement de Steam, passez en mode Windows 2000 via l'outil winecfg, relancez steam, laissez le se mettre à jour, fermez le est remettez vous en Windows 98, ça devrait fonctionner correctement avec Steam à jour ;)

Problème de focus clavier sur la page de login

Il peut arriver que le focus clavier ne soit pas bien fixé du premier coup sur la page de login, cela se traduit par l'apparition des caractères tapés non pas dans la fenêtre Steam, mais dans la dernière fenêtre ayant eu le focus clavier… Ça s'arrange en général après 2 ou 3 clics dans les 2 cases différentes, et éventuellement un clic droit > copier ;) En ultime recours, vous pouvez aussi passer en mode Desktop via l'utilitaire winecfg.

Problème avec les rendus HTML

Steam utilise à outrance des pages HTML pour présenter ses news, il existe à ce jour 2 solutions en cas de problèmes (rendu incorrect, freeze de wine…) avec ces pages (cela concerne aussi les MOTD HL!)

Dans les 2 cas, la page des news est souvent capricieuse, je vous conseille donc de cliquer très rapidement sur le mode réduit (la grosse flèche horizontale en haut à droite) pendant le chargement des news, et de régler une autre page de démarrage que les news. (Et éventuellement désactiver l'affichage des popups de news en passant).

Installer le contrôle ActiveX Mozilla

Avec cette méthode, toutes les pages devraient être rendues correctement, mais j'ai un doute quand au fonctionnement des téléchargements ingame via sv_downloadurl…

cd ~/c
wget http://downloads.transgaming.com/mozilla_control_downloads/mozcontrol.tgz
tar -xvzf mozcontrol.tgz
cd mozcontrol
wine regsvr32 mozctlx.dll

Bloquer les MOTD CS

(Et accepter les freeze éventuels des pages de news Steam). Il faut pour cela configurer votre steam pour ne pas afficher en page de démarrage les news, ni votre liste de jeu (sauf en mode liste réduite, et encore), sous peine de voir steam crasher presque systématiquement à chaque tentative d'affichage de rendu HTML… Vous devez aussi avoir lancé au moins une fois le jeu que vous voulez utiliser, dans mon cas, CS.

rm -rf ~/c/Steam/SteamApps/votre_compte/counter-strike/cstrike_french/motd_temp.html
touch ~/c/Steam/SteamApps/votre_compte/counter-strike/cstrike_french/motd_temp.html
chmod 0400 ~/c/Steam/SteamApps/votre_compte/counter-strike/cstrike_french/motd_temp.html

J'utilise personnellement la 2e solution, je re-testerais la première à l'occasion ;)

Freeze de Steam peu apres le login, avec une erreur Windows

Je n'ai plus le message exact en tête, mais cela m'est déjà arrivé, en général il suffit de tuer tous les processus wine et de relancer Steam ;)

Crash de wine lors du lancement d'HL

Si vous avez des erreurs relatifs à msvcrt dans la console, vérifiez bien que vous êtes en mode 'Windows 98' via l'utilitaire winecfg, normalement avec un wine récent & la config sidenet il ne devrait pas y avoir de problèmes.

Utiliser les pilotes wine ALSA peut aussi poser problème, en tout cas chez moi ;) Testez en ALSA, et si vous rencontrez des problèmes, repassez en OSS. (Toujours via l'utilitaire winecfg).

Toujours au niveau son, vérifiez bien que vous activez l'accélération matérielle 'Full' dans l'onglet 'Audio' de winecfg, ça peut jouer sur les perfs. De même que la case 'Émulation Pilote', chez moi ça marche bien sans, mais pour vous cela peut-être différent ;)

En dernier recours, vérifiez que vous n'utilisez pas un noyau ultra-patché (pax, execshield…), wine n'apprécie pas forcément, je pense notamment aux noyaux Fedora, distribution connue pour son ToolKit? disons, huum, exotique par certains aspects, pour rester poli ^^. Bref, un bon p'tit -ck ou vanilla ;)

Freeze de wine lors de la sortie d'HL / de Steam

Si vous rencontrez des problèmes lors de la fermeture d'HL ou de Steam, avec des messages en console faisant référence à un dll MSVCR70, vous pouvez essayer de chopper ce dll (un coup de google msvcr70.dll), et de le ranger dans votre ~/c/windows/system ;)

Note sur Wine 0.9.7

J'ai pas vraiment cherché à comprendre pour le moment, mais j'ai l'impression d'avoir perdu pas mal de FPS depuis mon passage à wine 0.9.7… J'vais essayer d'approfondir la chose ;)

Notes

Je ne sais pas si c'est toujours pris en compte, mais j'ai aussi l'habitude de faire mes raccourcis avec la variable d'environnement WINEDEBUG="-all", faudrait que je vérifie si ça change toujours quelquechose.. :)


Notes sur CS:S et Cedega

Cedega

Je tiens tout de même à préciser que tout ce petit monde fonctionne aussi à peu près correctement sous Cedega (5.0.3 à l'heure actuelle, voir le ite pour les distributions binaires payantes, mais aussi le CVS gratuit [Un ebuild CVS est présent dans l'overlay Zugaina, pour les Gentooistes]), à condition d'utiliser un vieil installateur Steam, ou de se taper la config cedega de l'exe à la main (Cf Ce post). De mon expérience personnelle, c'est _largement_ plus rapide et stable sous Wine… Les seuls problèmes que j'ai avec Wine sont la difficulté à gérer correctement les switchs de Desktop KDE, et les fenêtres steam always on top, mais c'est assez mineur comme inconvénients ;) D'où le focus de ce document sur Wine ;) Par contre l'installation sous Cedega demande il est vrai un peu moins de 'bidouilles', mais bon… Wine pawah!

CS:Source

À l'heure actuelle, CS:S tourne sous Wine, en mode DirectX 7 uniquement (En spécifiant -dxlevel 70 dans les paramètres de lancement, à configurer dans les paramètres du jeu sous Steam), mais les performances sont loin d'êtres optimales… (~20 FPS chez moi, avec le FSAA X2 et l'AA X4 certes, mais quand même ^^). Sous Cedega, ça fonctionne à peu près correctement, même si j'ai personnellement eu de très mauvaises expériences, des crashs / bugs incessants, etc, mais il faut avouer que les performances sont largement supérieures que sous Wine, et que ça tourne en DirectX 8, voire 8.1. J'ai rapidement testé sous Cedega 5.0.3, ça avait enfin l'air de fonctionner correctement, pas eu de crash sur les Flash/Bombes?/HE ;)


Je préférerrais que les commentaires se limitent au blog ;)

Last modified 12 years ago Last modified on Dec 3, 2006, 8:28:56 PM