Version patched by GOG for Windows 10
At a first glance the GOG installer makes the job without problems, except some skippable out of vars errors. The package contains the vanilla game, and the original game with Hellfire expansion with a custom ddraw wrapper intended to emulate the old DirectDraw to Direct3D 9 on modern Windows operating systems.
Using the GOG launcher and the wrapper utility works and all options are selectable. Since ddraw.dll are a protected library provided by Wine, it is necessary to add a ddraw override to native to make the intended setup to play.
The real problem is when starts a new game, no matter with or without the GOG wrapper, the game crashes just after the first two videos (Blizzard).
The same happens with the Hellfire expansion.
Still workarounds exists to overcome as it will be explained afterwards.
What does not
The game simply crashes when it was expected to display the game's menu in order to select the options and play the game. This always happens on both two versions, no matter the tricks used, even using the Virtual Desktop option.
Without installing third party wrappers the game are simply unplayable.
There's two main solutions to solve the problem:
The first option are to replace the GOG ddraw wrapper to another one, and using my experiments with two different machines I conclude that the dgVoodoo2 wrapper are the main contender to play with the original engine, but suffers the black screen bug requiring some expertize to pass. Once successful passed, the game runs and plays without great issues.
The other option are to install a third-party engine like the Freeablo, DevilutionX or Tchernobog. Notice that the DevilitionX offer a clean vanilla experience of Diablo game, while Tchernobog adds new characters and quests to the original game. Notice that all fan-made engines replaces DirectDraw to the most portable and robust SDL framework.
What was not tested
Realistically, anything unrelated to single player was not tested. It is not a good idea to make trial and error experiments when multiplayer using IPX, or serial networks when no visual feedback are possible.
Also all third-party fan-made engines deprecated all obsolete networking methods making all networking play exclusively using the TCP/IP protocol.
The games runs on a Clevo laptop with hybrid Intel/Nvidia graphics using the new official primusvk offload utility as long it uses the following two methods:
1. The first is the Vulkan rendering method, requiring to delete the GOG wrapper and install the dgVoodoo2 wrapper and the DXVK. Once overriden the dlls on winecfg, it also requires to enable the Virtual Desktop option to complete the setup. Without this, the game window will self minimize making any mouse or keyboard events broken.
It requires to press the Enter key some times (when hear the hammer stroke sound, means a validated keystroke), and fill a name for the character, when the user only see a black screen. If the correct number of keys are pressed, the black screen changes to the expected game screen, and everything will work from this point.
To load a saved game (luckily it only support a single save), just press Enter until the game loads.
It is optional to use the dgVoodoo2 utility to upscale the original 640*480 game resolution to anything supported by the GPU, without changing the relative sizes of the GUI elements and gameplay. (FullHD resolution are fine). Override MSAA to 8x and 16x anisotropic filtering makes the upscaled image more smooth.
The Intel GPU using Mesa drivers provided by Debian can handle the dgVoodoo2 option with Vulkan drivers and plays the game perfectly fine, but it is advisable to not exaggerate higher anisotropic filtering, that can cause some frame-drops. Such tasks are better handled by the dedicated Nvidia GPU.
2. The other method are to install DevilutionX or Tcherborg, that are installed by Wine without issues and only requires the original diablo.mpq archive file to run. The first engine had a native Linux port, while the second runs on Wine without any tricks. The latter engine support native upscaling image, or native higher resolutions but the GUI elements will be smaller and the visible game field increases.
This engines runs without issues with unlocked framerates and only needs the Intel GPU to work.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Show||Fedora 34 x86_64||Aug 17 2021||6.13||Yes||Yes||No||Bronze||Dan|
|Show||Ubuntu 19.10 "Eoan" (+ variants like Kubuntu)||Mar 22 2020||5.4||No, but has workaround||No||Yes||Garbage||Per Christian Henden|
|Show||Debian GNU/Linux 10.x "Buster" x86_64||Feb 16 2020||5.1-staging||Yes||No||Yes||Garbage||Nosferatu Arucard|
|Current||Debian GNU/Linux 10.x "Buster" x86_64||Feb 04 2020||5.1-staging||Yes||No||Yes||Garbage||Nosferatu Arucard|
|Show||Ubuntu 19.10 "Eoan" (+ variants like Kubuntu)||Feb 01 2020||5.0-staging||Yes||No||Yes||Garbage||Nosferatu Arucard|