-
-
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 |
@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
Was anyone able to launch dofus retro on steam deck? it launched fine on desktop but it doesn't work using Steam
@Viarra Salut, j'ai suivi toute votre conversation et ai suivi toute les recomendations mais le launcher ne se lance pas en gaming mode.
Le script est bien executable et fonctionne en mode desktop, mais le raccourcie en mode gaming ne fait rien, j'ai bien mis les guillemets et le dossier de départ.
Eh bien merci pour le script @remi-dupre et aussi pour la démarche @Viarra
ça marche très bien , ne pas oublier d'indiquer le bon chemin pour les proton , moi je les avais fait migrer sur ma carte SD, c'est peut être ça qui coince @Frehgin
Sinon pour le problème de connexion , j'ai changé de navigateur internet par défaut et mis Chrome à la place de Firefox et ça c'est bien connecté
Et ça marche nickel pour Dofus Unity aussi
Quelle version de wine utilisez-vous ?
comme d'autres l'ont fait remarquer, le lanceur fonctionne bien mais cliquer sur play ne fait rien. J'ai essayé à la fois à partir de steam et en exécutant le script avec konsole.
Voici le log
11/4/2024, 10:30:48 PM.477 - info : [DEBUG] allApiKeys 1
11/4/2024, 10:30:48 PM.477 - info : [DEBUG] allAccountsId
[ { accountId : 144571655, type : 'number' } ]
11/4/2024, 10:30:48 PM.480 - info : [DEBUG] availablesApiKeys
[ 144571655 ]
11/4/2024, 10:30:48 PM.480 - info : [DEBUG] USER_ACCOUNT ACTIVE
[ 144571655 ]
11/4/2024, 10:30:48 PM.480 - info : [DEBUG] getEnvironmentForRelease : accountId 144571655 est libre, les comptes sont connectés
11/4/2024, 10:30:48 PM.481 - info : ReleaseKpi : sendLaunchEvent dofus main 144571655
11/4/2024, 10:30:48 PM.482 - info : [KPI] gameLaunch
{ gameUid : 'dofus', releaseName : 'main', accountId : 144571655 }
11/4/2024, 10:30:48 PM.483 - debug : [KPI] événement 662 ajouté
11/4/2024, 10:30:48 PM.503 - debug : [GAME_CONFIG] Nouvelle configuration dofus main
11/4/2024, 10:30:48 PM.512 - info : [RELEASE] Spawn zaap-start
11/4/2024, 10:30:48 PM.514 - info : [SPAWN] scriptPath : ./zaap-start.sh
11/4/2024, 10:30:48 PM.514 - info : [SPAWN] location : /home/deck/.config/Ankama/Dofus
11/4/2024, 10:30:48 PM.763 - info : [RELEASE] Release exited
{
name : 'Dofus',
release : 'main',
code : 1,
pid : 29359,
instanceId : 1,
shouldRestart : false
J'ai vérifié les dossiers Proton et tout est en ordre. Je ne comprends pas où et s'il y a une erreur... avez-vous une idée ?
Hello, Le script me permet d'aller jusqu'au launcher, me log, installer Dofus 2.x, mais je reste sur "lancement..." indéfiniment le jeu ne se lance jamais y'a t'il une solution connu à se problème ? Merci d'avance
Lance l'Ankama Launcher, séléctionne Dofus 2.x et en dessous du bouton pour lancer le jeu tu devrais voir un petit rouage.
Clique dessus et sélectionnes l'architecture 64 bits.
Dans mon cas le jeu se lance correctement après
Salut, j'ai essayé de faire comme indiquer dans certains des messages mais honnêtement je n'y comprend strictement rien.
J'ai essayé de lancer l'installateur du launcher mais rien ne marche.
Je n'ai trouvé aucun tuto débutant sur comment faire marcher ce truc, qqun de motivé pourrait m'expliquer brièvement du départ comment faire ? Que faire du script, comment launcher le .appimage etc svp ?
Hello !
A priori ce script ne sert désormais plus à rien. Ankama devrait déployer la 3.0 cet après midi, sur Linux le client est désormais natif et n'a donc plus besoin de Wine comme dépendance externe 🤞
Ahhh mais c'est incroyable si c'est le cas, je vais rester patient alors et tester ça bientôt ! Merci de ta réponse
@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 ?