Installation Hearthstone sous Linux avec Wine (Blizzard Battle.net)

Pour pouvoir jouer à Hearthstone sous Ubuntu, j’utilisais habituellement PlayOnLinux, mais depuis quelque temps ça ne marche plus car les scripts ne sont pas suffisamment à jour :(

J’ai également testé Lutris dernièrement, mais c’était encore pire le script ne fonctionne pas du tout !

Du coup le mieux c’est d’installer l’application Blizzard Battle.net juste avec Wine. Le gros avantage est la rapidité de lancement du jeu : là ou je pouvais attendre 5 minutes avant de voir l’application s’afficher, c’est désormais instantané !!

Mon script

Le script hearthstone.sh de mon dépôt bitbucket est la version la plus à jour du script !

Clonez ou téléchargez le dépôt où vous voulez, et pour des raisons pratiques créez un lien symbolique dans vos scripts locaux :

user@ubuntu:~$ sudo ln -s ~/hearthstone-sous-linux/hearthstone.sh /usr/local/bin/hearthstone.sh

N’oubliez pas de rendre exécutable votre script :

user@ubuntu:~$ sudo chmod +x /usr/local/bin/hearthstone.sh

On peut maintenant passer à l’installation.

Installation

Tout d’abord installez une version récente de Wine (article détaillé en lien).

Ensuite lancer mon script via la commande :

user@ubuntu:~$ hearthstone.sh installer

L’installation va se dérouler toute seule, mais vous avez besoin de cliquer de temps en temps sur suivant, alors restez devant votre écran ;)

Valider 2 fois l’installation de « Visual C++ 2015 – 2019 » en 32 bits et 64 bits.

Quand l’installation de Blizzard Battle.net commence, choisissez votre langue et laissez vous guider.

Puis connectez-vous en utilisant le formulaire classique.

Sur les anciennes versions du client Battle.net, une notification en bas nous indique que le client à été mis à jour. Cliquez pour redémarrer l’application et vous allez pouvoir découvrir le nouveau client Battle.net ;)

Hearthstone

Suite à l’installation du client Battle.net, il vous suffit de lancer le téléchargement du jeu Hearthstone :

Avant de lancer Hearthstone, j’installe les paramètres optimisés (le fichier options.txt du jeu va être modifié).

user@ubuntu:~$ hearthstone.sh installer-parametres-optimises

Et voilà, c’est terminé ! Félicitations !

Utilisation

Pour lancer l’application, rien de plus simple :

user@ubuntu:~$ hearthstone.sh nettoyer-processus-jouer

De base sur mon script, je configure l’application pour qu’elle se lance dans un bureau virtuel (afin d’éviter les problèmes de plein écran).

Mais vous pouvez facilement désactiver le bureau virtuel sur votre configuration en lancement (une seule fois) la commande suivante :

user@ubuntu:~$ hearthstone.sh desactiver-bureau-virtuel

Et si vous décidez de réactiver le bureau virtuel, pas besoin de tout ré-installer, c’est prévu :

user@ubuntu:~$ hearthstone.sh activer-bureau-virtuel

Pour accéder à la configuration de l’environnement wine :

user@ubuntu:~$ hearthstone.sh configurer-wine

Pour accéder à la base de registre regedit de l’environnement wine :

user@ubuntu:~$ hearthstone.sh acceder-base-registre

