Playing Diablo IV on macOS (2024)

    • macos
    • gaming
    • wine
    • crossover
    • diablo
    • diablo4
  • modified:
  • reading: 7 minutes

Playing Diablo IV on macOS (1)

It is incredible. You can actually play AAA games on your Mac that require DirectX12. Diablo IV is one of them.I am able to play Diablo IV on my maxed-out MacBook Pro 16" 2023 with M2 Max 96Gb of RAM.

Don’t want to get credit on that, as I have found an almost working for me solution onr/macgaming.

Prerequisites

I am running the latest macOS 14 (Sonoma), but some people mentioned that it might work on macOS Ventura as well.You need to have an Apple Silicon Mac, as it will not work on Intel-based Macs.

Install Command Line Tools for Xcode 15

Download and Install Command Line Tools from https://developer.apple.com/download/all/.

Install Rosetta 2

Rosetta 2 is allowing you to run Intel-based apps on Apple Silicon. Considering that most of the games for Windows arebuilt for Intel (x86-64 architecture), you will need to install Rosetta 2.

Open terminal and run:

softwareupdate --install-rosetta

Download it from https://developer.apple.com/download/alland run Game_porting_toolkit_1.1.dmg. It will mount a volume in "/Volumes/Game Porting Toolkit-1.1".

You can open Read Me.rtf file to read more about the Game porting toolkit and how to use it.

Switch to Intel architecture in terminal

Open terminal and run:

arch -x86_64 zsh

That will run all the following commands under Rosetta 2 with Intel architecture.

Install homebrew

Even if you already have homebrew installed on your macOS, it is probably installed for Apple Silicon. You need to installit for Intel architecture.

Homebrew is an unofficial package manager that most of the developers use to install various tools for Development,Terminals, and not only. It is very respected in the community and has a lot of packages available.

To install it, you can look at the installation manual at https://brew.sh, you need to run the followingcommand in the terminal (here, and later I already assume that you are running it under Rosetta 2, see the previous section):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

If you already have homebrew installed for Apple Silicon, that version is located under /opt/homebrew. The versionfor Intel will be installed under /usr/local. So they are not going to conflict with each other.

But you want to tell this terminal session to use /usr/local instead of /opt/homebrew. To do that, you need to modifythe PATH environment variable for this terminal session. You can do that by running:

export PATH="/usr/local/bin:${PATH}"

Make sure that when you run which brew it prints /usr/local/bin/brew.

You can also check that homebrew is installed for Intel correctly by running:

And see if there are any permission issues. For me, I had to run the following

sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions

If you already had homebrew installed for Intel, you might have to run brew update and brew upgrade to update.

Install game-porting-toolkit

Tap (brew terminology to add) official packages provided by Apple for homebrew

brew tap apple/apple http://github.com/apple/homebrew-apple

And install them

brew -v install apple/apple/game-porting-toolkit

If you see an error similar to one I had, that svn is missing just run brew install subversion and try again.

