Diablo 3 Guide

diablothree84.jpg


Diablo 3 is the long awaited successor to Diablo 2. We all waited 12 years to see what Blizzard Entertainment would conjure up to renew the franchise. It was well worth the wait! Return to the town of Tristram with new classes, weapons, loot and beautiful graphics.

diablothree92.jpg


Follow my step-by-step guide on installing, configuring and optimizing Diablo 3 in Linux with PlayOnLinux.

Note: This guide applies to the Battle.net version of Diablo 3. Other versions may require additional steps.

Tips & Specs:

To learn more about PlayOnLinux and Wine configuration, see the online manual: PlayOnLinux Explained

Mint 18.3 64-bit
PlayOnLinux: 4.2.12
Wine: 3.0

Wine Installation

Click Tools
Select "Manage Wine Versions"
wine01.png


Look for the Wine Version: 3.0
Select it
Click the arrow pointing to the right
wine02.png


Click Next

Downloading Wine
wine04.png


Extracting

Downloading Gecko
wine05.png


Installed
wine06.png



Downloading Battle.net

Go to: www.battle.net
Click "Get the desktop app for Battle.net"
diablothree01.png


Click Download
diablothree02.png


Click Windows
diablothree03.png


Navigate to your desktop
Click Save
diablothree04.png


PlayOnLinux Setup

Launch PlayOnLinux
Click Install
diablothree05.png


Click "Install a non-listed program"
diablothree06.png


Click Next

Select "install a program in a new virtual drive"
Click Next
diablothree08.png


Name the virtual drive: diablo3
Click Next
diablothree09.png


Check all three options:
  • Use another version of wine
  • Configure Wine
  • Install some libraries
Click Next
diablothree10.png


Select Wine 3.0
Click Next
diablothree11.png


Select "32 bits windows installation"
Click Next
diablothree12.png


Wine Configuration

Applications Tab
Windows Version: Windows 7
diablothree13.png


Graphics Tab
Check "Automatically capture the mouse in full-screen windows"
Click OK
diablothree14.png


