goatcorp / FFXIVQuickLauncher

Custom launcher for FFXIV
https://goatcorp.github.io/
GNU General Public License v3.0
2.77k stars 328 forks source link

[Linux] Flatpak version of XIVLauncher Core complains about missing secret provider #1031

Open Maia-Everett opened 2 years ago

Maia-Everett commented 2 years ago

Update disclaimer

What did you do?

OS: Ubuntu 22.04

Desktop environment: KDE Plasma 5

Upon launching the Flatpak version of XIVLauncher Core, I see this message in red:

Because of this, my password is not saved.

libsecret and gnome-keyring are installed, and a version of XIVLauncher Core built from source and launched manually works correctly.

After some investigation, it seems like an issue with libsecret in Flatpak sandboxes specifically, and the workaround is to either downgrade libsecret to version 19.1 or set -Dgcrypt=false.

https://gitlab.gnome.org/GNOME/libsecret/-/issues/49

Platform

Linux (native)

Wine/Proton runner version

No response

Relevant log output

No response

suchipi commented 2 years ago

For readers who may be arriving from search engines: as noted in the Steam Deck FAQ, you can set the environment variable XL_SECRET_PROVIDER to FILE to persist your password to disk instead of relying on libsecret. Note, though, that the password will be saved in a file as plaintext, which is insecure.

To launch the app with the environment variable temporarily set, run:

flatpak run --branch=stable --arch=x86_64 --env=XL_SECRET_PROVIDER=FILE --command=xivlauncher dev.goats.xivlauncher

Or, to configure the app so that this environment variable will always be set whenever it's opened by your user:

flatpak override --user --env=XL_SECRET_PROVIDER=FILE dev.goats.xivlauncher

And, if you want to undo that configuration:

flatpak override --user --unset-env=XL_SECRET_PROVIDER dev.goats.xivlauncher
mrexodia commented 1 year ago

If anyone else is having an issue getting the username/password textboxes to focus on Steam Deck, with XL_SECRET_PROVIDER=FILE the username/password is stored in ~/.xlcore/secrets.json with the format:

{
    "username": "password"
}

I enabled automatic login, closed the app and created secrets.json and the game starts without issues now! The relevant code is here: https://github.com/goatcorp/FFXIVQuickLauncher/blob/9a93fe405a5be906e006c8ebff9bd71fd0b96c21/src/XIVLauncher.Core/Program.cs#L293

noelmiller commented 1 year ago

It would be excellent to see this fixed. The workaround provided is not something I would be comfortable doing on my machine.

xzi commented 7 months ago

Would love to see this fixed as well. Auto-sign in would be a blessing

xzi commented 7 months ago

Fixed by https://github.com/flathub/dev.goats.xivlauncher/pull/41