SteamOS icon indicating copy to clipboard operation
SteamOS copied to clipboard

[Request] Secret Service API / libsecret

Open missionfloyd opened this issue 3 years ago • 9 comments

Your system information

  • Steam client version: 1669935636
  • SteamOS version: 3.3.2 20221005.1
  • Opted into Steam client beta?: n
  • Opted into SteamOS beta?: n
  • Have you checked for updates in Settings > System?: y

Please describe your issue in as much detail as possible:

The official java Minecraft launcher works fine on steam deck, aside from not saving passwords because gnome-keyring is missing.

Steps for reproducing this issue:

  1. Download and extract Minecraft launcher: curl https://launcher.mojang.com/download/Minecraft.tar.gz | tar xvz
  2. Open it and log in. This error is displayed: Screenshot_20221201_230352 That link leads to https://help.minecraft.net/hc/en-us/articles/4408668374925-Secure-Token-Storage-Failure-on-Linux

missionfloyd avatar Dec 02 '22 06:12 missionfloyd

SteamOS 3 uses the KDE keyring since its using a KDE desktop (IDK about gamemode)

06kellyjac avatar Dec 07 '22 20:12 06kellyjac

The problem is that SteamOS doesn't come with an implementation for Secret Service API (org.freedesktop.secrets).

There are probably a few options here:

  • Add gnome-keyring (which supports the Secret Service API) to SteamOS.
  • Have KDE add support for Secret Service API to KDE through KSecretService or kwallet: https://bugs.kde.org/show_bug.cgi?id=313216#c30
  • KeePassXC can work with the Secret Service API, though it takes a bit of setup and but the flatpak doesn't seem to have this functionality. Work with them to figure out how to publish the API through the flatpak or add to SteamOS as a default package?

deardaniel avatar Dec 13 '22 01:12 deardaniel

Some relevant discussion on getting the API to work with Flatpak over here: https://github.com/flathub/com.mojang.Minecraft/pull/132

deardaniel avatar Dec 13 '22 01:12 deardaniel

This was "fixed" for me between last week, when I detected this same problem (but in my case it was VSCode that needed the secrets DBus service), and today, when I decided to investigate and report it.

https://invent.kde.org/frameworks/kwallet/-/merge_requests/11 implemented the Sercret Service API in kwallet. It was released with KDE frameworks 5.97. Last week the version of KDE frameworks installed in my deck (no beta release) was older. Today, after this week update, the installed version is 5.99.0 and VSCode is able to store auth credentials without problems.

I have no idea if this fixes the problem for Minecraft, but you should give it a try.

Edit to add my current SteamOS version: 3.4.4 20221228.1

alfonso-landin avatar Jan 01 '23 19:01 alfonso-landin

It seems to only work in desktop mode. It doesn't complain in game mode, but it doesn't save the password either.

I find it odd that such functionality is dependent on the desktop environment.

missionfloyd avatar Jan 15 '23 01:01 missionfloyd

I find it odd that such functionality is dependent on the desktop environment.

Each desktop has its own secrets storage: the Secrets API is a shared API for accessing that storage.

In the game session there is no secrets storage, so there's nothing that provides that API.

ebassi avatar Jan 19 '23 17:01 ebassi

So, this is why browsers like Chrome, Edge or Brave, when launched in Game Mode, have broken sync / password manager functionalities?

revanmj avatar Apr 05 '23 16:04 revanmj

This is now even more broken with the release of Plasma 6. Installing and running KWalletManager from Discover yields the following:

An error occurred when connecting to the KWallet service: The name org.kde.kwalletd6 was not provided by any .service files

bugQ avatar Jul 29 '24 19:07 bugQ

This is now even more broken with the release of Plasma 6.

https://bugs.kde.org/show_bug.cgi?id=492541

AsciiWolf avatar Sep 02 '24 11:09 AsciiWolf