Hey all! If you do any gaming on Hyprland, you might be interested in hyprfreeze.

It’s a very simple bash script I made to “freeze” a game process (or any other process) in Hyprland, which you may find useful to:

  • Pause games during unpausable cutscenes
  • Save system resources (CPU and GPU are free, the process is saved in RAM)

Should just work^^TM in most scenarios but my testings can only go so far and any feedback would be very appreciated.

  • Refurbished Refurbisher
    link
    fedilink
    English
    58 months ago

    Does this mean I can pause online games?

    /s

    /us I’m assuming this is like pressing Ctrl+Z in a Terminal window, and then fg to unpause.

    • @ZerodyaOP
      link
      English
      68 months ago

      Haha, yes! Ctrl+Z sends a TSPT signal to a terminal process, while this script sends a STOP signal to every process in a game’s process tree. Both get resumed with a SIGCONT so they’re kinda similar.

  • Presi300
    link
    fedilink
    English
    38 months ago

    Does it work on Wayland compositors that aren’t hyprland?

    • @ZerodyaOP
      link
      English
      38 months ago

      No, it uses hyprctl to get the pid of the current active window. Which compositor are you using? It might be possible to get the pid in a different way.

        • @ZerodyaOP
          link
          English
          18 months ago

          I’m not familiar with qtile, but I’m fairly sure there’s currently no way to get information about the active window on mutter unfortunately.

          Thing with wayland is, each compositor has to implement things their own way, so you’re limited to what your compositor allows you to do.

          For instance, you can get window information in sway with swaymsg. On other compositors you may have to find workarounds.

  • @stepanzak@iusearchlinux.fyi
    link
    fedilink
    English
    28 months ago

    That’s cool! Do you know about any similar solution for KDE Plasma/Kwin by any chance? Also, would it be theoretically possible to save the process to some kind of swapfile on disk so it doesn’t take up space in RAM?

    • @ZerodyaOP
      link
      English
      4
      edit-2
      8 months ago

      There is Nyrna, but it doesn’t work on Wayland.

      Afaik saving to swap isn’t possible as it’s something managed by the kernel, although you can try tweaking cgroups. Nyrna also mentions that this isn’t currently possible.