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.
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
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.
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 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.214.171.124654.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:
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:
The in-game shop is unavailable due to missing libraries,. Besides that, everything works for me.
To check if an update is needed for the Hearthstone client, simply run the craft script again:
Region: kr Online version: 126.96.36.199904.150659 Downloaded version: 188.8.131.52659 Update required. Downloading Hearthstone via keg ...Output