Thought I'd share it here in case anyone was looking for something similar. It's based on the Windows instructions found here, but also adds GUI via kdialog.
This will create a folder next to the script named .gw2-account-manage and copy the Local.dat files between this folder and the game's appdata folder. To set it up, you just need to save this script to a file somewhere (I have it in /home/deck/gw2-account-manage), make it executable via chmod +x gw2-account-manage, and update the launch options in Steam.
Launch options should look something like this: /home/deck/gw2-account-manage "gamemoderun %command%"
You should be able to name each entry whatever you want - I just used account name since that's easier for me. Though I haven't tested it very thoroughly with special characters.
#!/bin/bash
datfile="/home/deck/.local/share/Steam/steamapps/compatdata/1284210/pfx/drive_c/users/steamuser/AppData/Roaming/Guild Wars 2/Local.dat"
parentdir=$(readlink -f $(dirname "$0"))
gw2amdir="$parentdir/.gw2-account-manage"
if [ ! -f "$datfile" ]; then
kdialog --error "Local.dat not found.\n\nExpected at:\n$datfile"
exit
fi
mkdir -p "$gw2amdir"
choose() {
options=""
files=$(find "$gw2amdir" -type f -print0 | xargs -0 ls -tU)
while read file; do
options="$options \"$file\" \"$(basename $file)\""
done < <(echo "$files")
options="$options \"+\" \"Add a new account...\""
choice=$(echo "$options" | xargs kdialog --menu \
"Select an account:")
if [ "+" = "$choice" ]; then
newname=$(kdialog --inputbox "Account Name")
if [ "$newname" ]; then
cp "$datfile" "$gw2amdir/$newname"
fi
choose "$@"
elif [ -f "$choice" ]; then
cp -r "$choice" "$datfile"
eval "$@"
cp -r "$datfile" "$choice"
fi
}
choose "$@"
GW2 is my most played game on Deck (probably around 200 hours) and I think it plays very well in most situations. The community controller layouts available via Steam work very well (full disclosure: I've created the second most popular one).
I personally would recommend playing on Deck, if you're mostly doing open world content, like leveling, world bosses, events, world completion, dailies, farming or something along those lines. Story content works very well, too.
Crafting and jumping puzzles can get a bit tedious because of the smaller screen.
WvW can work, if you're just doing some PPT.
I wouldn't recommend raiding, sPvP or intense WvW, as you'll always be limited by using a controller.
Performance-wise, the Deck holds up very well. I've set most settings to high, capped my FPS at 40 and didn't have any major issues yet.
So, all in all, I'd recommend GW2 on Deck to anyone who isn't exclusively playing very intense or competitive content. :)
I actually play in docked mode most of the time, so it's not too different from playing on Windows to me. It runs fairly well even at 1440p, though does still run into slowdowns every now and then.
For handheld mode, I ended up making my own set of bindings to make movement and menuing easier. I think I made it public with the name Sapphiria in it - it includes a mount & menu wheel complete with icons, though last I checked the icons only work from Big Picture in desktop mode.
I've never really been into PvP or raids, so I can't comment on how well those go in handheld mode - but I was able to complete Chalice of Tears pretty naturally with my control scheme.
The biggest issue I have with handheld mode is that the console heats up quite a bit with this game.
Communicating via chat is also a bit more difficult, but I'm sure that would just take practice to get used to how the keyboard works.
I'm suprised the Steam Deck can handle it so well and even at 1440p? Crazy 😅
I've played GW2 on Linux (Solus) before, but I felt I lost too much performance in my games in general. Sound like it might have improved a lot since then.