Hi, I am considering switching to NixOS and I was wondering what level of hassle I should expect for gaming.

I have been using linux for about 10 months so I don’t know a lot yet. I am wondering if it is worth it to try gaming on Nix or if it is going to be way too much of a headache considering my limited knowledge.

I’ve had wildly different experiences trying gaming on different distros, and very differently from what I expected. It went from fine for a weird niche distro (antiX), to really awful for a distro supposedly “easy” and “good for gaming” (Manjaro 😑), to absolutely amazing gaming distro (Nobara), and finally to surprisingly good for a “don’t try unless you are a Level 99 Tech Wizard dual-classed Zen Master you idiot” distro (Arch). So I really have no clue what to expect from Nix.

I really like Arch but my main issue is that I keep forgetting what I have already configured and how and with which settings, or I leave stuff partially configured because adhd then I forget it wasn’t finished and where I was at, so using config files instead sound insanely more convenient and I’ve been wanting to try Nix for a while.

I’d be really glad for anyone willing to share their experience of gaming on Nix 🙂

  • Darohan@lemmy.zip
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 months ago

    Interesting… I’ve just been pressing the “play” button on Steam 🤔 Let me do some digging and see if there’s anything weird I might be doing.

    Edit: Nope, confirmed, just pressing “play” in Steam using GE-Proton-9-9 works fine. Is there any reason you’re running it through nix-shell and steam-run instead of the Steam interface?

    • guttermonk
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      Just tried GE-Proton-9-9 and the play button goes to “stop” and then right back to “play”. I tried launching from terminal using nix-shell and steam-run so I could see the error messages when it crashes. Thanks for looking at your setup to see what was going on.

      • Darohan@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        Interesting, so it just crashes outright? Might I ask what your hardware is like?

        • guttermonk
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 months ago

          It’s a 2013 macbook air, which is weird because when I had OSX installed it played Stardew fine.

          • Darohan@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 months ago

            Huh, yeah that’s really weird. Intel device, no Nvidia, capable enough hardware. Unless there’s a hardware module for your device that that you haven’t enabled in your configuration.nix (I had to do one on my Framework for a few things to work properly), I don’t know why that wouldn’t be working for you. Out of interest, how did you install steam? Is it in your environment.systemPackages, or did you enable it with packages.steam.enable = true; (or whatever it is)

            • guttermonk
              link
              fedilink
              English
              arrow-up
              2
              ·
              2 months ago

              I did both - I have steam and steam-run in environment.systemPackages and I have packages.steam.enable = true;

              Here’s my hardware config:

                hardware = {
                  bluetooth.enable = true; # enables support for Bluetooth
                  bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
                  opengl = {
                    enable = true;
                    extraPackages = with pkgs; [
                      intel-media-driver # LIBVA_DRIVER_NAME=iHD
                      intel-media-sdk
                      intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965
                      vaapiIntel
                      vaapiVdpau
                      libvdpau-va-gl
                    ];
                  };
                  pulseaudio = {
                    enable = true;
                    support32Bit = true;
                    extraConfig = "load-module module-combine-sink";
                  };
                  xpadneo.enable = true;
                };