Skip to content

Commit 8862391

Browse files
Bot Updating Documentation
1 parent 3d36c8e commit 8862391

1 file changed

Lines changed: 48 additions & 39 deletions

File tree

docs/images/docker-steam.md

Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -113,19 +113,22 @@ We are currently transitioning our desktop containers from X11 to Wayland. While
113113
**Important:** GPU acceleration support for X11 is being deprecated. Future development for hardware acceleration will focus entirely on the Wayland stack.
114114

115115
To enable Wayland mode, set the following environment variable:
116-
* `-e PIXELFLUX_WAYLAND=true`
116+
117+
* `-e PIXELFLUX_WAYLAND=true`
117118

118119
**Why use Wayland?**
119-
* **Zero Copy Encoding:** When configured correctly with a GPU, the frame is rendered and encoded on the video card without ever being copied to the system RAM. This drastically lowers CPU usage and latency.
120-
* **Modern Stack:** Single-application containers utilize **Labwc** (replacing Openbox) and full desktop containers use **KDE Plasma Wayland**, providing a more modern and secure compositing environment while retaining the same user experience.
120+
121+
* **Zero Copy Encoding:** When configured correctly with a GPU, the frame is rendered and encoded on the video card without ever being copied to the system RAM. This drastically lowers CPU usage and latency.
122+
* **Modern Stack:** Single-application containers utilize **Labwc** (replacing Openbox) and full desktop containers use **KDE Plasma Wayland**, providing a more modern and secure compositing environment while retaining the same user experience.
121123

122124
#### GPU Configuration
123125

124126
To use hardware acceleration in Wayland mode, we distinguish between the card used for **Rendering** (3D apps/Desktops) and **Encoding** (Video Stream).
125127

126128
**Configuration Variables:**
127-
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
128-
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
129+
130+
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
131+
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
129132

130133
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency.
131134

