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 "$@"
  • It’s not quite as good as a separate linux desktop/laptop IMO. The main issue is that system files are read-only by default, so you have to go through some hoops to be able to install additional packages and any installed packages might be removed during an update. Though I did hear they are possibly changing that in a future update. Thankfully Flatpak works fine for most gaming needs, but more niche uses such as NFS functionality can be a bit of a pain to manage for now.

    Gaming on linux has come a long way thanks to Proton. Not sure if you were aware of this site - it lets you check how well different games run with Proton, and users often include various performance tweaks and whatnot too.