How to play Diablo III on Ubuntu?

Is it possible to play Diablo 3 on Ubuntu?

What should I install to play D3 with good graphics?

How can I get an Nvidia video card to work well with Diablo III?


Yesterday I successfully installed Diablo 3 on my laptop, Asus Zenbook UX32VD. But I think steps that I did can be done on any other computer. My configuration:

Linux 3.8.6-030806-generic
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"

This tutorial also works for:

3.13.0-24-generic
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"

lspci:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller (rev 04)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M / GT 620M/625M/630M/720M] (rev ff)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 jev 24)

I will try to explain what I did.

1. Install last version of PlayOnLinux.

Today it is 4.2.2 (Also tested with 4.2.5)

It can be done by downloading from official site, or by doing this:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E0F72778C4676186

Add ppa and install.

sudo wget http://deb.playonlinux.com/playonlinux_saucy.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

2. Download Diablo 3 client from official Blizzard site


3. Install Diablo 3 using PlayOnLinux

Execute playonlinux, Click Install button.

enter image description here

Search for Diablo 3, then click install.

enter image description here

Then choose setup file from my computer, and pick file you downloaded in step 2.

enter image description here

Now install Diablo 3 as usual, login to battle.net and download D3 game.

PlayOnLinux will download wine automatically and configure itself.

I don't know why, but I have success with this only in 3-d time. I did same things in step 3. But it crashed 2 times. First time when Diablo 3 client was installed, it loaded but could not connect to battle.net. I just delete everything and did step 3 again

Before going to step 4, try to launch Diablo 3. If it works and you can play but graphics quality low - go to next step.


4. Install and configure bumblebee

Now, after D3 successfully installed you need explain to PlayOnLinux to use your graphic card. In my case it is GeForce GT 620M. What is bumblebee?

Many recent notebooks with a discrete nVidia card in it and an i3/i5/i7 processor use the nVidia Optimus technology to improve battery life. Unfortunately, this software solution is only available in Windows 7 and later.

The Bumblebee Project is a set of tools developed by people aiming to provide Optimus support under Linux (legacy nVidia hybrid graphics is supported too) while waiting for kernel and drivers to support these notebooks

We will use util primusrun to run our D3 supporting nvidia card. To install bumblebee and primus do this.

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia primus

64bit: you also need to install the "primus-libs-ia32:i386" package:

sudo apt-get install primus-libs-ia32:i386

To configure bumblebee for you video card check this


5. Check bumblebee

vblank_mode=0 primusrun glxspheres64

or for 32bit

vblank_mode=0 primusrun glxspheres

It should give you more or equal than 120 fps.

As an alternativ you can use

optirun glxspheres.

Since primusrun has steady fps in Diablo 3 but still is laggy, I prefer optirun over primusrun.


6. Run D3 using primusrun

After step 3, PlayOnLinux should add Diablo3 launch icon to your Desktop. If it doesn't just create it by yourself in ~/Desktop folder. Call it "Diablo III.desktop". Open with your editor. It should look like this:

[Desktop Entry]
Encoding=UTF-8
Name=Diablo III
Comment=PlayOnLinux
Type=Application
Exec=primusrun /usr/share/playonlinux/playonlinux --run "Diablo III" %F
Icon=/home/c0rp/.PlayOnLinux//icones/full_size/Diablo III
Name[fr_FR]=Diablo III
StartupWMClass=Diablo III Launcher.exe
Categories=

Note that I change Exec. It was just /usr/share/playonlinux/playonlinux --run "Diablo III" %F. I add primusrun to get best graphics that my video card can provide.

7. Resolving problems.

I also have a problem with resolution. Game always started with 800x600 configs. I found configuration file in my home directory. /$HOME/Diablo III/ there is a file D3Prefs.txt, where I put my resolution:

DisplayModeWinWidth "1400"
DisplayModeWinHeight "1050"
DisplayModeUIOptWidth "1920"
DisplayModeUIOptHeight "1080"
DisplayModeWidth "1920"
DisplayModeHeight "1080"

Thanks for everyone who did this before, I found everything on the Internet. Here the Links that I use:

  • UbuntuUpdates - PPA: PlayOnLinux

  • Running specific games with 'primusrun'

  • Primus: Better Performance And Less Power Consumption For Bumblebee [Optimus Hybrid Graphics Chipsets] ~ Web Upd8: Ubuntu / Linux blog

  • Home · Bumblebee-Project/Bumblebee Wiki

  • Configuration · Bumblebee-Project/Bumblebee Wiki

  • PlayOnLinux - Set resolution manualy


