Starcraft2 sur Debian

De SeRoM - Wiki
Aller à : navigation, rechercher

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.