Skip to content

Commit 6996257

Browse files
Bot Updating Documentation
1 parent a3550a7 commit 6996257

1 file changed

Lines changed: 48 additions & 39 deletions

File tree

docs/images/docker-webtop.md

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

102102
To enable Wayland mode, set the following environment variable:
103-
* `-e PIXELFLUX_WAYLAND=true`
103+
104+
* `-e PIXELFLUX_WAYLAND=true`
104105

105106
**Why use Wayland?**
106-
* **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.
107-
* **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.
107+
108+
* **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.
109+
* **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.
108110

109111
#### GPU Configuration
110112

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

113115
**Configuration Variables:**
114-
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
115-
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
116+
117+
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
118+
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
116119

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

@@ -135,10 +138,12 @@ For Intel and AMD GPUs.
135138
**Note: Nvidia support is not available for Alpine-based images.**
136139
137140
**Prerequisites:**
138-
1. **Driver:** Proprietary drivers **580 or higher** are required.
139-
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
140-
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
141-
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
141+
142+
1. **Driver:** Proprietary drivers **580 or higher** are required.
143+
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
144+
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
145+
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
146+
142147
```bash
143148
sudo nvidia-ctk runtime configure --runtime=docker
144149
sudo systemctl restart docker
@@ -147,6 +152,7 @@ For Intel and AMD GPUs.
147152
**Compose Configuration:**
148153

149154
```yaml
155+
---
150156
services:
151157
webtop:
152158
image: lscr.io/linuxserver/webtop:latest
@@ -170,16 +176,15 @@ This container is compatible with [SealSkin](https://sealskin.app).
170176

171177
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.
172178

173-
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
174-
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
175-
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
176-
179+
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
180+
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
181+
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
177182

178183
### Options in all Selkies-based GUI containers
179184

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

182-
???+ note "Click to expand: Optional Environment Variables"
187+
??? note "Click to expand: Optional Environment Variables"
183188

184189
| Variable | Description |
185190
| :----: | --- |
@@ -208,15 +213,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
208213
| WATERMARK_LOCATION | Where to paint the image over the stream integer options below |
209214

210215
**`WATERMARK_LOCATION` Options:**
211-
- **1**: Top Left
212-
- **2**: Top Right
213-
- **3**: Bottom Left
214-
- **4**: Bottom Right
215-
- **5**: Centered
216-
- **6**: Animated
216+
217+
* **1**: Top Left
218+
* **2**: Top Right
219+
* **3**: Bottom Left
220+
* **4**: Bottom Right
221+
* **5**: Centered
222+
* **6**: Animated
217223

218224

219-
???+ note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
225+
??? note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
220226

221227
| Argument | Description |
222228
| :----: | --- |
@@ -225,7 +231,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
225231
| `--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. |
226232

227233

228-
???+ note "Click to expand: Legacy X11 Resolution & Acceleration"
234+
??? note "Click to expand: Legacy X11 Resolution & Acceleration"
229235

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

@@ -235,7 +241,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
235241

236242
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:
237243

238-
```
244+
```bash
239245
-e SELKIES_MANUAL_WIDTH=1920
240246
-e SELKIES_MANUAL_HEIGHT=1080
241247
-e MAX_RESOLUTION=1920x1080
@@ -246,16 +252,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
246252

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

249-
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
250-
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
251-
* `-e LC_ALL=ko_KR.UTF-8` - Korean
252-
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
253-
* `-e LC_ALL=ru_RU.UTF-8` - Russian
254-
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
255-
* `-e LC_ALL=de_DE.UTF-8` - German
256-
* `-e LC_ALL=fr_FR.UTF-8` - French
257-
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
258-
* `-e LC_ALL=it_IT.UTF-8` - Italian
255+
* `-e LC_ALL=zh_CN.UTF-8` - Chinese
256+
* `-e LC_ALL=ja_JP.UTF-8` - Japanese
257+
* `-e LC_ALL=ko_KR.UTF-8` - Korean
258+
* `-e LC_ALL=ar_AE.UTF-8` - Arabic
259+
* `-e LC_ALL=ru_RU.UTF-8` - Russian
260+
* `-e LC_ALL=es_MX.UTF-8` - Spanish (Latin America)
261+
* `-e LC_ALL=de_DE.UTF-8` - German
262+
* `-e LC_ALL=fr_FR.UTF-8` - French
263+
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
264+
* `-e LC_ALL=it_IT.UTF-8` - Italian
259265

260266
### Application Management
261267

@@ -267,7 +273,7 @@ Natively installed packages (e.g., via `apt-get install`) will not persist if th
267273

268274
To install an application, use the command line inside the container:
269275

270-
```
276+
```bash
271277
proot-apps install filezilla
272278
```
273279

@@ -285,7 +291,7 @@ You can install packages from the system's native repository using the [universa
285291

286292
### Advanced Configuration
287293

288-
???+ note "Click to expand: Hardening Options"
294+
??? note "Click to expand: Hardening Options"
289295

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

@@ -307,21 +313,24 @@ You can install packages from the system's native repository using the [universa
307313
| **`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. |
308314

309315

310-
???+ note "Click to expand: Selkies Application Settings"
316+
??? note "Click to expand: Selkies Application Settings"
311317

312318
Using environment variables every facet of the application can be configured.
313319

314320
**Booleans and Locking:**
315321
Boolean settings accept `true` or `false`. You can also prevent the user from changing a boolean setting in the UI by appending `|locked`.
316-
* Example: `-e SELKIES_USE_CPU="true|locked"`
322+
323+
* Example: `-e SELKIES_USE_CPU="true|locked"`
317324

318325
**Enums and Lists:**
319326
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.
320-
* Example: `-e SELKIES_ENCODER="jpeg"`
327+
328+
* Example: `-e SELKIES_ENCODER="jpeg"`
321329

322330
**Ranges:**
323331
Use a hyphen-separated `min-max` format for a slider, or a single number to lock the value.
324-
* Example: `-e SELKIES_FRAMERATE="60"`
332+
333+
* Example: `-e SELKIES_FRAMERATE="60"`
325334

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

0 commit comments

Comments
 (0)