All games

Diablo (DevilutionX)

Gold ยท 84 0.3 h played, 0 crashes

A dark fantasy action RPG: descend through the dungeon beneath Tristram, kill monsters and collect loot (needs your own game files).

Genre
action
Theme
fantasy
Players
single player online multiplayer
Input
supports gamepad
Needs
your own game data

How it's built, patched and set up for its played test. The numbers are under Test runs.

Diablo runs through DevilutionX 1.5.5, a source-available engine rebuilt from the original game, with the player’s own DIABDAT.MPQ (the Guides tab has the ways to add it). A played session held about 59 frames a second (1% low 24) at 1920x1080, with the DualShock through the menus and the dungeon. DevilutionX’s licence allows free non-commercial use and sharing, but it isn’t an open-source licence.

Also known as: DevilutionX (the engine); Hellfire (the expansion, also played by DevilutionX).

Status

DevilutionX 1.5.5 built by us (devilutionx 1.5.5-1+ps3.N, built from gamedb/games/diablo/packages/devilutionx/: DevilutionX is under the Sustainable Use License 1.0, non-commercial and not DFSG-free; the user accepted that on 2026-10-29 (“I’m not using it commercially”), so it is public in the testing suite, marked non-free in its description, README.Debian and the GameDB page, Section still games). One patch: 0001 opens the audio device in the host byte order (AUDIO_S16SYS; AUDIO_S16 is little-endian, so the PPE swapped every sample twice). Upstream’s defaults are already console-like: fullscreen at the screen’s mode (SDL_WINDOW_FULLSCREEN_DESKTOP, the picture widened to 16:9 and scaled up), SDL game controllers on.

The data is the player’s: Diablo 1.09’s DIABDAT.MPQ (517,501,242 bytes, sha256 6bc120a603fdb383ff91f374e7db599765d6230d81e5a4c1b33f8254911774e7, md5 68f049866b44688a7af65ba766bef75a), in ~/.local/share/diasurgical/devilution/ (SDL’s pref path for “diasurgical”, “devilution”: not devilutionx; diablo.ini and the saves go there too; --data-dir names another folder).

Smoke runs on 2026-10-28 (kernel .874, Mesa ps3.924, the VRAM swap on; the last one ps3-bench-20261028T223638Z): the recipe (benchmark/recipe.sh) starts devilutionx --diablo -n with a save folder of the run’s own, then Return through the menus and a typed name (DevilutionX fills one in only for a pad) into Tristram. The title menu, the hero creation, the difficulty and the town are drawn right (fire, pentagrams, the Warrior, the panel’s orbs; xwd and webcam), fullscreen 1920x1080 (geom fs=1). In town: 58 fps steady on the Gallium HUD, 1% low 25, 10 frames over 100 ms in 90 s (2.3 s, the longest 425 ms), 48 MB peak RSS; the sound running with 8 audible dropouts (to be judged by ear). The hero was saved (single_0.sv, an MPQ the game writes). DevilutionX found the DualShock 3 (“PS3 Controller” mapping); the pad is not tried. Its --demo/--timedemo options would make a benchmark once a demo is recorded.

Played session ps3-bench-20261029T213401Z (ps3.931~dev, 2026-10-29): 21.5 min, quit, 1273 s of play, fullscreen 1920x1080 (21 shots: Tristram at dusk, then the cathedral levels, the inventory open; in proportion, no bars). Median 59.3 fps, 1% low 23.9, longest frame 2.3 s, 1.8 s a minute of stutter, load 15 s, 47 MB RSS, 11 xruns, 3 audible dropouts by the form’s count. The form: sound and music heard, controls full, pad menus worked, play seamless, no glitches; its note: “Very minor issue, cursor is semitransparent”. The cursor is an X pointer (XFixes saw it in 16 of 21 shots), and X cursors are not in the xwd captures, so the shots can’t show it; reviewed as wrong colours or blending (-25, the only category near it). No PC reference sheet: DevilutionX isn’t in Debian, so play-pc.sh had no PC side and upstream’s x86_64 release was run by hand. Rated Gold 80, provisional (0.35 h of play): smoothness 62 is the weakest aspect.

Engine options

  • DevilutionX (the pick: complete, very active, 9.9k stars, BE prior art)
  • devilution (the matching decompilation, Windows exe: DevilutionX’s source)
  • freeablo (stalled since 2023)

Research

What the surveys and plans said about it, newest first; each line names its source, the section and the date.

  • 2026-10-26, docs/backlog/games.md, “Games to smoke next, and Wesnoth’s music”: on the “try now” list (shareware spawn.mpq); not started.
  • 2026-10-20, pc-classics.md, “RPG”: Diablo + Hellfire (1996, PS1 too): DevilutionX, complete, SDL software; a Mac OS X Tiger PPC build (45 fps on an iBook G4), Amiga 68k, a BE network fix; shareware free; effort S.
  • 2026-10-19, game-reeval.md, “devilutionx (Diablo 1)”: no hard no: the game renders an 8-bit palette surface itself, SDL_CreateRenderer only presents it; SDL1.2, SDL2 or SDL3. Not in Debian: own build (CMake, bundled libs). Big-endian good: explicit LE loads/stores (Source/utils/endian_*.hpp); changelog “Added support for 32bit PowerPc”, “macOS 10.4 PowerPC”, “Correct networking support on big-endian systems”; Amiga M68K port. RAM estimate 60-120 MB (runs on the 3DS in under 100 MB). Data: spawn.mpq from the Blizzard shareware (first dungeon levels; tolerated, not an open licence); full game DIABDAT.MPQ (GOG). Effort S. Verdict: TRY NOW, the best 2D candidate of part A.
  • 2026-10-19, game-reeval.md, “Addendum: GameOS port exists?”: no known PS3 port (its README’s platform list has no PS3).

Build

Packagesdevilutionx
Suitenot in the game suite yet
Game datathe player supplies it (see the game's page)

Our source packages

Played test

What a played session sets up (rating/test.toml); the medal comes from these sessions only.

Processdevilutionx
Set aside~/.local/share/diasurgical/devilution/diablo.ini (the game starts on fresh defaults)