PlayOnLinux Packages (DLL's, Libraries, Components)

Check the following:
  • POL_Install_corefonts
  • POL_Install_d3dx9
  • POL_Install_tahoma
Click Next
diablothree15.png


Note: All packages will automatically download and install

Installing Battle.net

Click Browse

Navigate to your Desktop
Select "Battle.net-Setup.exe"
Click Open
diablothree17.png


Select Language
Click Continue
diablothree19.png


Uncheck "Add desktop shortcut for Battle.net"
Click Continue
diablothree20.png


An error about Battle.net Helper.exe will pop up
diablothree37.png


Battle.net installation will crash, but its still installed
Uncheck "Send to Blizzard"
Click Close
diablothree38.png


PlayOnLinux Shortcut

Wait for the shortcut dialog to appear
Select "Battle.net.exe"
Click Next
diablothree24.png


Name your shortcut: Diablo III
Click Next
diablothree25.png


Select "I don't want to make another shortcut"
Click Next
diablothree26.png


PlayOnLinux Configure

Select Diablo III
Click Configure
diablothree27.png


General Tab
Wine version: 3.0
diablothree28.png


Note: Click the + to download other versions of Wine. Click the down-arrow to select other versions of Wine.

Display Tab
Video memory size: Enter the amount of memory your video card/chip uses
diablothree29.png


Installing Visual C 2015

Miscellaneous Tab
Click "Open a Shell"
Copy/Paste:
Code:
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Press Enter

Copy/Paste
Code:
chmod +x winetricks
Press Enter

Copy/Paste
Code:
WINEPREFIX=/home/username/.PlayOnLinux/wineprefix/diablo3 ./winetricks -q vcrun2015
Press Enter

Note: Replace "username" with your login

Close Shell

Close Configure

Launching Diablo III

Select Diablo III
Click Run
diablothree30.png


Click the Gear
Click "Continue without logging in"
diablothree21.png


Select Diablo III
diablothree22.png


Click "Start Install"
diablothree23.png


Wait for Diablo III to install...
Click Play
diablothree31.png


Login
diablothree36.png


Optimization

Press Esc key or click Settings icon
Click Options
diablothree34.png


Adjust:
  • Display
  • Resolution
  • Lock cursor
  • Letterbox
  • Vertical Sync
  • Reflections
  • Fax Foreground FPS
  • Max Background FPS
  • Texture Quality
  • Shadow Quality
  • Physics
  • Clutter Density
  • Anti-Aliasing
  • Low FX
Click Apply
Click Accept
diablothree35.png


Conclusion:
Diablo III ran perfectly once I realized Battle.net could be launched without signing in. There is a bug with something related to authenticating and I was never able to sign-in to Battle.net. So you can still download Diablo III in Battle.net and then sign-in after launching the game. Then I was able to play just fine, even co-op worked great.

Gameplay Video:

Screenshots:
diablothree82.jpg


diablothree83.jpg


diablothree86.jpg


diablothree87.jpg


diablothree88.jpg


diablothree89.jpg


diablothree91.jpg


diablothree93.jpg


diablothree94.jpg


diablothree95.jpg
 
Last edited:
hi i have make the tutorial 1:1 with the same OS and PlayOnLinux the same configs but its doesnt work i have become 2 errors with the

api-ms-wincrt-convert and api-ms-win-crt-time after try to self fix with manuel adding the libarys on (nativ, builtin) this i have now this problem

[01/09/17 14:09:28] - Running wine-1.8 Battle.net Launcher.exe (Working directory : /home/crawler/.PlayOnLinux/wineprefix/diablo3/drive_c/Program Files/Battle.net)
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:wininet:InternetSetOptionW Option 77 STUB
fixme:wininet:InternetSetOptionW Option 77 STUB
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

<html><head><title>Object moved</title></head><body>

<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>

</body></html>

wine: Unhandled page fault on read access to 0x0000049c at address 0x10b489bb (thread 018a), starting debugger...
wine: Unhandled page fault on read access to 0x0000049c at address 0x10b489bb (thread 01af), starting debugger...
wine: Unhandled page fault on read access to 0x0000049c at address 0x10b489bb (thread 01d6), starting debugger...
wine: Unhandled page fault on read access to 0x0000049c at address 0x10b489bb (thread 01e5), starting debugger...
 
Looks like Visual C 2015 didn't install. Try this part again, make sure to copy/paste the entire line and remember to replace "username" with your Linux login name:

Installing Visual C 2015

Miscellaneous Tab
Click "Open a Shell"
Copy/Paste:
Code:
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
Press Enter

Copy/Paste
Code:
chmod +x winetricks
Press Enter

Copy/Paste
Code:
WINEPREFIX=/home/username/.PlayOnLinux/wineprefix/diablo3 ./winetricks -q vcrun2015
Press Enter

Note: Replace "username" with your login

Close Shell
 
ok now i have make a compleat new without my changes and i have become this:

crawler@crawler-PC:~ > WINEPREFIX=/home/crawler/.PlayOnLinux/wineprefix/diablo3 ./winetricks -q vcrun2015
Using winetricks 20170101 - sha1sum: ed948de8a10666cab5fe393765a9804c532639d0 with wine-2.0-rc3 and WINEARCH=win32
Executing w_do_call vcrun2015
vcrun2015 already installed, skipping

thats come if i try this step

and this if from the error log from PoL after start the game
[01/11/17 13:52:03] - Running wine-1.8 Battle.net Launcher.exe (Working directory : /home/crawler/.PlayOnLinux/wineprefix/diablo3/drive_c/Program Files/Battle.net)
fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
fixme:wbemprox:client_security_SetBlanket 0x7e0ebae8, 0x131338, 10, 0, (null), 3, 3, (nil), 0x00000000
fixme:wbemprox:client_security_Release 0x7e0ebae8
fixme:wbemprox:enum_class_object_Next timeout not supported
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
fixme:wbemprox:client_security_SetBlanket 0x7df53ae8, 0x14b080, 10, 0, (null), 3, 3, (nil), 0x00000000
fixme:wbemprox:client_security_Release 0x7df53ae8
fixme:wbemprox:enum_class_object_Next timeout not supported
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:wininet:InternetSetOptionW Option 77 STUB
err:wininet:eek:pen_http_connection create_netconn failed: 12029
fixme:win:EnumDisplayDevicesW ((null),0,0x33f518,0x00000000), stub!
fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f950
fixme:wininet:InternetSetOptionW Option 77 STUB
fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)").
fixme:win:EnumDisplayDevicesW ((null),0,0x33f228,0x00000000), stub!
fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f668
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
fixme:ver:GetCurrentPackageId (0x456e9f8 (nil)): stub
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:advapi:EventRegister {5eec90ab-c022-44b2-a5dd-fd716a222a15}, 0x202483b, 0x209f6d0, 0x209f6e8
fixme:advapi:EventSetInformation 2, 0x209b49a, 43
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:advapi:EventRegister {5eec90ab-c022-44b2-a5dd-fd716a222a15}, 0x1ae1123, 0x1eff110, 0x1eff128
fixme:advapi:EventSetInformation 2, 0x1e6a3b0, 43
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
wine: Call from 0x7b83e742 to unimplemented function api-ms-win-crt-time-l1-1-0.dll._W_Gettnames, aborting
wine: Unimplemented function api-ms-win-crt-time-l1-1-0.dll._W_Gettnames called at address 0x7b83e742 (thread 003e), starting debugger...
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
</body></html>
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
</body></html>
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
</body></html>
fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
 
