Hello! You may be interested in Hyprfreeze if you game in Hyprland. It’s a small script that lets you suspend games just like gaming consoles do.

I always find it annoying when I’m playing and I quickly need to leave my desk or talk to someone, only to die to some random enemy in Elden Ring or to miss (unpausable) cutscenes of a game.

I’ve built this script to prevent that from happening and over time it’s reached a point where I find it robust enough and want to share it with others. Any feedback is always appreciated.

Github repo: https://github.com/Zerodya/hyprfreeze

  • moody@lemmings.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    Elden Ring does allow you to pause. You just have to open the menu explanations. But your point is still valid.

  • eodur@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 months ago

    This is very cool. I didn’t know about hyprland or game scope, so thanks for that too. My Linux gaming experience is about to get waaay better.

  • ISOmorph@feddit.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 months ago

    For anyone interested in this awesome concept, but isn’t a Hyprland user, there’s a great flatpak app called Nyrna, which basically does the same thing.

  • MNByChoice@midwest.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    9 months ago

    That is really great. I love the setup of the wrapper and how the dependences are listed with a “why”.

    Am I correct in understanding that the freeze mechanism is a “kill -STOP”? (If so, I feel I need to make more use of that command.)

    • Zerodya@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Indeed. However it’s necessary to use that command on both the main PID and all its child processes, otherwise you will run into issues like the game video stopping but the game logic still running in the background.

      This is just a tool to automate finding the pid (via hyprctl or other ways) and correctly suspending it.