Diablo 3 on Ubuntu Linux

posted May 18, 2012, 11:31 AM by Tyler Akins   [ updated Jun 8, 2012, 10:19 AM ]
I sunk an obsessive amount of hours into Diablo and Diablo 2.  Now Diablo 3 is newly released and I cracked under the pressure.  I don't run Windows - I use Linux.  Ubuntu 12.04 Precise Pangolin, to be ... precise.  I also have an interesting set of criteria for whatever solution I find.
  • I must not compile software.  I totally can do it, but I simply don't want to.
  • I want to use packages so when the upstream puts out a new version, I'm not left in the dust.
  • I want to be able to double-click on an icon when I'm done and Diablo 3 should launch.
First off, we're going to have to use wine to run the Windows version of Diablo 3.  The version of wine in the repository won't work, so we need to add a custom PPA.  Another PPA will upgrade the video drivers for me.

sudo add-apt-repository ppa:cheako/packages4diabloiii
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update

Now install the updated packages.  I also installed S3TC texture compression, which may be illegal where you are.

sudo apt-get upgrade
sudo apt-get install libtxc-dxtn0

Lastly, we'll need to tweak things a bit when we run wine.  First, go download the installer.  You can just double-click on it and it will install Diablo 3 and start downloading the gigs of data.  Once you get done with the download, or at least to a place where it will let you play the game, stop it.  Edit the link to Diablo 3.  Run "gedit" and edit Desktop/Diablo III.desktop.  Inside there, you will see a line that starts with "Exec".  Add the portion in bold below to force the use of S3TC.  Keep in mind that the next thing is all on one really long line.

Exec=env WINEPREFIX="/home/fidian/.wine" force_s3tc_enable=true wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/fidian/.wine/dosdevices/c:/users/Public/Desktop/Diablo\\ III.lnk

Almost done.  Now we just need to disable some security.  You have two options: run a command as root whenever you want to run Diablo 3, or you can put it in your /etc/rc.local file and have it run automatically at boot.

# Here is the command if you want to run it manually
# Just run this once in a terminal
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

# If you want to edit /etc/rc.local (as root), add this line above "exit 0"
# Edit the file with this command:  gksudo gedit /etc/rc.local
echo 0 > /proc/sys/kernel/yama/ptrace_scope

And now you can perhaps play.  I can't because the framerate is exceedingly slow, but perhaps that's just one last hurdle to getting the game to play.