How to play Diablo using an Open Source Engine on Linux

2020-03-20

(last time edited: 2021-01-28)

tags: linux, games

DevilutionX is a reimplementation of the engine that powers Blizzard's Diablo 1, developed by careful and deep analysis of the original game files. It allows you to play Diablo 1 on a wide variety of operating systems, including GNU/Linux. Even though DevilutionX is an open source project, the Diablo 1 game files are not free and protected by Blizzard's copyright. Therefore, you need to provide your own legitimate copy of the game.

There are multiple Open Source engines for Quake 2. So far I've only tried DevilutionX.

First of all buy or grab from the Internet a Windows DRM-Free GOG copy of the first Diablo game and run md5sum on it to check its integrity.

The md5 hash for setup_diablo_1.09_(27873).exe should be bf57594f5218a794a284b5e2a0f5ba14

$ md5sum setup_diablo_*.exe

Install innoextract.

Create a directory where all the extracted files will go.

$ mkdir -p ~/.local/share/diasurgical/devilution

Extract the content.

$ innoextract -Lm setup_diablo_*.exe -d ~/.local/share/diasurgical/devilution

Download and install DevilutionX.

Play Diablo using DevilutionX by executing the binary files installed in your system.

$ devilutionx --data-dir ~/.local/share/diasurgical/devilution

or just

$ devilutionx

Happy gaming!