Skip to content

Commit 2d82aea

Browse files
authored
feature: game streamer (#9)
1 parent bced8e6 commit 2d82aea

5 files changed

Lines changed: 109 additions & 0 deletions

File tree

.vitepress/config.mts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,15 @@ export default defineConfig({
197197
link: "/s3",
198198
items: [{ text: "Backblaze + Cloudflare", link: "/s3/backblaze" }],
199199
},
200+
{
201+
text: "Game Streaming",
202+
link: "/game-streaming/",
203+
items: [
204+
{ text: "NVIDIA", link: "/game-streaming/nvidia" },
205+
{ text: "AMD", link: "/game-streaming/amd" },
206+
{ text: "Intel", link: "/game-streaming/intel" },
207+
],
208+
},
200209
{
201210
text: "Custom Kubernetes",
202211
link: "/custom-k8s",

advanced/game-streaming/amd.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# AMD GPU Setup
2+
3+
::: warning Not yet supported
4+
Game streaming on AMD GPUs is not currently supported. The streamer pipeline encodes via NVENC (NVIDIA-specific) and the pod runtime relies on the NVIDIA Kubernetes runtime — neither has an AMD equivalent wired up yet.
5+
:::
6+
7+
## Tracking issue
8+
9+
We're tracking demand for AMD support here:
10+
11+
**[5stackgg/5stack-panel#467 — AMD GPU support](https://github.com/5stackgg/5stack-panel/issues/467)**
12+
13+
If you'd like to use AMD GPUs for game streaming, please **upvote and comment on the issue** with details about your hardware (model, driver, ROCm version, codec needs). The more concrete information we have, the easier it is to scope and prioritize.

advanced/game-streaming/index.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Game Streaming
2+
3+
5Stack can spectate live matches with [OpenHud](https://github.com/JohnTimmermann/OpenHud).
4+
5+
## Requirements
6+
7+
- At least one [game server node](/servers/game-server-nodes/) with a supported GPU and the relevant Kubernetes runtime installed (see GPU vendor pages below).
8+
- A Steam account dedicated to the streamer.
9+
10+
## GPU Support
11+
12+
| Vendor | Status |
13+
|---|---|
14+
| [NVIDIA](/advanced/game-streaming/nvidia) | Supported |
15+
| [AMD](/advanced/game-streaming/amd) | Not yet supported — [tracking issue #467](https://github.com/5stackgg/5stack-panel/issues/467) |
16+
| [Intel](/advanced/game-streaming/intel) | Not yet supported — [tracking issue #468](https://github.com/5stackgg/5stack-panel/issues/468) |
17+
18+
::: warning Steam account must NOT have 2FA / Steam Guard
19+
The streamer logs into Steam non-interactively via `steamcmd` to download and run CS2. Steam Guard / Steam Mobile Authenticator will break this — every Job will get stuck waiting for a code that nobody can enter.
20+
21+
**Use a dedicated Steam account with 2FA disabled.** Do not reuse a personal account.
22+
:::
23+
24+
## Install
25+
26+
Make sure the GPU drivers and Kubernetes runtime are set up on every node that will run the streamer — see [NVIDIA](/advanced/game-streaming/nvidia) for the full driver/toolkit steps.
27+
28+
From your panel install directory, run:
29+
30+
```bash
31+
./game-streamer.sh
32+
```
33+
34+
The script will walk you through:
35+
36+
1. **GPU vendor selection** — NVIDIA, AMD, or Intel. AMD and Intel exit early with a link to the tracking issue.
37+
2. **GPU node selection** — pick which cluster nodes have GPUs (multi-select). The script labels selected nodes with `nvidia-gpu=true` and `5stack-game-streamer=true`. Re-running the script with a different selection will add the labels to newly-selected nodes and remove them from previously-selected nodes.
38+
3. **Steam credentials** — username and password for the dedicated streamer account.
39+
40+
Your selections are persisted to `.5stack-env.config`

advanced/game-streaming/intel.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Intel GPU Setup
2+
3+
::: warning Not yet supported
4+
Game streaming on Intel GPUs is not currently supported. The streamer pipeline encodes via NVENC (NVIDIA-specific) and the pod runtime relies on the NVIDIA Kubernetes runtime — neither has an Intel equivalent wired up yet.
5+
:::
6+
7+
## Tracking issue
8+
9+
We're tracking demand for Intel support here:
10+
11+
**[5stackgg/5stack-panel#468 — Intel GPU support](https://github.com/5stackgg/5stack-panel/issues/468)**
12+
13+
If you'd like to use Intel GPUs (Arc discrete, or iGPU on recent Xeon / Core platforms) for game streaming, please **upvote and comment on the issue** with details about your hardware (model, driver, codec needs). The more concrete information we have, the easier it is to scope and prioritize.

advanced/game-streaming/nvidia.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# NVIDIA GPU Setup
2+
3+
Game streaming on NVIDIA GPUs needs three things on every node that will run a streamer pod:
4+
5+
1. The NVIDIA driver and CUDA userland.
6+
2. The NVIDIA Container Toolkit (so containerd can expose GPUs into pods).
7+
3. The Kubernetes `nvidia` overlay applied to your cluster (registers the device plugin so pods can request `nvidia.com/gpu`).
8+
9+
## 1. Install drivers and the container toolkit
10+
11+
On Ubuntu / Debian-based hosts:
12+
13+
```bash
14+
sudo apt install -y \
15+
nvidia-cuda-toolkit \
16+
nvidia-container-toolkit \
17+
nvidia-container-runtime \
18+
cuda-drivers-fabricmanager-590 \
19+
nvidia-headless-590-server-open \
20+
nvidia-utils-590-server \
21+
nvidia-driver-590-server-open
22+
```
23+
24+
::: tip Driver version
25+
The `590` package suffix tracks the driver branch. Pick the branch that matches your GPU and CUDA version — `nvidia-driver-590-server-open` is a recent open-kernel branch that works for the streamer pipeline. If `apt` doesn't have it, you may need NVIDIA's `cuda-keyring` repo: see [NVIDIA's installation guide](https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/).
26+
:::
27+
28+
Reboot, then verify:
29+
30+
```bash
31+
nvidia-smi
32+
```
33+
34+
You should see your GPU(s) listed with the driver version. and you can conitnue to the [game streaming setup](/advanced/game-streaming#install).

0 commit comments

Comments
 (0)