For those of you who has a problem to play Diablo III using playonlinux.

Another approach is installing D3 to Windows 8.1 virtual machine.

1. Go to the official site and download vmplayer, for me it was VMware-Player-6.0.1-1379776.x86_64.bundle.

Make it executable

chmod +x VMware-Player-6.0.1-1379776.x86_64.bundle

And install running this bundle file

sudo sh VMware-Player-6.0.1-1379776.x86_64.bundle

2. Download and Install Windows 8.1 image.

Get latest Windows 8.1 image somewhere.

Run vmplayer. Choose Create a New Virtual Machine

enter image description here

Then choose Use ISO Image and pick downloaded W8.1 image.

enter image description here

Install Windows as usual. After installation power off virtual machine, go to Virtual Machine Settings, and check that 3D Acceleration for W8.1 is on.

enter image description here

Power on virtual machine


3. Resolving warning Hardware graphics acceleration is not available

If you do not see this message, skip this step.

Put off you virtual machine. Go to $HOME/vmware/you_windows_install_folder, for me it is /home/c0rp/vmware/Windows 8 x64/. Find file *.vmx, open it using any editor, and add this line:

mks.gl.allowBlacklistedDrivers = TRUE

Also download libtxc library:

sudo apt-get install libtxc-dxtn-s2tc0

Run virtual machine and check if warning disappear.


4. Increase SVGA VRAM size

Put off you virtual machine. Go to $HOME/vmware/you_windows_install_folder, for me it is /home/c0rp/vmware/Windows 8 x64/. Find file *.vmx, open it using any editor, and add this line:

svga.vramSize = 1073741824

My Graphics card has 1G vram, that is why I add svga.vramSize = 1073741824, 1073741824 bytes = 1 Gbytes. Change this value depending on your Graphics Card.

Power on virtual machine and check that everything is OK. Press Win + R, enter dxdiag and press Run. Go to Display tab, check that it is enough vram.


5. Install Diablo III.

Go to official site, download Diablo III client. Install it, and run. If it is running without any problems, enjoy!


6. Blank screen problem.

If you pressing PLAY, and see only white blank screen, then kill Diablo III, and exit from battle.net client. Go to your home folder C:\Users\user_name\Documents\Diablo III, find file D3Prefs.txt, open it. Change param DisplayModeWindowMode from "0" to "1". Or if this param does not exist just add this to the end of file:

DisplayModeWindowMode "1"

Thanks for everyone who did this before, I found everything on the Internet. Here the Links that I use:

How to fix 3D Acceleration problem

Blank screen issue

Work-around for Unsupported Graphics Cards

Windows 8 under vmware player better graphics performance possible


Here's a less complicated version ready for 2017. I'll eventually re-write this to not use playwithlinux, but I think this is the simplest way to load Diablo for now.


First, do yourself a favor and make sure you're using the right drivers. To see your video driver, run lspci -k | grep -A 2 -i "VGA". If you are rocking the integrated graphics and see the Intel driver, you're good. If you should be using nvidia drivers and don't see it there, either download the drivers straight from their website (and buy painkillers) or use the Ubuntu repo.

Install Diablo 3

  1. Install playonlinux: sudo apt-get install playonlinux
  2. Install the latest version of wine-staging: Tools > Manage Wine versions

    Manage Wine versionschoose version

  3. Create a new virtual drive: Configure > New > 32-bit installation > pick the staging version you just chose > write any name (I wrote "D3")
  4. Select this drive in the Configuration menu (should be alongside default) and tab over to the "Wine" tab and click on "Configure Wine" Configure Wine
  5. A "Wine configuration" window will pop up. Go to the "Libraries" tab and add these libraries: api-ms-win-crt-runtime-l1-1-0, d3dcompiler_47, msvcp140, vcruntime140. Click Apply/Okay.

    Wine configuration

  6. Download the Windows D3 installer from Battle.net (direct link)
  7. Back in "PlayOnLinux configuration" tab over to "Miscellaneous" and click "Run an .exe file in this virtual drive". Choose the installer you just downloaded and full steam ahead. If you have a non-standard configuration, you may need to search around for specific fixes (or revisit the driver check, if you skipped it above). Otherwise, you should be good to go!
  8. (optional) Return to the "General" tab in your playonlinux configuration window and click "Make a new shortcut from this virtual drive" and select "Diablo III launcher.exe" to make future access easier.

Hopefully these fixes will be eventually wrapped into the default playonlinux wizard install.


Or you could just go to Lutris.net, install Lutris following their online step by step easy to follow instructions, then install their battle.net launcher or their Diablo III launcher that both work great.