That command will run for a while (40 minutes on my MBP 16" 2023). It will install a lot of dependencies.

Prepare Diablo IV

I decided to keep all the games in ~/Games, so I have created a folder in my home director

mkdir ~/Games

After that I decided to keep all Battle.net games in one folder under ~/Games/battle-net.

Configure that for the current terminal session (command to tell Wine where the games are located):

Wine is a tool to run Windows apps on macOS. It is used by Crossover and Game Porting Toolkit provided by Apple.

export WINEPREFIX=~/Games/battle-net

Prepare the folder for Diablo IV

`brew --prefix game-porting-toolkit`/bin/wine64 winecfg

A “Wine configuration” window should appear on your screen. Change the version of Windows to Windows 10.Choose Apply and then OK to exit winecfg.

Install Game Porting Toolkit library directory into Wine’s library directory

ditto /Volumes/Game\ Porting\ Toolkit-1.1/redist/lib/ `brew --prefix game-porting-toolkit`/lib/

And copy all the required executables to /usr/local/bin, so you can access them later without attaching Game Porting Toolkit volume.

cp /Volumes/Game\ Porting\ Toolkit-1.1/gameportingtoolkit* /usr/local/bin

Update a Windows version in Wine registry to match expected build by Battle.net app

`brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuild /t REG_SZ /d 19042 /f`brew --prefix game-porting-toolkit`/bin/wine64 reg add 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' /v CurrentBuildNumber /t REG_SZ /d 19042 /f`brew --prefix game-porting-toolkit`/bin/wineserver -k

Install Battle.net app and Diablo IV for Windows

Download Battle.net app for Windows from https://www.blizzard.com/download/.

Assuming you have it downloaded in your ~/Downloads folder, verify that Wine already has it too:

ls ~/Games/battle-net/drive_c/users/crossover/Downloads/

You should see Battle.net-Setup.exe there.

Install Battle.net app for Windows

gameportingtoolkit ~/Games/battle-net ~/Games/battle-net/drive_c/users/crossover/Downloads/Battle.net-Setup.exe

You should see Battle.Net app window on your screen. Login with your Blizzard account and install Diablo IV.After installing, you can launch the game.

By default, you will see a performance HUD, that shows you FPS, CPU, and GPU usage. You can use it to configure the gameGraphics settings to get the best performance. Later we can disable them.

Diablo IV Graphics settings

I am playing on 6k external display. My resolution is set to 3072x1728 in game. To get the best performance, I have setQuality Preset to Ultra, and changed FidelityFX Super Resolution to Quality. I see about 40-50 FPS in the game.

Playing Diablo IV on macOS (2)

Playing Diablo IV on macOS (3)

Creating a shortcut to launch Diablo IV

You can always launch Diablo IV from the terminal by running

PATH="/usr/local/bin:${PATH}" arch -x86_64 /usr/local/bin/gameportingtoolkit-no-hud ~/Games/battle-net ~/Games/battle-net/drive_c/Program\ Files\ \(x86\)/Diablo\ IV/Diablo\ IV\ Launcher.exe

Here I am using gameportingtoolkit-no-hud instead of gameportingtoolkit to disable the performance HUD.

But I found it nicer to create a shortcut to run the game without opening the terminal. To do that, you can open an Automator.app on your macOS andcreate a new Application. Add a Run Shell Script action and paste the following code there:

#!/bin/zshexport PATH="/usr/local/bin:${PATH}"(arch -x86_64 /usr/local/bin/gameportingtoolkit-no-hud ~/Games/battle-net ~/Games/battle-net/drive_c/Program\ Files\ \(x86\)/Diablo\ IV/Diablo\ IV\ Launcher.exe) || true

Playing Diablo IV on macOS (4)

Save the application to ~/Applications/Diablo IV.app (create the folder ~/Applications if it doesn’t exist).

Download a Diablo IV image for example from Diablo IV Official Website.

In Finder go to the folder where you save Diablo IV.app, select it and Open Get Info (⌘I). Drag and drop the imageto the top left corner of the window. It should replace the default icon.

Playing Diablo IV on macOS (5)

Now you can launch Diablo IV from the Applications folder.

Playing Diablo IV on macOS (6)

At this point, we assume that you have already installed Game Porting Toolkit 1.1 using this guide.

Make sure to download the latest Xcode 15, Command Line Tools for Xcode 15, and macOS 14.

After that download the latest Game_porting_toolkit_X.XX.dmg from https://developer.apple.com/download/alland run downloaded Game_porting_toolkit_1.1.dmg. It will mount a volume in "/Volumes/Game Porting Toolkit-1.1".

Open terminal.

Update/install Rosetta

softwareupdate --install-rosetta

Switch to the x86_64 architecture

arch -x86_64 zsh

Point to the x86_64 version of Homebrew

export PATH="/usr/local/bin:${PATH}"

And run the following commands (this command will take a long time to finish):

brew updatebrew upgrade

Now copy all the required executables and libraries to /usr/local/bin.

ditto /Volumes/Game\ Porting\ Toolkit-1.1/redist/lib/ `brew --prefix game-porting-toolkit`/lib/cp /Volumes/Game\ Porting\ Toolkit-1.1/gameportingtoolkit* /usr/local/bin

At this point, you should be able to launch Diablo/Battle.net using that Automator shortcut we created earlier.

Having issues?

If you have any questions, the best place to ask questions is r/macgaming.You can reach out to me, but CrossOver and Wine is new to me too. I am just sharing my experience.

Troubleshooting and known issues

Battle.net app is asking for an update

If you see a message, that Battle.net app needs to be updated. At the current moment, you can still play Diablo IV without updating.Do not try to update Battle.net app, as it will not finish successfully and probably froze during the update.

If you already started the process of updating, you will have to kill the wine processes in your Activity Monitor.To do that, open Activity Monitor, search for wine and kill all the processes.

Removing HUD (performance overlay)

During this guide I have used gameportingtoolkit to install the game, and later switched to gameportingtoolkit-no-hud todisable the performance overlay. Both of the binaries are available in the mounted volume of Game Porting Toolkit.And during this guide I have copied both of them to /usr/local/bin.

If you want to suggest a change or update this guide, you can open a pull request to this repository.

See Also

  • Review of Macbook Pro 14 (M1 Max, 32GPU Cores, 64GB Memory) - Performance, Windows, Parallels and more
  • My apps were listed at the top of Developers Tools (iOS and Mac App Stores), I made around $60
  • Running multiple macOS side by side (no Flash Drive required)
  • CloudAnalytics for AWS Amplify (Analyzing AWS Amplify Access logs. Part 3)
  • Spotlight, Automator and Siri as a replacement for Alfred
Playing Diablo IV on macOS (2024)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Manual Maggio

Last Updated:

Views: 6400

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Manual Maggio

Birthday: 1998-01-20

Address: 359 Kelvin Stream, Lake Eldonview, MT 33517-1242

Phone: +577037762465

Job: Product Hospitality Supervisor

Hobby: Gardening, Web surfing, Video gaming, Amateur radio, Flag Football, Reading, Table tennis

Introduction: My name is Manual Maggio, I am a thankful, tender, adventurous, delightful, fantastic, proud, graceful person who loves writing and wants to share my knowledge and understanding with you.