Like the title says I am trying to understand how these things should work together. Part of my issue is I don’t have a good mental model on the Flatpak permissioning / sandbox model. My use case is running a game on Lutris, which is a Flatpack, and using my package install of Mangohud. I am also curious if I should using a Flatpak version of Mangohud instead of the package installed version, and understanding how I would set up Steam as a Flatpak in the future when I switch away from the packaged version.

Thanks for any helpful tips or links you can provide.

  • INeedMana@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    8 months ago

    I don’t use flatpak but I didn’t have to configure Lutris or Steam in any way for that.

    If you look around goverlay you’ll find that there are two ENVs that you can set up in X/wayland service to have MangoHud automatically in every context it can render in.

    So first try running with MANGOHUD=1 env exported. If that doesn’t help, try mangohud steam.
    If I understand correctly, flatpack run in some kind of container, so it’s possible that you might need to set the env or the command, so it happens inside the container

  • Chewy@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    8 months ago

    Flatpak apps don’t have access to your system packages, so you need to install mangohud as flatpak. Once it’s installed it’s available to Steam flatpak and can be enabled like system mangohud in system Steam.

    https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#flatpak

    Edit: Switching from system Steam to flatpak Steam is simple and it’s always possible to switch between them. Just make sure to give flatpak Steam access to the existing SteamLibrary through flatseal.

    Personally I have my SteamLibrary at ~/Games/SteamLibrary and give flatpak Lutris/Steam access to ~/Games.

    • million@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 months ago

      Yeah chalk this up to me needing to read that manual.

      I took the instructions there and replaced the Steam flatpak with Lutris and it worked - though Mangohud is not reading my existing config even though it has access according to Flatseal.

      It’s weird to me that Flatpaks cans interact with other Flatpaks but not system packages. I would assume sandboxing would prevent both of those cases.

  • warmaster@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    I tried so hard to use the Steam Flatpak, but hit a wall when I wanted game libraries on multiple drives. The Arch wiki recommended to use the native binary.

    • Willdrick@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      The easiest way is going to Flatseal, selecting steam and under the folders section add the paths to your libraries.

  • million@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    Here is my understanding of this now I’ve got everything working on my Flatpak install of Steam:

    MangoHud

    • Mangohud is installed as another Flatpak, org.freedesktop.Platform.VulkanLayer.MangoHud
    • I don’t think I ever installed this manually, I believe the Steam Flatpak will bring this as a dependency
    • To tell a game to use MangoHud you add MANGOHUD=1 %command% to the Steam launch options of the game
    • Alternatively you can use like Flatseal to add MANGOHUD=1 to the Steam FlatPak to get this working in every game by default

    Gamemode

    • You need to install the Gamemode daemon, gamemoded as a system package
    • Once that is installed you can add gamemoderun %command% to the launch options to run the game with Gamemode enabled