Starcraft2 sur Debian
Sommaire |
Introduction
Je me suis obstiner à faire tourner Stracraft 2 sur mon Linux. Vu que j'ai affronté quelques galères et que je n'ai trouvé que peu d'information (et qui plus est fort éparse), je me suis dit que j'allais en faire un petit article sur mon wiki.
English translation
In my stats I saw that many people were translating this page (via google translator). And because my english is not the best but don't suck neither, I decided to translate this page.
Here is the translation: Starcraft2 on Debian.
Ma configuration
Certains problèmes que j'ai eus étaient lié à ma configuration Hardware. Alors voici l'environnement sur lequel j'ai installé StarCraft2. À vous d'extrapoler pour votre cas.
Hardware
- Intel i7
- nVidia GForce GT 220
Plus de détails ici...
Software
- Debian Squeeze adm64
- Kernel 2.6.32-5-amd64
- wine 1.2 (compilé), Mais j'ai aussi testé wine 1.3 (aussi compilé)
- nvidia-kernel-source v195.36.24-4
Monter le DVD
Faire une image du DVD et le monter:
dd if=/dev/sr0 of=/home/user/Games/StarCraft2/StarCraft2.iso mount -o ro,unhide,uid=1000,loop /home/user/Games/StarCraft2/StarCraft2.iso /media/cd-iso
Install de la dernière version de wine
La version de wine sur les repository de debian pour squeeze et sid est la 1.0.1-3. Tandis qu'il faut au moins la version 1.2 voir 1.3. Je n'ai pas trouvé de dépot qui me plaisait et qui fournissait une version suffisante. J'ai donc compilé wine.
Tout d'abord, l'installation des dépendances:
apt-get build-dep wine
Pour les possesseur de processeur 64bits, on installe également les lib glx 32bits. Sinon le jeu ne voudra pas se lancer et va se plaindre que l'OpenGL est manquant (voir mon post ici)
aptitude install nvidia-glx-ia32
On récupère les sources de wine. Dans l'exemple ci-dessous il s'agit de la version 1.3.0. Mais vous pouvez certainement trouver une version encore plus ressente sur http://sourceforge.net/projects/wine/files/Source/.
wget http://sourceforge.net/projects/wine/files/Source/wine-1.3.0.tar.bz2/download
On extrait l'archive. Et au passage, on renomme l'archive correctement.
mv download wine-1.3.0.tar.bz2 tar -xjf wine-1.3.0.tar.bz2
Compilation
$ ./configure $ make
Installation en tant que root:
# make install
Installation du jeu
Lancez l'installer.exe avec wine:
wine /media/cd-iso/Installer.exe
Normalement, tout ce passe bien, il suffit de suivre les instructions. En fin d'install (ou au premier lancement du jeu je ne sais plus), une mise à jour du logiciel va se faire automatiquement.
Si toute fois, rien ne se passe, reportez vous au troubleshooting qui suit.
Lancer le jeu
Le jeu devrait démarrer normalement en l'executant avec wine.
wine C:\\Program\ Files\\StarCraft\ II\\StarCraft\ II.exe
Si malgré tout rien ne se lance, et/ou vous obtenez un message d'erreur de directX, reportez vous au troubleshooting qui suit.
TroubleShooting
Echec de l'initialisation de DirectX
Problématique
L'installation se passe correctement, la mise à jour également. Mais lorsque je veux lancer le jeu pour la première fois j'obtiens un message d'erreur concernant DirectX. Lors des tentative suivant à lancer le jeu, plus aucune réaction (Pas de message d'erreur et rien ne se lance).
Message d'erreur
Echec de l'initialisation de DirectX. Il faudrait sans doute réinstaller DirectX. Si le problem persiste, pour plus d'informations,veuillez consulter notre site Internet d'assistance à l'addresse starcraft2.com/support.
Message d'erreur en console:
fixme:process:GetLogicalProcessorInformation (0x33fa5c,0x33fd5c): stub fixme:hnetcfg:fw_profile_get_FirewallEnabled 0x139ad0, 0x43cf0e8 fixme:process:GetProcessWorkingSetSize (0xffffffff,0x43ced78,0x43ced7c): stub fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers haven't been installed correctly err:d3d_caps:WineD3D_CreateFakeGLContext Can't find a suitable iPixelFormat. err:d3d:InitAdapters Failed to get a gl context for default adapter Direct3D9 is not available without OpenGL.
J'ai eu les même symptômes avec wine 1.2 et wine 1.3.0
La 3D et l'OpenGL est bien géré.
$ glxinfo | grep "direct rendering" direct rendering: Yes
Solution
En fait le problème vient de mon architecture CPU 64bits, tandis que le jeu est un binaire 32bits. En cherchant sur mon disque, certaines libraires ia32 étaient bien installées mais sans OpenGL.
Il suffit donc juste d'installer ce package:
aptitude install nvidia-glx-ia32
Et de recompiler wine:
$ ./configure $ make # make install
Notes
Différences d'output de ./configure avec et sans les libs glx-ia32
Sans ia32 libs
checking for GL/gl.h... yes checking for GL/glx.h... yes checking for GL/glu.h... yes checking for up-to-date OpenGL version... yes checking for -lGL... not found checking for -lGL... not found checking for -lGLU... not found
Avec ia32 libs
checking for GL/gl.h... yes checking for GL/glx.h... yes checking for GL/glu.h... yes checking for up-to-date OpenGL version... yes checking for -lGL... libGL.so.1 checking for -lGLU... libGLU.so.1
Reinstall de StarCraft
Après l'intallation des lib glx-ia32 et la recompilation de wine, j'ai également réinstaller le jeu. Ce n'est sans doute pas nécessaire c'est pour ça que je ne l'ai pas rajouter dans la solution de se troubleshooting.
Echec de la mise à jour
Problématique
Lors du téléchargement de la mise à jour, un message wine apparaît et préviens que le programme a échoué. Pourtant le téléchargement continue mais bloque un peu plus tard.
Solution
Lancer winecfg. Et dans onglet Bibliothèques ajoutez la DLL mshtml et donner lui la valeur 'native'.
Plus de son dans le jeu
Problématique
Lors de l'installation le son des animation passe correctement. Mais une fois le jeu lancé, plus de son!
Solution
Lancer winecfg. Et dans onglet Bibliothèques ajoutez la DLL 'mmdevapi'; puis modifiez la valeur à 'Désactivée'.
Brouillard sur 'Havre de Paix'
Problématique
La mission Havre de paix' est injouable à cause d'un épais brouillard gris (Voir ce screenshoot). Il est a noter que l'autre choix de mission, 'Chute du Havre' quant à elle fonctionne correctement.
J'ai testé plusieurs mise à jour de wine sans succès.
Description du Bug n°23906 sur winehq.
Solution
En réinstallant Starcraft sans conserver ses configurations!
J'ai solutionné mon problème par hasard lors de ma migration de mon PC avec la dernière Debian et des nouveaux file systems en ext4. Je ne suis malheureusement pas sûr de ce qui posaient problème. Mais dans un commentaire sur winehq on peut lire ceci: "it was solves by deleting Variables.txt found in /home/user/Starcraft II/. When you restart you lost all your settings however when you reconfigure those the fog seems to be gone."
Traduction : "J'ai solutionné mon problème en supprimant le fichier Variables.txt se trouvant dans /home/user/Starcraft II/. Quand vous redémarrez Starcraft, vous avez perdu toutes vos configurations, mais après les avoir redéfinies le brouillard semble avoir disparu."
Il se pourrait donc que supprimer uniquement ce fichier Variables.txt suffirait.