this post was submitted on 15 Jun 2025
48 points (98.0% liked)

RetroGaming

23324 readers
58 users here now

Vintage gaming community.

Rules:

  1. Be kind.
  2. No spam or soliciting for money.
  3. No racism or other bigotry allowed.
  4. Obviously nothing illegal.

If you see these please report them.

founded 2 years ago
MODERATORS
 

Hello all,

I am curious if there is a viable option to play Diablo 2 on Linux. I have a RetroPie setup for my kid and was wondering if I could show him diablo 2.

top 33 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 2 days ago (1 children)

You install battlenet as a third party app through steam/proton (lots of guides online) then you launch it, install D2, and you are done.

I've finished act 5 on the regular difficulty both in D2 and D2R using this setup. I never tried multiplayer in D2 but i can confirm it works in D2R.

This was on an x86 pc though. I found this post on Reddit that might help:

"There is a locked thread in this sub from about 7 months ago referencing a YouTube video from ETA Prime. The video discusses how to install Diablo 2 on a pi4. I'm posting this because I had some challenges when following the instructions, which I figured out how to work around. Hopefully this will help someone. Here's how I was able to get it to work:

On a Windows PC:

You will need version 1.13c of Diablo 2 (and expansion if desired). I can't tell you how to get that installer. You can't download it from Blizzard because their version comes pre-loaded at a newer version number. Note -- You absolutely must find v1.13c. I tried several other versions without success. There's an installer that I found for 1.13c which doesn't require a CD which is important.

You will also need a product key for the base game (and a product key for the expansion if desired). You can purchase these from Blizzard's website.

Run the installer for the base game. Don't start the game after completion.

Run the installer for the expansion pack. Don't start the game after completion.

Go to the folder where you installed it (e.g., C:\Program Files (x86)\Diablo II)

Copy all files and subfolders to a folder on your pi (e.g., /home/pi/diablo2)

Download the modified MESA package from the site referenced on the screen at 1:16 in ETA Prime's video https://www.youtube.com/watch?v=3PhMCxywP7g

Extract the MESA package and copy the extracted files to your pi in /home/pi/mesa