Last edited by a moderator:
some Linux Mint Versions before i have only startthe scripts from PoL whats happen that this do not longer work?
 
You might be able to run Diablo 3 from a PlayOnLinux script, but I never used them. I prefer a manual installation because it teaches you how to setup, install and configure PlayOnLinux manually so you can update the version of Wine yourself.

The script does everything for you, but if it doesn't work, you are stuck with a broken game.

Per your error:
Wine is still complaining about Visual C 2015... I'm not sure why?

wine: Call from 0x7b83e742 to unimplemented function api-ms-win-crt-time-l1-1-0.dll._W_Gettnames, aborting
wine: Unimplemented function api-ms-win-crt-time-l1-1-0.dll._W_Gettnames called at address 0x7b83e742

I'm pretty sure this "api-ms-win-crt-time" is related to Visual C 2015, but I'm not sure why it is erroring.
 
To those who may still be having trouble getting this to work: I had to use the 32-bit version of WINE 1.9.23 via PlayOnLinux. For some reason, WINE 2.0 causes the game to crash for me. But it plays perfectly on the slightly older version. Even if you are using 1.8, try 1.9.23 and see if that works.
 
Thank you for the tips. I haven't tested Diablo 3 in a while. One good reason to stick with PlayOnLinux is those older Wine versions.
 
I purchased two copies of Diablo III and am now able to run them in Wine 2.0.3

The guide has been updated to reflect some of the changes like:
  • Can't log into Battle.net
  • Installation Crashes
  • Logging into Diablo III
 
Running this on Mint 18.3 - I was getting endless popups about battle.net helper.exe
I finally had to chmod 000 to it to make it stop :)
The main battle.net window is still running along and downloading the game so it does not appear to be preventing anything as far as I can tell ... yet anyways
glaw@fedora Battle.net.9799 $ pwd
/home/glaw/PlayOnLinux's virtual drives/D3/drive_c/Program Files/Battle.net/Battle.net.9799
glaw@fedora Battle.net.9799 $ chmod 000 Battle.net\ Helper.exe

(yeah, my mint system name is fedora ;) )
 
I'm just ignoring the pop-up because it only appears once, unless you close it, then it will continuously re-appear.

Then I would open Battle.Net without logging in.
 
Fiddling around with Process Explorer on my Windows partition, I noticed the battle.net app depends heavily on chromium.

So I installed gecko on the virtual drive and I can now log in.
Also, the helper crashes once for me now, and after closing it everything works fine. I've played Starcraft, Diablo and even Hearthstone on the thing without much issues.

With that said, I've been using POL for about 14 hours, so I'm not entirely sure that's the only step needed to fix the issue. Could someone test and get back to us? Also, if you tell me how, I could provide you with a list of everything done on the drive before getting it to work (I actually threw everything I could think of at it, so it might need gecko + some other package I bombarded it with).

Hope it works! please let me know :)
 
That is GREAT news! I'll try installing Gecko as well an see if I can finally login to Battle.net client.

I only use what the guide recommends, but was never able to login to battle.net
So I have the minimum:
  • corefonts
  • d3dx9
  • d3dx10
  • d3dx11
  • tahoma
 
I have gone through this guide step by step to install it. It seems to have installed, but still isn't working. I click on the play button and it just sits there. Says is loading then the play button appears again. It never gives me the Diablo logon. I have a fresh copy of linux mint 18.3 installed. Apparently I am missing something but not sure what.
 
Welcome to the forum!
Make sure you are using a "staging" version of Wine.
In my initial tests regular Wine worked until there was an update.
Now only "staging" versions work like: 2.21-staging

Sometimes Battle.net needs an update or needs to be restarted. Try closing it and then killing all processes:
  1. PlayOnLinux
  2. Select "Diablo 3"
  3. Click Configure
  4. Click Wine Tab
  5. Click "Kill processes"
Then launch Battle.net again. Once you get a "play" button then it will launch Diablo 3 and you will get a login screen.
 
Awesome!
I don't know why Wine processes hang like that when you close or update a game?
But its a quick fix
 
Hey its me again (i love your tutorials :D)
Trying to get Diablo3 installed. battle net installs as its supposed to (but i dont have the whole bug report actions) but when i click the start install button on the dialog box nothing happens... Tried with and without dx10 and 11 and on staging and not staging versions of wine
 
Back
Top