@@ -148,10 +151,12 @@ For Intel and AMD GPUs.
148151
**Note: Nvidia support is not available for Alpine-based images.**
149152
150153
**Prerequisites:**
151-
1. **Driver:** Proprietary drivers **580 or higher** are required.
152-
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
153-
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
154-
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
154+
155+
1. **Driver:** Proprietary drivers **580 or higher** are required.
156+
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
157+
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
158+
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
159+
155160
```bash
156161
sudo nvidia-ctk runtime configure --runtime=docker
157162
sudo systemctl restart docker
@@ -160,6 +165,7 @@ For Intel and AMD GPUs.
160165
**Compose Configuration:**
161166

162167
```yaml
168+
---
163169
services:
164170
steam:
165171
image: lscr.io/linuxserver/steam:latest
@@ -183,16 +189,15 @@ This container is compatible with [SealSkin](https://sealskin.app).
183189

184190
SealSkin is a self-hosted, client-server platform that provides secure authentication and collaboration features while using a browser extension to intercept user actions such as clicking a link or downloading a file and redirect them to a secure, isolated application environment running on a remote server.
185191

186-
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
187-
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
188-
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
189-
192+
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
193+
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
194+
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
190195

191196
### Options in all Selkies-based GUI containers
192197

193198
This container is based on [Docker Baseimage Selkies](https://github.com/linuxserver/docker-baseimage-selkies).
194199

195-
???+ note "Click to expand: Optional Environment Variables"
200+
??? note "Click to expand: Optional Environment Variables"
196201

197202
| Variable | Description |
198203
| :----: | --- |
@@ -221,15 +226,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
221226
| WATERMARK_LOCATION | Where to paint the image over the stream integer options below |
222227

223228
**`WATERMARK_LOCATION` Options:**
224-
- **1**: Top Left
225-
- **2**: Top Right
226-
- **3**: Bottom Left
227-
- **4**: Bottom Right
228-
- **5**: Centered
229-
- **6**: Animated
229+
230+
* **1**: Top Left
231+
* **2**: Top Right
232+
* **3**: Bottom Left
233+
* **4**: Bottom Right
234+
* **5**: Centered
235+
* **6**: Animated
230236

231237

232-
???+ note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
238+
??? note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
233239

234240
| Argument | Description |
235241
| :----: | --- |
@@ -238,7 +244,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
238244
| `--device /dev/dri:/dev/dri` | Mount a GPU into the container, this can be used in conjunction with the `DRINODE` environment variable to leverage a host video card for GPU accelerated applications. |
239245

240246

241-
???+ note "Click to expand: Legacy X11 Resolution & Acceleration"
247+
??? note "Click to expand: Legacy X11 Resolution & Acceleration"
242248

243249
**Note:** This section applies only if you are **NOT** using `PIXELFLUX_WAYLAND=true`.
244250

@@ -248,7 +254,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
248254

249255
This will set the total virtual framebuffer to 4K. By default, the virtual monitor is 16K. If you have performance issues in an accelerated X11 session, try clamping the resolution to 1080p and work up from there:
250256

251-
```
257+
```bash
252258
-e SELKIES_MANUAL_WIDTH=1920
253259
-e SELKIES_MANUAL_HEIGHT=1080
254260
-e MAX_RESOLUTION=1920x1080
@@ -259,16 +265,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
259265

260266
To launch the desktop session in a different language, set the `LC_ALL` environment variable. For example:
261267

262-
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
263-
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
264-
* `-e LC_ALL=ko_KR.UTF-8` - Korean
265-
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
266-
* `-e LC_ALL=ru_RU.UTF-8` - Russian
267-
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
268-
* `-e LC_ALL=de_DE.UTF-8` - German
269-
* `-e LC_ALL=fr_FR.UTF-8` - French
270-
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
271-
* `-e LC_ALL=it_IT.UTF-8` - Italian
268+
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
269+
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
270+
* `-e LC_ALL=ko_KR.UTF-8` - Korean
271+
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
272+
* `-e LC_ALL=ru_RU.UTF-8` - Russian
273+
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
274+
* `-e LC_ALL=de_DE.UTF-8` - German
275+
* `-e LC_ALL=fr_FR.UTF-8` - French
276+
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
277+
* `-e LC_ALL=it_IT.UTF-8` - Italian
272278

273279
### Application Management
274280

@@ -280,7 +286,7 @@ Natively installed packages (e.g., via `apt-get install`) will not persist if th
280286

281287
To install an application, use the command line inside the container:
282288

283-
```
289+
```bash
284290
proot-apps install filezilla
285291
```
286292

@@ -298,7 +304,7 @@ You can install packages from the system's native repository using the [universa
298304

299305
### Advanced Configuration
300306

301-
???+ note "Click to expand: Hardening Options"
307+
??? note "Click to expand: Hardening Options"
302308

303309
These variables can be used to lock down the desktop environment for single-application use cases or to restrict user capabilities.
304310

@@ -320,21 +326,24 @@ You can install packages from the system's native repository using the [universa
320326
| **`RESTART_APP`** | If true, enables a watchdog service that automatically restarts the main application if it is closed. The user's autostart script is made read-only and root owned to prevent tampering. |
321327

322328

323-
???+ note "Click to expand: Selkies Application Settings"
329+
??? note "Click to expand: Selkies Application Settings"
324330

325331
Using environment variables every facet of the application can be configured.
326332

327333
**Booleans and Locking:**
328334
Boolean settings accept `true` or `false`. You can also prevent the user from changing a boolean setting in the UI by appending `|locked`.
329-
* Example: `-e SELKIES_USE_CPU="true|locked"`
335+
336+
* Example: `-e SELKIES_USE_CPU="true|locked"`
330337

331338
**Enums and Lists:**
332339
These settings accept a comma-separated list of values. The first item becomes default. If only one item is provided, the UI dropdown is hidden.
333-
* Example: `-e SELKIES_ENCODER="jpeg"`
340+
341+
* Example: `-e SELKIES_ENCODER="jpeg"`
334342

335343
**Ranges:**
336344
Use a hyphen-separated `min-max` format for a slider, or a single number to lock the value.
337-
* Example: `-e SELKIES_FRAMERATE="60"`
345+
346+
* Example: `-e SELKIES_FRAMERATE="60"`
338347

339348
**Manual Resolution Mode:**
340349
If `SELKIES_MANUAL_WIDTH` or `SELKIES_MANUAL_HEIGHT` are set, the resolution is locked to those values.

0 commit comments

Comments
 (0)