Starcraft2

From ArchWiki
Revision as of 22:59, 3 September 2011 by MDuo13 (Talk | contribs) (Configure Wine: updated the sound notes for new versions of Wine)

Jump to: navigation, search

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Starcraft2#)

Environment

You need Kernel <= 2.6.32 or kernel>=2.6.35

Note: core/kernel26 is up to date (both i686 and x86_64). Just make sure to run pacman -Syu and reboot.

Without such a kernel, you will get one of these errors at the start most of the time:

PRIV_INSTRUCTION, ACCESS_VIOLATION or Internal Battle.net Error

Wine >= 1.2

You need wine >= 1.2. community/wine is recent enough.

$ pacman -S wine

Configure Wine

The sound in Starcraft 2 in Wine versions 1.3.25 and later works out of the box. For older versions of Wine, you must either disable the mmdevapi library, or use openal.

Warning: If you disabled mmdevapi previously, you won't get any sound on new versions of Wine until you remove the exception.
  • For normal sound output (versions before 1.3.25)
$ winecfg
Go to Libraries, add "mmdevapi" and set it to "disabled".
  • Or you can install openal, in which case the mmdevapi setting isn't required:
# pacman -S openal
# pacman -S lib32-openal (this line is only necessary for x86_64)
  • Install libjpeg and libldap:
# pacman -S libjpeg libldap
# pacman -S lib32-libjpeg lib32-libldap (this line is only necessary for x86_64)
  • Edit the registry
$ regedit
Go to HKEY_CURRENT_USER/Software/Wine/Direct3D
To create new entries: Right-click on Direct3D, select New -> String Value
DirectDrawRenderer      opengl
Multisampling           disabled
OffscreenRenderingMode  pbuffer
PixelShaderMode         enabled
RenderTargetLockMode    readtex
StrictDrawOrdering      disabled
UseGLSL                 disabled
VertexShaderMode        hardware
VideoMemorySize         1536 (Change this to however much memory your card has)
$ sh winetricks vcrun2005 vcrun2008
  • To get rid of some warnings that may or may not matter, you may want to install the following on x86_64:
# pacman -S lib32-esound lib32-mpg123 lib32-jack
  • Don't emulate a virtual desktop for the installer.
  • If the installer doesn't work, backup and remove your .wine directory.
  • If you are asked to install Gecko, then click install to do so.
  • If the installer hangs while downloading patch 1.03, install ie6, and set the wine version to windows XP:
$ sh winetricks ie6
$ winecfg
Go to Applications, set Windows Version to "Windows XP"
  • If your game says "Your StarCraft II installation is corrupt" don't fret, you've just forgotten to install lib32-libldap:
# pacman -S lib32-libldap

Installing StarCraft II

Installing from DVD

  • Mount DVD/DVD Image, (unhide invisible data), for example:
$ mount -o ro,unhide,uid=1000 /dev/dvd /media/dvd (for the DVD)
$ mount -o loop,ro,unhide,uid=<your_id> <starcraft.iso> /media/dvd (for an image) 
  • Start the installer:
$ wine start /media/dvd/Installer.exe

Blizzard Downloader

  • Get the downloader from your battle.net account (you need to log in).
  • You may want to go to View -> Preferences and check "Don't throttle background download".
  • During the install, you will need about twice the space of the installed game, since it downloads to a temporary directory (of your choice) before installing. This directory can be deleted after install.

Starcraft 2 demo

https://us.battle.net/account/sc2-demo.html The download is 1.56 GB. You need to have a battle.net account.

The demo got replaced by StarCraft II: Starter Edition.

Playing StarCraft II

$ cd .wine/drive_c/Program\ Files/StarCraft\ II/
$ wine start StarCraft\ II.exe

(Or use the Starcraft II icon, but that'll make it more difficult to troubleshoot in case you have problems.)

Hints for Performance Tuning

  • CTRL+ALT+F shows FPS
  • Launching the game with the -opengl flag has been reported to increase performance. (This may be specific to the mac version.)
  • Disabling Shader in wine could help, if FPS is too low. (It may also cause the game to not work at all. Again, possibly only mac.)
  • Make sure that you are not using old graphics drivers. Nvidia drivers should be 256.35 or later (extra/nvidia is up to date).
  • Edit the variables.txt in your My Documents/Starcraft II/ following the guide here

x86_64

If you are running a 64bit version of Arch Linux, you may have trouble getting the updating done. Since StarCraft 2 uses Internet Explorer to render all the HTML pages, you need to have Internet Explorer installed. However, by the installer of IE6 will warn you that 64bit is not supported. By default, if you have created your wine configuration directory (~/.wine), it will be set to 64 bit. To overcome this problem, you can either recreate your ~/.wine configuration, or if you wish to keep your current ~/.wine configuration see the alternative method below. If you wish to recreate your ~/.wine configuration simply remove the ~/.wine directory, add export WINEARCH="win32" to your ~/.bashrc, logout of X, login once again and launch wine. It should create a ~/.wine folder. Next install ie6 with

$ winetricks ie6

More information can be found here


Alternative Method: Updating while keeping your 64bit ~/.wine directory

This method uses a separate wine directory installed as 32bit. So the first step is to setup this alternate wine configuratoin. The easiest way to do this is to install a wine configuration for a separate user. You don't need to logout for this, just open up your terminal of choice and:

$ login alternateuser

or if you're going to use root:

$ su

Enter password, remove any already existing wine configuration supposing you don't use wine from this user, then set wine to use 32bit architecture and generate the configuration:

$ export WINEARCH="win32"
$ winecfg

Install/update the wine configuration. No other settings need to be set after updating so you can just close the wine configuration window. Then use winetricks to install ie6:

$ winetricks ie6

When that's done, use the new configuration to run Starcraft II.exe from your user's 64bit /home/user/.wine directory where Starcraft 2 is installed:

$ wine /home/user/.wine/drive_c/Program\ Files\ \(x86\)/Starcraft\ II/Starcraft\ II.exe

This will run the updater/patcher installing all the patch files to your 64bit ~/.wine directory using the alternate user's 32bit .wine directory containing ie6. Close the updater when it's finished and you can then remove the new 32bit .wine configuration or keep it for later updates. Now you can go back to playing from your regular user using 64bit wine.

Other Problems

  • For some, the game crashes upon exit.
  • If you want to use pulseaudio, compile it from AUR. Pulseaudio may have a big performance impact, see Pulseaudio Troubleshooting
  • (There seems to be more issues with ati cards than nvidia.)
  • For some, in-gamechange of resolution does not work. Editing 'width=x' and 'height=y' in Variables.txt in My Documents/Starcraft II solves this issue. Replace x and y with the prefered resolution.

References and Resources