NoCache

Table of Contents

Play Hearthstone on Linux Natively (Without Wine/Lutris)

Cyrus Kao
Last modified on .

Most of the guides online use Wine/Lutris to play the Windows version of Hearthstone on Linux. But unlike other Blizzard's games, Hearthstone is actually developed with Unity, which supports Linux. Though they didn't release the official version of the game for Linux, there is a creative way to build your own native client.

I found a project on Github called hearthstone-linux. It basically copies asset files from MacOS's Hearthstone and runs with Unity's Linux binaries. And the reason to "borrow" data from MacOS instead of Windows is Windows uses Direct3D as its graphics renderer, which is incompatible with Linux. However, MacOS uses OpenGL just like Linux does.

Prerequisites

Install the tools and libraries needed for the client creation:

  • Debian/Ubuntu

    $ sudo apt install build-essential libcrypto++-dev libwebkit2gtk-4.0-dev git curl wget python3 python3-pip python-is-python3
    
  • Arch Linux/Manjaro

    $ yay -S base-devel crypto++ webkit2gtk git curl wget python python-pip
    

    Don't know how to install packages on Arch based Linux? A full guide on Two Ways to Install Packages from AUR on Arch Linux/Manjaro.

Installation

Clone the repository hearthstone-linux recursively and cd into the directory:

$ git clone --recursive https://github.com/0xf4b1/hearthstone-linux.git
$ cd hearthstone-linux

Run the craft script provided by hearthstone-linux:

$ ./craft.sh
Hearthstone installation not found

...

Which region do you wish to install? [eu/us/kr/cn]: us
Initialized in /home/arch/Downloads/hearthstone-linux/hearthstone/.ngdp
Which locale do you wish to install? [deDE/enGB/enUS/esES/esMX/frFR/itIT/jaJP/koKR/plPL/ptBR/ruRU/thTH/zhCN/zhTW]: enUS

...

Region: us
Online version: 22.0.2.128654.127581
Downloaded version: Not installed
Update required.

Downloading Hearthstone via keg ...

...

Unity files not found.

Downloading Unity 2019.4.21f1 (This version is required for the game to run).

...

Extracting Unity files....

Done!

Copy Unity files....

Done!

Moving files & running cleanup ...

Done!

Cleaning up unecessary files.

...

Done. Now generate your web token, before launching the game!
Output

It's good practice to read through the script before executing.

After installed, cd into the game folder:

$ cd hearthstone

Login

Since we don't have Battle.net to launch Hearthstone on Linux, there is a helper to retrieve the authentication token for your account:

$ login
Login helper
Login helper

Play

Launch the game either by command-line or the desktop shortcut created by the script:

$ Bin/Hearthstone.x86_64

The in-game shop is unavailable due to missing libraries,. Besides that, everything works for me.

Hearthstone
Hearthstone running on Arch Linux

There is a known issue where the game is broken when you login into a new account. Refer to the workaround.

Update

To check if an update is needed for the Hearthstone client, simply run the craft script again:

$ ./craft.sh
Region: kr
Online version: 24.4.3.152904.150659
Downloaded version: 24.4.0.150659
Update required.

Downloading Hearthstone via keg ...
Output

See Also

Comments

Sign in to leave a comment.