Diablo III 2.0.1 update on Wine
Just updated Diablo III with the new 2.0.1 mega patch. Diablo III was originally installed using PlayOnLinux’s Diablo III installer which installs the game under a custom version of Wine 1.5.5.
The 2.0.1 update not only upgrades the game but also updates the Diablo launcher to the new Battle.net launcher. First impressions of the game after the big update were great which worked flawlessly.
When exiting Diablo III following the update and restarting you are then prompted to install an update to the Battle.net launcher, after the launcher update it crashes preventing you from being able to launch the game.
The crash report references the following;
Unhandled exception: page fault on read access to 0x00000009 in 32-bit code (0x7e8cbc2c).
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:7e8cbc2c ESP:069be748 EBP:069be830 EFLAGS:00210206( R- -- I - -P- )
EAX:08cde038 EBX:7e91da5c ECX:001fb108 EDX:7e911aac
0x069be748: 0000000b 00000000 00000000 00000000
0x069be758: 00000000 08cde0b8 00000001 069be830
0x069be768: 1024434f 001fb100 00000000 08cde0b8
0x069be778: 001fb100 001fb348 00000000 069be7b4
0x069be788: 7e8c311e 001fb348 00000014 7e8bd8d0
0x069be798: 7e8bd8d0 08cde0b8 1028ff49 0021dcb0
=>0 0x7e8cbc2c CertGetCertificateChain+0xac() in crypt32 (0x069be830)
An uneducated guess would be that the “crypt32” message may be related to an incompatibility with some encryption type or DRM used by the launcher and Wine’s implementation of crypt32.dll or there’s something missing from the registry. No mention of the issue yet on the Battle.net forums so I’ve started a thread on the Diablo III forum which can be found at http://us.battle.net/d3/en/forum/topic/11883998580
[UPDATE]: Thanks to luke10 for posting a link to a thread on the PlayOnLinux forums regarding the dbghelp library this has also been discussed in the thread on the Diablo III forum too.
Running the Battle.net launcher (and Diablo III under a later version of Wine) fixes the Crypt32 error and delays the launcher from crashing long enough to allow you to launch a game.
This alone does not stop the launcher from crashing later on, to fix that one must also disable the ‘dbghelp’ library in wineconf, however Diablo III requires dbghelp so disabling for the whole wine instance breaks the game so dbghelp must be enabled for the game.
Assuming you’re using PlayOnLinux to manage your Wine instances as this is included with Chapeau, doing this is a straight forwarda affair;
Firstly select the Diablo III launcher icon in the PlayOnLinux interface and select configure, in the configuration windows select the add button [+] next to the Wine version field;
In the wine version manager window select the
1.7.13 1.7.16 in the left-hand “Available” list and select the [>] button, this will trigger PlayOnLinux to download this version of Wine.
Once finished version
1.7.13 1.7.16 will be visible in the right-hand “Installed” list, close the window.
Back in the configuration window select version
1.7.13 1.7.16 in the Wine version field;
Select the Wine tab and then the [Configure Wine] button.
This will open wineconf, under the Application tab ensure the Windows Version is set to “Windows 7” before selecting the [OK] button.
Now select the [Applications] tab, select [Add application].
Browse to [Program Files]>[Diablo III], select “Diablo III.exe’ and select [Open].
Ensure ‘Diablo III.exe’ is selected in the Applications list under ‘Default Settings’
Select the [Libraries] tab again, enter dbghelp in the [New override for library] field, then select the [Add] button.
With the dbghelp selected in the list this time select the [Edit] button and select [Builtin], then [OK].
Now select [OK] in wineconf and close the remaining PoL configuration window. You will now be able to run Battle.net which not only allows you to run the game but also handles game updates.