[PR #305] Pause/Resume containers #407

Open
opened 2026-10-15 13:00:20 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/wolf/pull/305
Author: @Murazaki
Created: 12/3/2025
Status: 🔄 Open

Base: beta ← Head: feature/pause_containers


📝 Commits (3)

  • 0c22537 flake setup + fix shebang
  • 0623257 WIP on adding resume and pause options
  • 19447c2 Change pause/resume event from lobby to runner

📊 Changes

24 files changed (+402 additions, -74 deletions)

View changed files

📝 .devcontainer/dev-setup.sh (+1 -1)
➕ .envrc (+3 -0)
➕ .envrc.local.sample (+1 -0)
📝 .gitignore (+23 -8)
📝 docker/gpu-drivers.Dockerfile (+2 -2)
📝 docker/gstreamer.Dockerfile (+1 -1)
📝 docker/startup.sh (+1 -1)
📝 docker/wolf.Dockerfile (+1 -1)
📝 docs/modules/dev/pages/manual_build.adoc (+1 -1)
📝 docs/modules/dev/partials/spec.json (+100 -0)
📝 docs/modules/user/pages/quickstart.adoc (+1 -1)
➕ flake.lock (+27 -0)
➕ flake.nix (+17 -0)
➕ shell.nix (+9 -0)
📝 src/core/src/core/docker.hpp (+14 -0)
📝 src/core/src/platforms/all/docker/docker/docker.cpp (+32 -0)
📝 src/moonlight-server/api/api.hpp (+7 -0)
📝 src/moonlight-server/api/endpoints.cpp (+48 -2)
📝 src/moonlight-server/api/unix_socket_server.cpp (+71 -46)
📝 src/moonlight-server/events/events.hpp (+20 -4)

...and 4 more files

📄 Description

Attempt at enabling pause/resume scheme from Wolf to Wolf UI.

As discussed on Discord, this might not work perfectly has pausing containers doesn't free GPU VRAM, since there's no cgroup freeze method available to do so by default. There is hope that we could do it with some research, and it might come to the kernel in the next years, but for now we have to try without. This might end up creating crashes though.

I'm still not sure of the return values that Resume should give. I kept it as a separated action from Join for now, but maybe the scheme would be better if we could directly join ?

I also might have connected pause and resume stream events to pause/resume container, which depending on how this works might not be a good idea.

Linked to https://github.com/games-on-whales/wolf-ui/pull/10


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/wolf/pull/305 **Author:** [@Murazaki](https://github.com/Murazaki) **Created:** 12/3/2025 **Status:** 🔄 Open **Base:** `beta` ← **Head:** `feature/pause_containers` --- ### 📝 Commits (3) - [`0c22537`](https://github.com/games-on-whales/wolf/commit/0c2253705263fd69495d4458352912298fc540c2) flake setup + fix shebang - [`0623257`](https://github.com/games-on-whales/wolf/commit/062325748ff6c7978268b65825b5b3a212069d97) WIP on adding resume and pause options - [`19447c2`](https://github.com/games-on-whales/wolf/commit/19447c2255b6213b122e914d111846e966c2467c) Change pause/resume event from lobby to runner ### 📊 Changes **24 files changed** (+402 additions, -74 deletions) <details> <summary>View changed files</summary> 📝 `.devcontainer/dev-setup.sh` (+1 -1) ➕ `.envrc` (+3 -0) ➕ `.envrc.local.sample` (+1 -0) 📝 `.gitignore` (+23 -8) 📝 `docker/gpu-drivers.Dockerfile` (+2 -2) 📝 `docker/gstreamer.Dockerfile` (+1 -1) 📝 `docker/startup.sh` (+1 -1) 📝 `docker/wolf.Dockerfile` (+1 -1) 📝 `docs/modules/dev/pages/manual_build.adoc` (+1 -1) 📝 `docs/modules/dev/partials/spec.json` (+100 -0) 📝 `docs/modules/user/pages/quickstart.adoc` (+1 -1) ➕ `flake.lock` (+27 -0) ➕ `flake.nix` (+17 -0) ➕ `shell.nix` (+9 -0) 📝 `src/core/src/core/docker.hpp` (+14 -0) 📝 `src/core/src/platforms/all/docker/docker/docker.cpp` (+32 -0) 📝 `src/moonlight-server/api/api.hpp` (+7 -0) 📝 `src/moonlight-server/api/endpoints.cpp` (+48 -2) 📝 `src/moonlight-server/api/unix_socket_server.cpp` (+71 -46) 📝 `src/moonlight-server/events/events.hpp` (+20 -4) _...and 4 more files_ </details> ### 📄 Description Attempt at enabling pause/resume scheme from Wolf to Wolf UI. As discussed on Discord, this might not work perfectly has pausing containers doesn't free GPU VRAM, since there's no cgroup freeze method available to do so by default. There is hope that we could do it with some research, and it might come to the kernel in the next years, but for now we have to try without. This might end up creating crashes though. I'm still not sure of the return values that `Resume` should give. I kept it as a separated action from `Join` for now, but maybe the scheme would be better if we could directly join ? I also might have connected pause and resume stream events to pause/resume container, which depending on how this works might not be a good idea. Linked to https://github.com/games-on-whales/wolf-ui/pull/10 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolf#407
No description provided.