Play Hearthstone on Linux Natively (Without Wine/Lutris)

mail
Cyrus Kao
Last modified

Most of the guides online use Wine/Lutris to play Windows version of Hearthstone on Linux. But unlike other Blizzard's games, Hearthstone is actually develop 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 copy assets files from MacOS's Hearthstone and run with Unity's Linux binaries. And the reason to "borrow" data from MacOS instead of Windows is Windows uses Direct3D as 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
    Bash
  • Arch Linux/Manjaro

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

    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
Bash

Run the craft script provided by hearthstone-linux:

./craft.sh
Bash
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
Bash

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
Bash
Login helper
Login helper

Play

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

Bin/Hearthstone.x86_64
Bash

In-game shop is unavailable due to missing libraries, beside that everything works for me.

Hearthstone
Hearthstone running on Arch Linux

There is a known issue where the game is broken when login with a new account, refers to the workaround.

Update

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

./craft.sh
Bash
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

0500
Guest
0Leg3cPKqWPGtVZYAg
you are more than amazing, thank you, works for me - also without working shop + buying things with gold like packs/arena tickets, otherwise, all is working well
Guest
0Leg3cPKqWPGtVZYAg
When I try to "login" there is this message: login: Cannot possibly work without effective root Now I don't know how to proceed
Guest
wj3VPeTOQmPIdNE0Ag
thx it worked for me but what if hearthstone need an update?
Guest
7aRCZCoPlmIJL91fAQ
Crazy they wont release linux version of an opengl game