-
-
Save remi-dupre/e5340ca852ae974fdd5509d545b0b4ed to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# Runs Ankama Launcher on a steam deck by using existing Proton runtime. | |
# | |
# /!\ You must ensure that you have a Proton instance installed through | |
# steam before running this script. | |
DOWNLOAD_URL="https://launcher.cdn.ankama.com/installers/production/Ankama%20Launcher-Setup-x86_64.AppImage" | |
STEAM_COMMON="/home/deck/.local/share/Steam/steamapps/common" | |
# Init compatdata dir | |
CURR_DIR=`dirname ${BASH_SOURCE[0]}` | |
CURR_DIR=`readlink -f $CURR_DIR` | |
INSTALL_DIR=$CURR_DIR/.ankama-launcher | |
if [ ! -d $INSTALL_DIR ]; then | |
echo "No install detected, downloading Ankama Launcher into $INSTALL_DIR" | |
mkdir $INSTALL_DIR | |
curl -o $INSTALL_DIR/launcher.AppImage $DOWNLOAD_URL | |
chmod +x $INSTALL_DIR/launcher.AppImage | |
mkdir "$INSTALL_DIR/compatdata" | |
else | |
echo "Detected Launcher install in $INSTALL_DIR" | |
fi | |
# Checking for Proton install | |
PROTON_PATH=`find $STEAM_COMMON -maxdepth 1 -name "Proton*" | sort -r | head -n 1` | |
if [ "$PROTON_PATH" = "" ]; then | |
echo "No Proton install detected in $STEAM_COMMON" | |
exit | |
fi | |
echo "Detected Proton install in $PROTON_PATH" | |
# Create fake Wine Binary | |
mkdir -p "$INSTALL_DIR/bin" | |
cat <<EOF > "$INSTALL_DIR/bin/wine" | |
#!/bin/bash | |
"$PROTON_PATH/proton" run "\$@" | |
EOF | |
chmod +x $INSTALL_DIR/bin/wine | |
# Replace Wine with Proton | |
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$HOME/.steam/steam" | |
export STEAM_COMPAT_DATA_PATH="$INSTALL_DIR/compatdata" | |
export PATH="$PATH:$INSTALL_DIR/bin" | |
# Run Ankama Launcher | |
$INSTALL_DIR/launcher.AppImage --no-sandbox |
@Viarra Hello, merci pour ton retour et tes explications. Je suis parvenu à lancer le launcher depuis le mode gaming, me connecter, télécharger le jeu. Maintenant lorsque je clic sur jouer, j'ai lancement du jeu et puis plus rien, je reste bloqué sur le launcher.
@Viarra Merci! Au moins j'ai corrigé l'erreur que j'avais faite, de mettre pour "Début dans" le dossier /home/deck/.config/Ankama/Dofus/
contenant les données et executables du jeu, plutôt que le dossier contenant le shell script de Rémi.
Malheureusement j'ai toujours la même erreur que @esperox. Mon intuition me dit que c'est lié à Proton. Par curiosité Viarra, quelle version as-tu utilisée et comment l'as-tu installée ?
@esperox @elliotfontaine
Effectivement, le problème viens surement de Proton.
Premièrement, vérifiez que le dossier d’installation des versions de Protons installées soit bien dans l'emplacement par défaut du Steam deck (ici:/home/deck/.local/share/Steam/steamapps/common
). Cela correspond également à l'emplacement où le script va chercher les versions de Protons installées (ligne 7 du script, la valeur "STEAM_COMMON").
Si vous avez Proton d'installer mais à un autre endroit, vous devrez changer la valeur $STEAM_COMMON (ligne 7) pour faire que la valeur soit le dossier où vous stockez les versions de Proton.
Exemple pour les Proton installés automatiquement via Steam, sur le slot carté SD avec le dossier Steam a la racine de ladite carte SD, la ligne 7 doits être remplacé par: STEAM_COMMON="run/media/deck/carte SD/steamapps/common"
Pour ma part, j'utilise spécifiquement Proton 7.0 mais il ne faut pas l'indiquer dans l’outil de compatibilité Steam, mais dans le script.
Pour forcer l'utilisation d'une version de Proton, il suffit de modifier la ligne 25, spécifiquement l'argument name en remplaçant -name "Proton*"
par -name "Proton 7.0"
.
Pour ce qui est de la manière dont j'ai installé Proton, il s'est installé automatiquement via Steam, avec l'un des jeux qui avait besoin de Proton pour tourner. Si vous avez installé vous-même proton dans un dossier spécifique (donc pas via Steam), je vous renvoie à la manipulation du 3eme paragraphe.
@Viarra
Merci beaucoup ça a marché! Comme je n'avais pas trouvé les Proton de Steam (ils étaient sur la carte SD lol), j'avais utilisé un Proton de Heroic Launcher. C'était sans doute la source du problème. Ou bien alors c'était un problème de version, en tout cas avec le 7.0 de Steam ça fonctionne bien!
Les performances en jeu ne sont pas terribles par contre. J'ai désactivé les options "Forcer l'utilisation du CPU" et "Optimisations multi-comptes", ça fait gagner quelques fps et quelques millisecondes sur les temps de chargement, mais rien de magique. Vivement la migration sur le moteur Unity.
Merci @Viarra pour toutes les explications 😀
Je ne joue pas à Dofus en ce moment donc un peu dur de suivre ce qu'il se passe.
Niveau performance à noter qu'en mode "console" elles sont meilleures (sûrement grâce au plus petit écran), ça demande un peu de temps à configurer mais le jeu peut être plutôt agréable : pour ma part j'ai mappé les deux joystick aux deux moitiés de la barre de raccourcis et le DPad aux changements de map. Après le plus chiant ça restera toujours le chat ...
@Viarra, un grand merci pour ton aide ! J’arrive maintenant à lancer Dofus 2 sans problème. J’ai fait le test avec Dofus 1.29, mais pour cette version le problème de lancement persiste.
J'ai un problème en mode gaming, je ne peux pas aller jusqu'aux extrémités droite et bas de l'écran avec la souris, je suis bloqué vers la moitié par un "mur". Ça a sans doute à voir avec la résolution. Est ce que c'est quelque chose auquel vous avez été confrontés ?
@elliotfontaine Peut-être avoir Dofus en plein écran dans les paramètres du jeu?
Sinon, peut-être une limitation du gaming mode qui limite ta souris a la taille de la fenêtre du launcher et là, je peux pas aider faut voir les paramètres Steam.
@Viarra salut, comment tu fais pour télécharger le script parce que je sais pas où s'est ... Désolé je suis une bille pour ce genre de choses mdr
Hello j'ai bien suivi tout ce qui a été écris au dessus mais de mon coté j'ai le meme soucis que décris @esperox.
Le launcher se lance en gaming mode j'ai pu installer dofus 2.0 mais lorsque je clique sur jouer je n'ai rien qui se lance.
J'ai vérifier l'installe de Proton au chemin indiqué et j'ai la version experimental et 9.0 uniquement
@HannibalRed tout en haut de la page tu a "download Zip"
UPDATE : Je viens de télécharger la version 7.0 de Proton et cela fonctionne mais pas sur la version 8.0 ( en ayant modifier le script évidemment )
Merci @JilGitHub
J'ai réussi à lancer le script, j'ai aussi fait les changement dans propriété, mais en mode gaming le jeu ne lance pas ni le launcher
Vous pensez que sa vient de quoi
UP : c'est bon le jeu se lance mais par contre en mode gaming ça ne marche pas, je suis en mode bureau mais pour le moment ça me suffit (juste la création de nouveau perso me fait quitter le jeu ...) merci encore pour les aides vous êtes des génies !
#!/bin/sh
#Chemin vers Proton Experimental pour l'installation Steam Flatpak
PROTON_VERSION="Proton - Experimental"
STEAM_ROOT="$HOME/.var/app/com.valvesoftware.Steam/.steam"
PROTON="$STEAM_ROOT/steam/steamapps/common/$PROTON_VERSION/proton"
#Chemins nécessaires pour Proton
COMPAT_DATA_PATH="$STEAM_ROOT/steam/steamapps/compatdata/dofus"
STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_ROOT/steam"
#Crée le répertoire de compatibilité s'il n'existe pas
mkdir -p "$COMPAT_DATA_PATH"
#Variables d'environnement pour Proton
export STEAM_COMPAT_DATA_PATH="$COMPAT_DATA_PATH"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_COMPAT_CLIENT_INSTALL_PATH"
#Exécuter le jeu avec Proton Experimental
"$PROTON" run Dofus.exe --port=$ZAAP_PORT --gameName=$ZAAP_GAME --gameRelease=$ZAAP_RELEASE --instanceId=$ZAAP_INSTANCE_ID --hash=$ZAAP_HASH --canLogin=$ZAAP_CAN_AUTH > /dev/null 2>&1
#Capturer le code de retour de Proton
exit $?
J'ai essayé de me faire un petit script pour lancer dofus à partir de proton de steam en flatpak, le jeu se lance bien mais j'ai une erreur code 5 quand je lance une partie ou que je souhaite créer un personnage.
#!/bin/sh
# Chemin vers Proton Experimental pour l'installation Steam Flatpak
PROTON_VERSION="Proton - Experimental"
STEAM_ROOT="$HOME/.var/app/com.valvesoftware.Steam/.steam"
PROTON="$STEAM_ROOT/steam/steamapps/common/$PROTON_VERSION/proton"
# Chemins nécessaires pour Proton
COMPAT_DATA_PATH="$STEAM_ROOT/steam/steamapps/compatdata/dofus"
STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_ROOT/steam"
INSTALL_DIR="$HOME/.config/Ankama/Dofus"
# Crée le répertoire de compatibilité s'il n'existe pas
mkdir -p "$COMPAT_DATA_PATH"
# Variables d'environnement pour Proton
export STEAM_COMPAT_DATA_PATH="$COMPAT_DATA_PATH"
export STEAM_COMPAT_CLIENT_INSTALL_PATH="$STEAM_COMPAT_CLIENT_INSTALL_PATH"
export PROTON_LOG=1
export PROTON_LOG_DIR="$HOME"
# Définir les chemins pour Dofus
DOFUS_EXE="$INSTALL_DIR/Dofus.exe"
ZAAP_PORT=${ZAAP_PORT:-5555}
ZAAP_GAME=${ZAAP_GAME:-dofus}
ZAAP_RELEASE=${ZAAP_RELEASE:-main}
ZAAP_INSTANCE_ID=${ZAAP_INSTANCE_ID:-1}
ZAAP_HASH=${ZAAP_HASH:-123456}
ZAAP_CAN_AUTH=${ZAAP_CAN_AUTH:-1}
# Supprimer le dossier "cinematics" pour éviter les plantages
GFX_DIR="$INSTALL_DIR/content/gfx"
CINEMATICS_DIR="$GFX_DIR/cinematics"
if [ -d "$CINEMATICS_DIR" ]; then
echo "Suppression du dossier cinematics pour éviter les plantages"
rm -rf "$CINEMATICS_DIR"
fi
# Vérifier si Dofus.exe existe
if [ ! -f "$DOFUS_EXE" ]; then
echo "Dofus.exe non trouvé dans $DOFUS_EXE"
exit 1
fi
# Exécuter Dofus avec Proton
"$PROTON" run "$DOFUS_EXE" --port=$ZAAP_PORT --gameName=$ZAAP_GAME --gameRelease=$ZAAP_RELEASE --instanceId=$ZAAP_INSTANCE_ID --hash=$ZAAP_HASH --canLogin=$ZAAP_CAN_AUTH > /dev/null 2>&1
# Capturer le code de retour de Proton
exit $?
Je laisse ça ici, supprimer le repertoire cinematics résou le soucis. Je peux lancer Dofus avec l'appimage et la version flatpak de steam
@elliotfontaine J'ai fais une mauvaise manipe dans le copier coller, j'ai éditer le message. Sinon, voila un screen de mon installation: https://imgur.com/a/fAX4HTV (j'ai renommer le script Dofus.sh mais en soit rien ne change).
@esperox je dirais peut être d'autoriser l’accès en écriture/lecture en aillant cocher "est exécutable"? Lien du screen (dans les propriétés de fichier avec un "clique droit" (L2 par défault) https://imgur.com/a/vKMDqrP