Play Hearthstone on Linux Natively (Without Wine/Lutris)
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.
Install the tools and libraries needed for the client creation:
sudo apt install build-essential libcrypto++-dev libwebkit2gtk-4.0-dev git curl wget python3 python3-pip python-is-python3 Bash
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.
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 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: 126.96.36.199654.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.
cd into the game folder:
cd hearthstone Bash
Since we don't have Battle.net to launch Hearthstone on Linux, there is a helper to retrieve the authentication token for your account:
Launch the game either by command-line or the desktop shortcut created by the script:
In-game shop is unavailable due to missing libraries, beside that everything works for me.
There is a known issue where the game is broken when login with a new account, refers to the workaround.
To check if update is needed for the Hearthstone client, simply run the craft script again:
Region: kr Online version: 188.8.131.52904.150659 Downloaded version: 184.108.40.206659 Update required. Downloading Hearthstone via keg ... Output