Well I’m hopping around… again. I thought I had a good stable setup going but then something happens upstream that goes against what I want/believe in (looking at you RedHat) and I’m back on the hunt again.

I thought about trying out a Debian based distro but then I thought “why don’t I just use Debian itself (Sid, not stable/Bookworm)”.

Most if not all gaming software have a way to be installed on Debian so I don’t think that could be an issue.

Is anyone else using Sid? Am I missing something by not going with a gaming focused distro??

  • Yote.zip
    link
    English
    2
    edit-2
    11 months ago

    I run Flatpaks for gaming mainly because I want cutting edge Mesa (which is inherently used while running games from Flatpaks). It’s not necessary right now since Bookworm was just released and Mesa is not that old, but as a long-term plan I think this is more consistent. I don’t think Steam will have a problem keeping up to date without Flatpak, but Lutris is probably best kept cutting-edge via external Deb repo or Flatpak. In general Flatpaks are pretty terrific and I recommend using them for a lot of things nowadays anyway (I even used a lot of them on Arch Linux). There’s really no performance cost anymore, and most Flatpaks are configured seamlessly from the start so you don’t need to worry much about access issues.

    Flatpaks can generally access anything they want, but you might have to allow that access manually, depending on how the Flatpak is initially configured (Flatseal makes this super easy). Usually this just means you’ll need to allow read-only or read/write access to specific directories where your personal files live. The biggest problem that Flatpaks have is that they absolutely can’t access /usr (and /usr/bin by extension), and this can make things like running mangohud %command% or strangle 60 %command% more or less impossible. You can actually still access stuff via /run/host/usr/bin from inside a Flatpak if you give it host permissions but things run this way usually get very confused and don’t work correctly. You can also try to use flatpak-spawn to do some interesting things from within the “sandbox”, but its usecases are limited in my experience. Notably you can cut off internet access from a game that’s being run, but flatpak-spawn also currently has a bug/oversight which wipes out the environment variables for the spawned process, which usually causes some havoc.

    There are also “portals” that hook into Flatpak, which I don’t know nearly enough about. If you use KDE for example, when you “open” a file using a Flatpak’d program, KDE will swap in a native file dialog and let you pick a file from anywhere even if the Flatpak doesn’t have access, and then it grants a temporary one-time access to that file to the program. For example I disallow Discord from accessing practically everything, but I can still upload files from anywhere on my system to a Discord channel with the KDE file portal.

    In terms of Proton versions and Wine versions etc, there’s no issues here. I usually use ProtonUp-Qt to install different versions, and Steam/Lutris/Bottles will have no issues accessing these even if they’re Flatpak’d.

    Edit: Also, you can theme Flatpaks like this. You’ll need your system themes to be installed to ~/.themes and ~/.icons in order for Flatpak programs to access them, and then you can set default global overrides for the theming environment variables and access to ~/.themes etc. using Flatseal. This will allow all programs to use your themes without individual configuration.

    • @lal309@lemmy.worldOP
      link
      fedilink
      English
      111 months ago

      Okay, on this thread alone a lot of people are suggesting to go stable (including yourself) so now I’m thinking you guys must know something I don’t. Truthfully, I only really need a few things for the games that I run like a recent kernel (XanMod maybe?) Wine staging, steam, nvidia drivers, lutris, bottles and proton (through ProtonUp-Qt). As long as I can run those things on recent versions, I think going stable would be fine too.

      • Yote.zip
        link
        English
        111 months ago

        The advent of Flatpaks have really made Debian Stable into a serious contender for desktop Linux, and Debian 12 is a remarkably good release even by Debian’s standards. Bookworm has received a lot of praise since its release, and I think people (like myself) are starting to reconsider what a desktop Linux can look like.

        It does take a little bit of extra setup to get more cutting-edge stuff for the applications you use most often, but after sourcing everything and stuffing all the individual updating mechanisms into an update script, you’ll get the best of both worlds - stable base and rolling user applications. If nothing else you should try Stable first before resorting to Sid - you may be inheriting Sid’s volatility without a proper usecase. If you don’t run Debian Stable or Debian Sid/Arch Linux, you’ll probably want to go somewhere in the middle like OpenSUSE Tumbleweed, which is cutting-edge with extensive testing baked-in.

        • @lal309@lemmy.worldOP
          link
          fedilink
          English
          111 months ago

          I’m going to give stable a try and see how far I get with gaming and go from there. I’ve never run straight Debian as a desktop it’s always been on servers so my experience there is limited.

          I’m curious as to the update script you are talking about. Care to point me to an example? Wouldn’t flatpak update do the trick for everything running in flatpaks? And apt update/upgrade for the rest?

          • Yote.zip
            link
            English
            1
            edit-2
            11 months ago

            Wouldn’t flatpak update do the trick for everything running in flatpaks? And apt update/upgrade for the rest?

            Yeah exactly. An update script just runs all these updates in a single command

            this is what mine looks like (apparently lemmy does not like &&'s so take care with the & bits):
            debupdate() {
              echo -e "##======================== Nala upgrades ============================##"
              sudo deb-get update 1> /dev/null # fetch deb-get repos ahead of time just for timing purposes
              sudo nala upgrade # nala is better than apt
            
              echo -e "##======================== Flatpak upgrades =========================##"
              flatpak update
            
              echo -e "##======================== deb-get upgrades =========================##"
              sudo deb-get upgrade
            
              echo -e "##======================== Rust upgrades ============================##"
              export CARGO_PROFILE_RELEASE_LTO=true
              export RUSTFLAGS="-C target-cpu=native"
              rustup update && \
              cargo install-update -a # this is a custom cargo package: https://crates.io/crates/cargo-update - take care as this doesn't inherently recompile with the same flags you originally installed with
            
              echo -e "##======================== Homebrew upgrades ========================##"
              brew update && \
              brew upgrade
            
              echo -e "##======================== yt-dlp upgrades ==========================##" # I let yt-dlp manage itself
              $HOME/Applications/yt-dlp/yt-dlp -U
            
              echo -e "##======================== Antidote upgrades ========================##" # antidote is a zsh plugin manager
              antidote update
              sudo -u root zsh -ci 'antidote update'
            
              echo -e "##======================== Upgrades Finished ========================##"
            }
            
            
            • @lal309@lemmy.worldOP
              link
              fedilink
              English
              111 months ago

              Ah okay fair enough! Thanks for sticking to the conversation. I will rebase everything to stable and goes that a try for awhile!