Vos commentaires

  1. Grosse mise à jour du script, pour intégrer le bureau virtuel : ça m’enlève tellement de soucis, c’est super !
    Mettez à jour vos scripts ou vos clones ;)

    1. Et si vous avez besoin d’une autre taille de bureau virtuel que 1440×900, n’hésitez pas à changer ces valeurs dans le script.

    2. Hello,

      J’ai testé ta solution qui à l’air top. J’ai 2 soucis
      Je suis sur elementary OS
      Mes specs : Double cœur Intel® Core™ i7-4500U CPU @ 1.80GHz
      Intel® Haswell-ULT Integrated Graphics
      NVIDIA® GeForce® GT® 730M (GeForce GT 730M)

      1/ hearthstone.sh jouer me retourne ça mais lance le bureau virtuel. Est-ce que ça doit lancer HS aussi ?
      /usr/local/bin/hearthstone.sh: ligne 1: hearthstone.sh#!/bin/bash: Aucun fichier ou dossier de ce type
      0490:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032FEAC

      2/ quand je regarde le terminal, j’ai tout le temps ça : MESA-INTEL: warning: Haswell Vulkan support is incomplete
      Et je trouve aucune solution sur internet, si jamais tu as croisé ce problème et sait comment le résoudre ?
      J’ai l’impression qu’il s’agit de driver sur ma carte graphic.. (peut être maj le tuto pour les gens qui ont ça)

      1. De plus je voulais modifier le fichier option.txt dans %localappdata%\Blizzard\Hearthstone
        J’ai l’impression qu’il y a pas de bloc note et je peux pas l’ouvrir. Si tu as une idée :)

        Merci

        1. Je connais pas cette distribution, mais tu peux rester sur Ubuntu plutôt ?
          Parce que j’ai l’impression que tu n’as pas « bash » …

  2. Le tutoriel est bien fait, dommage que cela ne fonctionne pas pour moi.
    Voici les prints lors de l’exécution de la commande « blizzardBattleNet.sh install » :

    /usr/local/bin/blizzardBattleNet.sh: ligne 68 : cd: /home/gautier/.winehq/blizzardBattleNet/drive_c/Program Files (x86)/Battle.net: Aucun fichier ou dossier de ce type
    00e0:err:module:process_init L »C:\\windows\\system32\\Battle.net Launcher.exe » not found

    1. Hello, tu peux vérifier ce que tu as dans ton dossier « /home/gautier/.winehq/blizzardBattleNet/drive_c/ » ? car en gros il ne trouve plus l’executable Battle.net et j’aimerai bien savoir où il est chez toi !

  3. Bien le bonjour, un grand merci pour ce tuto, voulant apprendre a utiliser une distrib linux dans le cadre d’un projet de transition professionnel, j’ai accidentellement crash mon windaube en voulant monter un dual boot dans mon pc portable.
    Je me suis dit bon bah à la guerre comme à la guerre on va rentrer directement dans le dur et rester full linux, mais j’ai tourné 4h et suivi 500 tutos différent pour tenter d’installer ce foutu jeux (histoire de pouvoir me détendre entre 2 leçon de dev) et seul le tien m’a apporté du résultat.
    Enfin bref tout ça pour dire : MERCI !!!!!

    1. Testé pour jouer à Hearthstone et ok. Merci beaucoup. Ma 1ère expérience avec Battle.net s’est bien passé.
      Par contre je dirais que dans ton script, le « run » et le dernier « else » sert à rien puis on lance le jeu avec les icônes de Battle.net ou Hearthstone créés sur le bureau.

    2. Hello, j’ai une erreur :
      0848:fixme:netsh:wmain stub: L »C:\\windows\\system32\\netsh.exe » L »wlan » L »show » L »networks » L »mode=bssid »
      0848:fixme:ver:GetCurrentPackageId (0061FEA4 00000000): stub
      0840:fixme:server:invoke_system_apc syscall frame changed in APC function, frame (nil), saved_frame 0x261df834.
      017c:err:module:import_dll Library mscoree.dll (which is needed by L »C:\\Program Files (x86)\\Hearthstone\\Hearthstone_Data\\Plugins\\LocationAPI.dll ») not found
      0868:err:gstreamer:decodebin_parser_init_gst Failed to play stream.
      winegstreamer: error: decodebin1: Il manque un greffon dans votre installation de GStreamer.
      winegstreamer: error: decodebin1: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin1/GstDecodeBin:decodebin1:
      no suitable plugins found:
      Missing decoder: Quicktime (video/quicktime, variant=(string)iso)

      winegstreamer: error: decodebin0: Il manque un greffon dans votre installation de GStreamer.
      0864:err:gstreamer:decodebin_parser_init_gst Failed to play stream.
      winegstreamer: error: decodebin0: gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
      no suitable plugins found:
      Missing decoder: Quicktime (video/quicktime, variant=(string)iso)

      Je te remercie de ton taff et de ta passion pour HS :D si tu as une idée pour un novice comme moi de ce que je peux faire pour contourner le fait que le jeu ne se lance pas…
      J’ai essayé de trouver comment installer un module pour gstreamer pour gérer quicktime (je suppose que le souci vient de la), mais j’ai rien compris malgré mes efforts…

    3. Après avoir fonctionné quelques jours, Hearthstone n’arrêt pas de planter, as-tu ce problème aussi ?

      0510:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0021FEAC
      026c:fixme:netsh:wmain stub: L »C:\\windows\\system32\\netsh.exe » L »wlan » L »show » L »networks » L »mode=bssid »
      026c:fixme:ver:GetCurrentPackageId (0031FEA4 00000000): stub
      030c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 67D2FEF8
      07c8:err:module:import_dll Library mscoree.dll (which is needed by L »C:\\Program Files (x86)\\Hearthstone\\Hearthstone_Data\\Plugins\\LocationAPI.dll ») not found
      0584:fixme:winsock:server_ioctl_sock Unsupported ioctl 4004747b (device=4004 access=1 func=d1e method=3)
      0584:fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (SIO_IDEAL_SEND_BACKLOG_QUERY)
      0560:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0021FEAC
      0568:fixme:ver:GetCurrentPackageId (000000000021FD70 0000000000000000): stub
      0110:fixme:msvcrt:__clean_type_info_names_internal (0A6F4344) stub

      1. Les logs de HS si ça peut aider :
        2021-04-13 08:25:29.536: [BattleNet] [LocalStorage] EXCEPTION: Out of memory
        at bgs.LocalStorageAPI.LoadStateFromDrive (bgs.LocalStorageFileState state) [0x00000] in :0
        at bgs.LocalStorageAPI.GetFile (bgs.ContentHandle ch, bgs.LocalStorageAPI+DownloadCompletedCallback cb, System.Object userContext) [0x00000] in :0
        at bgs.PresenceAPI.ResouceLookupCallback (bgs.ContentHandle contentHandle, System.Object userContext) [0x00000] in :0
        at bgs.ResourcesAPI.GetContentHandleCallback (bgs.RPCContext context) [0x00000] in :0
        at bgs.RPCConnection.Update () [0x00000] in :0
        at bgs.BattleNetCSharp.ProcessAurora () [0x00000] in :0
        at bgs.BattleNet.ProcessAurora () [0x00000] in :0
        at Network.ProcessAurora () [0x00000] in :0
        at Network.ProcessNetwork () [0x00000] in :0
        at Gameplay.Update () [0x00000] in :0
        ——————————- (Void LogWarning(System.String, System.String) at :0)
        2021-04-13 08:25:29.537: [BattleNet] [LocalStorage] EXCEPTION: Out of memory
        at bgs.LocalStorageAPI.ReceiveCallback (System.IAsyncResult ar) [0x00000] in :0
        at System.Net.Sockets.SocketAsyncResult+c.b__27_0 (System.Object state) [0x00000] in :0
        at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in :0
        at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00000] in :0
        at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in :0
        ——————————- (Void LogWarning(System.String, System.String) at :0)
        2021-04-13 08:25:29.537: [BattleNet] [LocalStorage] Request failed State=[Region=EU Usage=wows SHA256=1b76bfe049d184f020c0d4563b3358dd63392e9061be3c03e9e0dbcf4985563b ID=0]
        at bgs.LocalStorageAPI.Process () [0x00000] in :0
        at bgs.BattleNetCSharp.ProcessAurora () [0x00000] in :0
        at bgs.BattleNet.ProcessAurora () [0x00000] in :0
        at Network.ProcessAurora () [0x00000] in :0
        at Network.ProcessNetwork () [0x00000] in :0
        at Gameplay.Update () [0x00000] in :0
        ——————————- (Void LogWarning(System.String, System.String) at :0)
        2021-04-13 08:25:29.538: [BattleNet] [Presence] Downloading of rich presence data from depot failed! (Void LogWarning(System.String, System.String) at :0)
        2021-04-13 08:25:29.538: [BattleNet] [Presence] Failed resolve rich presence string for « 458758 » when substiting variables in « $0x70006 – $0x70001 » (Void LogWarning(System.String, System.String) at :0)

      2. Non je n’ai pas de soucis actuellement. Par contre je ne mets pas à jour tout le temps la version de wine (là j’ai toujours la version wine-6.2)

    1. Nope, j’ai jamais essayé ! Mais je vois qu’il y a un éxecutable pour Windows, donc en théorie ça pourrait marcher de l’installer via Wine : je te laisse essayer ;)

  4. Mise à jour du script en rajoutant .NET 4.8, c’est un peu long à installer, mais ça à l’air de mieux marcher avec les dernières versions de wine !

  5. bonjour,

    j’ai suivi à la lettre tout ce que vous indiquez, j’ai installé le launcher, mais à chaque fois que j’essaie de lancer, il me dit qu’il y a une erreur inattendu et donc ne s’ouvre pas

  6. Bonjour Maxime, j’ai utilisé ton script pour jouer a WoW et je ne sais pas pourquoi j’ai l’erreur BLZ51901016… aurais tu une idée de pourquoi cela arrive ?
    Merci!

  7. Bonjour à tous, ce script ne fonctionne pas avec Diablo. Un problème survient, je pense avec ma carte video nvidia. Lorsque l’on tente de lancer le jeu un message d’erreur revient et rien ne fonctionne. Bon courage à tous.

    1. C’est bien possible que cette configuration ne fonctionne pas pour le jeu Diablo, désolé mais je l’ai fait explicitement pour Hearthstone.

  8. Hello tout le monde, j’ai mis à jour l’article avec les dernières nouveautés !

    Est-ce que vous avez vous aussi les décors du jeu et des éléments qui « clignotent » tout le temps ? C’est un peu relou et je ne sais pas trop à quoi c’est dû :(

Répondre à dyox Annuler la réponse