ValveSoftware / SteamOS

SteamOS community tracker
1.57k stars 70 forks source link

[Request] Secret Service API / libsecret #928

Open missionfloyd opened 1 year ago

missionfloyd commented 1 year ago

Your system information

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
06kellyjac commented 1 year ago

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

deardaniel commented 1 year ago

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:

deardaniel commented 1 year ago

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

alfonso-landin commented 1 year ago

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

missionfloyd commented 1 year ago

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.

ebassi commented 1 year ago

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.

revanmj commented 1 year ago

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

bugQ commented 2 months ago

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

AsciiWolf commented 1 month ago

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

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