Download libd2game_sa_arm.exe.so.xz from the site referenced on the screen at 1:16 in the same youtube video from ETA Prime (https://www.youtube.com/watch?v=3PhMCxywP7g)

Extract libd2game_sa_arm.exe.so from the .xz file and copy to the pi's Diablo 2 directory (e.g., /home/pi/diablo2). Google how to do this if you aren't sure. I can't remember the exact syntax. I extracted it using a standard command from the Linux command line but there might be a windows tool to do this too.

Then, on your Pi4:

Boot to the Raspbian GUI

Open the terminal and enter these commands (lines starting with $ are commands to be entered):

$ sudo apt-get update && sudo apt-get upgrade

$ sudo apt install wine

$ winecfg

The configuration tool will open. Set resolution to 800 x 600.

Open terminal and use these commands

$ cd /home/pi/mesa/lib/arm-linux/gnueabihf

This is where I needed to go off-script to get the installation to work. The MESA package libGL.so.1 and libglapi.so.0 files did not work for me; I had to replace them with other versions contained in the MESA package.

$ cp libGL.so.1 libGL.so.1.bk

$ rm libGL.so.1

$ cp libGL.so.1.2.0 libGL.so.1

$ cp libglapi.so.0 libglapi.so.0.bk

$ rm libglapi.so.0

$ cp libglapi.so.0.0.0 libglapi.so.0

Go to the diablo2 directory (e.g., $ cd /home/pi/diablo2)

$ nano script.sh

This will load the nano text editor. Enter the following into the editor (without the bullet number "1.") This script will be used to start the modified libd2game_sa_arm.exe.so executable with Wine using the MESA drivers.

LD_LIBRARY_PATH=/home/pi/mesa/lib/arm-linux-gnueabihf LIBGL_DRIVERS_PATH=/home/pi/mesa/lib/arm-linux-gnueabihf/dri/ GBM_DRIVERS_PATH=/home/pi/mesa/lib setarch linux32 -L wine libd2game_sa_arm.exe.so

CTRL+O to save. CTRL+X to exit the editor.Run the following command to execute the script (note the period! )

$ . script.sh

Diablo 2 should load and run. Works great on my pi4B with 4GB RAM."

Formatting got messed up, sorry

[–] [email protected] 3 points 2 days ago (1 children)
[–] [email protected] 4 points 1 day ago

ooo this is so detailed! thank you so much! I will give this a go! I should have stated in my post that retropie is installed on a rpi 4b with 8gb ram. I would expect it to be sufficient for diablo 2 no?

[–] [email protected] 17 points 2 days ago* (last edited 2 days ago) (2 children)

https://github.com/AbyssEngine/AbyssEngine

Abyss Engine clean-room reimplementation of Diablo 2, written in C. The goal is to recreate the original game engine, but on a portable platform that can also easily be modded and extended.

[–] [email protected] 1 points 1 day ago

Wait, that works now? Ive seen the project few years ago but it wasnt good enough then. Awesome! I have to build that at home ^^

[–] [email protected] 5 points 2 days ago (1 children)

Oh that's really cool. I didn't know people were doing that for non-console games.

[–] [email protected] 3 points 2 days ago

Not sure about current options, but I came across a physical copy some time ago. Wine was able to install it and run it without much fuss. Iirc I didn't even have to put the disc back in to play.

I didn't get around to sticking with it though, so there might have been more issues down the line, past the first bit of gameplay.

[–] [email protected] 8 points 2 days ago (1 children)

If you're running RetroPie on a Raspberry Pi, it won't work there. Running it on a regular x86_64 PC shouldn't be a problem. Just install it through Wine (I can recommend managing it with Bottles) and launch it through Wine or Proton.

[–] [email protected] 3 points 2 days ago (1 children)

You can run x86 and x64 games on the pi using this project.

https://box86.org/

[–] [email protected] 5 points 2 days ago (1 children)

Problem is the performance is awful - and RaspberryPi CPU isn't that fast in the first place

[–] [email protected] 2 points 2 days ago

The reports suggest it's working fine. Some slow spots but overall not bad

[–] [email protected] 4 points 2 days ago (1 children)

Do you have the original disc? As I recall Wine runs it just fine.

[–] [email protected] 1 points 1 day ago

I don't have the original dial but I wanted to get the digital version from blizzard. Do I need the physical disk? I don't even have a DVD player anymore

[–] [email protected] 3 points 2 days ago* (last edited 2 days ago) (1 children)

Maybe not your case but theres D2 on the web (ie in your browser). You just load some game data to it, otherwise it is a demo until the first boss or so.

Link: diabloweb

Edit: yikes, made a mistake - its D1 not D2.

[–] [email protected] 1 points 1 day ago

And diablo 1 has devilution ( or whatever the name was ), which is cross platform and works fiiiine

[–] [email protected] 2 points 2 days ago (1 children)

You may be able to force it through steam/proton

[–] [email protected] 2 points 2 days ago

You can also use battlenet through lutris, I've never done d2, but I've played all kinds of versions of wow through it.

[–] [email protected] 1 points 2 days ago

Not sure on A pi, but I have been playing Project Diablo 2 through lutris with no issues.

[–] [email protected] 1 points 2 days ago
[–] [email protected] 1 points 2 days ago (2 children)

Diablo, if I remember correctly, always worked as shit through wine. Mostly resolution problems.

[–] [email protected] 3 points 2 days ago (2 children)

I finished D2 and Diablo with mods, installed via Lutris and they played perfectly. The future is now old man.

[–] brognak 2 points 9 hours ago

Same, was playing PD2 for a month through Lutris before PoE league dropped.

Only issues I had were PD2 launcher related and changing a setting fixed that.

[–] [email protected] 3 points 2 days ago

This i played D2 and D2R on debian no issues on Linux. On Amd64 arch. The pie seems a little underpowered to emulate I386

[–] [email protected] 2 points 2 days ago (1 children)

I had no problems at all when I played it a few years ago.

[–] [email protected] 0 points 2 days ago (1 children)
[–] [email protected] 1 points 2 days ago (1 children)

I think so, but at this point I'm not 100% sure.

[–] [email protected] 0 points 2 days ago (1 children)

I am asking because all problems I remember were resolution-fullscreen-related. Playing 800x600 in window was possible for some time... But it was some time since I checked the situation the last time. It might be better now.

[–] [email protected] 1 points 1 day ago

I just tried naively installing Diablo II from scratch inside Bottles and sadly I couldn't get it to work at all this time, at least not without further tinkering but I couldn't spare more time at this moment. I presume installing it like this and then adding it to Steam to use Proton could work. I know it worked for Warcraft III a few months ago. And then Proton usually handles fullscreen completely seamlessly.