protonscr

Native file picker doesn't work with xdg-desktop-portal-wlr or xdg-desktop-portal-hyprland

steamclosed
ValveSoftware/steam-for-linux#9594 · opened 2023-06-15 by xor-bits · updated 2023-06-15 · 1 comments · github
Xxor-bits 2023-06-15 github

Your system information

  • Steam client version (build number or date): 1686779606
  • Distribution (e.g. Ubuntu): Arch Linux
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

The native file picker doesn't work on Hyprland and possibly other xdg-desktop-portal tasks won't work either. This seems to be because steam supports only xdg-desktop-portal-gtk and xdg-desktop-portal-kde portals but not xdg-desktop-portal-wlr or xdg-desktop-portal-hyprland which Hyprland uses.

Steps for reproducing this issue:

  1. Install hyprland, xdg-desktop-portal and xdg-desktop-portal-hyprland
  2. Remove other xdg-desktop-portal-* packages
  3. Reboot and launch hyprland and then steam
  4. Now native file pickers are broken

Add a Game > Add a Non-Steam game... > Browse

or

Steam > Settings > Storage > +

{
  "display" : {
    "environment" : [
      "DISPLAY=:0",
      "WAYLAND_DISPLAY=wayland-1",
      "XDG_CURRENT_DESKTOP=Hyprland",
      "XDG_SESSION_CLASS=user",
      "XDG_SESSION_DESKTOP=Hyprland",
      "XDG_SESSION_TYPE=wayland"
    ],
    "wayland-session" : true,
    "wayland-issues" : [
    ],
    "x11-type" : "xwayland"
  },
  "xdg-portals" : {
    "details" : {
      "interfaces" : {
        "org.freedesktop.portal.OpenURI" : {
          "available" : false
        },
        "org.freedesktop.portal.Email" : {
          "available" : false
        }
      },
      "backends" : {
        "org.freedesktop.impl.portal.desktop.gtk" : {
          "available" : false
        },
        "org.freedesktop.impl.portal.desktop.kde" : {
          "available" : false
        }
      }
    },
    "issues" : [
      "missing-interface",
      "no-implementation"
    ],
    "messages" : [
      "The 'version' property is not available for 'org.freedesktop.portal.OpenURI', either there isn't a working xdg-desktop-portal or it is a very old version",
      "The 'version' property is not available for 'org.freedesktop.portal.Email', either there isn't a working xdg-desktop-portal or it is a very old version",
      "There isn't a working portal implementation"
    ]
  }
}
Kkisak-valve maintainer 2023-06-15 github

Hello @xor-bits, this was pointed out at https://github.com/ValveSoftware/steam-for-linux/issues/9447#issuecomment-1592231506. The key detail being that these xdg-desktop-portal backends do not implement a file chooser interface. Report this missing functionality to the individual backends.

From the Steam client side, #9584 covers what Steam should be doing in this scenario.

Closing as not a Steam client bug.