Skip to content

Wine Plus BattleNet

WINE + BATTLENET APP

PREFIX SETUP

  • You will need the system 32 & 64 bit libraries for libldap, gnutls
  • Use the latest wine-staging
  • You must use a 64 bit prefix set to Windows 10
  • Using wintricks, install : wininet corefonts vcrun2005 vcrun2008 vcrun2015
  • Install BattleNet

Here are the commands to replicate what I did on my systems. Some components, such as being anal about "WINEARCH=64", may not be needed in all spot, but I prefer to force the issue rather than tempt fate (fate is not a good friend of mine).

  1. Get prefix built and start getting the meat and potatoes installed for getting BattleNet installed:

    WINEARCH=win64 WINEPREFIX=/home/andrew/Games/wine/BattleNet winetricks -q corefonts wininet
    WINEARCH=win64 WINEPREFIX=/home/andrew/Games/wine/BattleNet winetricks -q win10
    
  2. Get BattleNet installer, I will show here on the CLI:

    curl -o /home/andrew/Games/wine/Battle.Net-Setup.exe "https://us.battle.net/download/getInstaller?os=win&installer=Battle.net-Setup.exe&id=290573456.1505264452"
    chmod a+x /home/andrew/Games/wine/Battle.Net-Setup.exe
    
  3. Run BattleNet setup and quit out after you are finished installing. DO NOT LOG IN! May take a few moments. A crash of the app after installation when it tries to load up is fine, as we are missing the remaining winetricks stuff.

    WINEARCH=win64 WINEPREFIX=/home/andrew/Games/wine/BattleNet wine /home/andrew/Games/wine/Battle.Net-Setup.exe
    
  4. Add the remaining winetricks components and reset back to win10

    WINEARCH=win64 WINEPREFIX=/home/andrew/Games/wine/BattleNet winetricks -q vcrun2005 vcrun2008 vcrun2015
    WINEARCH=win64 WINEPREFIX=/home/andrew/Games/wine/BattleNet winetricks -q win10
    
  5. Fire up BattleNet, but DO NOT LOG IN

    WINEPREFIX=/home/andrew/Games/wine/BattleNet/ wine /home/andrew/Games/wine/BattleNet/drive_c/Program\ Files\ \(x86\)/Battle.net/Battle.net\ Launcher.exe
    
  6. Settings repair time!

    * Click the settings gear to open the pulldown and select "Settings"
    * In The "Advanced" section, untick "Use browser hardware acceleration when available"
    * Click the "Done" button.
    * Log in using your credentials.
    
  7. Install your games. Refer below as to what needs to be fixed for each title.

APPLICATION NOTES

BATTLENET APP SETUP

  • When logging into the BattleNet App initially, click the little gear in top right, move mouse down to click "Settings" & go to "Advanced" tab and check "Disable browser acceleration"

GAME SPECIFIC SETUP

Each title may require SOMETHING to be done to enable its functionality. Here are the list of games, and their respective remedies. A baseline requirement is to have a functional Windows 10 64-Bit prefix with DXVK.

DIABLO II : RESURRECTED

  • Should work without modifications.

DIABLO III

  • Should work without modifications.

HEARTHSTONE

  • In BattleNet, goto the Hearthstone game settings and set the game launch option to be "-force-d3d9".
  • There is an exit issue for some folks. The fix for this is either xkill or an ALT-F4 sadly.

HEROES OF THE STORM

  • In BattleNet, goto the Heroes of the Storm game settings and set the game launch option to be "-force-d3d9".
  • In BattleNet, goto the Heroes of the Storm game settings and set the game to "Luanch 32-bit client".

OVERWATCH

  • Should work without modifications.

STARCRAFT REMASTERED

  • Should work without modifications.

STARCRAFT II

  • Should work without modifications.

WARCRAFT III : REFORGED

  • Should work without modifications.

WORLD OF WARCRAFT

  • Should work without modifications.

MANAGING ADDONS

*This topic is currently in daily flux thanks to Curseforge now actively picking and choosing whom may access their API. WoWUp, my previous choice has been completely blocked out and is currently trying to implement new methods for getting devs code to the users without anyone feeling screwed over (Curse fiasco is over ad revenue). I will try to not rewrite this section unless needed, but there may be a point where there is only one option, CurseForge.***

Curse now works with Wine. So you can use the native CurseForge client (preferred), or another solution detailed below.

The easiest two methods are using an AppImage of natively written tools. This is the preferred method on my end for management, as the other tools lack discovery or are just janky in some way that annoys ME.

APPIMAGES

WINE LAUNCHED HELPER TOOOLS

There are several tools that one may want that require another tool besides the addon. I will detail what I have, or know personally people that have, used on Linux in more recent times.

  • TukUI Client - Works great, make sure to create a win10 64bit prefix and all you need is dotnet48.
            WINEPREFIX="/home/andrew/tukui/" WINEARCH=win64 WINVER=win10 wineboot
            WINEPREFIX="/home/andrew/tukui/" winetricks -q dotnet48
            WINEPREFIX="/home/andrew/tukui/" wine "/home/andrew/Downloads/Tukui Setup.msi"
    
WOWMATRIX
  • WoWMatrix -- a decent solution but missing a notable chunk of addons. Most useful ones are there, so this is not as bad of a solution as you may initially be led to believe.

Installation and usage is rather straightforward. Download the Java program, flag it executable, and run it. It will self update. You will point this at your WoW installation directory, and it can scan and manage what it knows in its database.

LCURSE
  • LCurse -- This is a Python based unofficial client for Curse.

You have two options, manage using git, or manually via the tarball/zip archive. The latter is rather straightforward. However the git method is best and far more flexible.

  1. The dependencies are straightforward, all Python3 libraries. You can do either a:

    pip3 install -r requirements.txt
    

    Or you can do this on Fedora :

    sudo dnf install python3-{qt5,lxml}
    
  2. Make a directory somewhere that you wish to have lcurse live. I chose ~/Applications/. Open a terminal and 'cd' into that directory.

  3. Run the following command to clone the directory. This will create a new directory, "lcurse", that will have a copy of the entire remote repo.

    git clone https://github.com/ephraim/lcurse
    
  4. To run lcurse

    cd lcurse
    ./lcurse
    
  5. To update in the future (one could script this along with running lcurse afterwards, ensuring that the application is always up to date when run)

    cd /path/to/lcurse # The application's directory, this will have a .git/ folder and the lcurse binary
    git pull