You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/images/docker-krita.md
+41-35Lines changed: 41 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,19 +71,22 @@ We are currently transitioning our desktop containers from X11 to Wayland. While
71
71
**Important:** GPU acceleration support for X11 is being deprecated. Future development for hardware acceleration will focus entirely on the Wayland stack.
72
72
73
73
To enable Wayland mode, set the following environment variable:
74
-
*`-e PIXELFLUX_WAYLAND=true`
74
+
75
+
*`-e PIXELFLUX_WAYLAND=true`
75
76
76
77
**Why use Wayland?**
77
-
***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.
78
-
***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.
78
+
79
+
***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.
80
+
***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.
79
81
80
82
#### GPU Configuration
81
83
82
84
To use hardware acceleration in Wayland mode, we distinguish between the card used for **Rendering** (3D apps/Desktops) and **Encoding** (Video Stream).
83
85
84
86
**Configuration Variables:**
85
-
*`DRINODE`: The path to the GPU used for **Rendering** (EGL).
86
-
*`DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
87
+
88
+
*`DRINODE`: The path to the GPU used for **Rendering** (EGL).
89
+
*`DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
87
90
88
91
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency.
89
92
@@ -108,16 +111,15 @@ This container is compatible with [SealSkin](https://sealskin.app).
108
111
109
112
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.
110
113
111
-
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
112
-
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
113
-
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
114
-
114
+
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
115
+
* **Browser Extension:** [Chrome](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/sealskin-isolation/).
116
+
* **Mobile App:** [iOS](https://apps.apple.com/us/app/sealskin/id6758210210) and [Android](https://play.google.com/store/apps/details?id=io.linuxserver.sealskin)
115
117
116
118
### Options in all Selkies-based GUI containers
117
119
118
120
This container is based on [Docker Baseimage Selkies](https://github.com/linuxserver/docker-baseimage-selkies).
119
121
120
-
???+ note "Click to expand: Optional Environment Variables"
122
+
??? note "Click to expand: Optional Environment Variables"
121
123
122
124
| Variable | Description |
123
125
| :----: | --- |
@@ -146,15 +148,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
146
148
| WATERMARK_LOCATION | Where to paint the image over the stream integer options below |
147
149
148
150
**`WATERMARK_LOCATION` Options:**
149
-
- **1**: Top Left
150
-
- **2**: Top Right
151
-
- **3**: Bottom Left
152
-
- **4**: Bottom Right
153
-
- **5**: Centered
154
-
- **6**: Animated
151
+
152
+
* **1**: Top Left
153
+
* **2**: Top Right
154
+
* **3**: Bottom Left
155
+
* **4**: Bottom Right
156
+
* **5**: Centered
157
+
* **6**: Animated
155
158
156
159
157
-
???+ note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
160
+
??? note "Click to expand: Optional Run Configurations (DinD & GPU Mounts)"
158
161
159
162
| Argument | Description |
160
163
| :----: | --- |
@@ -163,7 +166,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
163
166
| `--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. |
164
167
165
168
166
-
???+ note "Click to expand: Legacy X11 Resolution & Acceleration"
169
+
??? note "Click to expand: Legacy X11 Resolution & Acceleration"
167
170
168
171
**Note:** This section applies only if you are **NOT** using `PIXELFLUX_WAYLAND=true`.
169
172
@@ -173,7 +176,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
173
176
174
177
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:
175
178
176
-
```
179
+
```bash
177
180
-e SELKIES_MANUAL_WIDTH=1920
178
181
-e SELKIES_MANUAL_HEIGHT=1080
179
182
-e MAX_RESOLUTION=1920x1080
@@ -184,16 +187,16 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
184
187
185
188
To launch the desktop session in a different language, set the `LC_ALL` environment variable. For example:
@@ -205,7 +208,7 @@ Natively installed packages (e.g., via `apt-get install`) will not persist if th
205
208
206
209
To install an application, use the command line inside the container:
207
210
208
-
```
211
+
```bash
209
212
proot-apps install filezilla
210
213
```
211
214
@@ -223,7 +226,7 @@ You can install packages from the system's native repository using the [universa
223
226
224
227
### Advanced Configuration
225
228
226
-
???+ note "Click to expand: Hardening Options"
229
+
??? note "Click to expand: Hardening Options"
227
230
228
231
These variables can be used to lock down the desktop environment for single-application use cases or to restrict user capabilities.
229
232
@@ -245,21 +248,24 @@ You can install packages from the system's native repository using the [universa
245
248
| **`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. |
246
249
247
250
248
-
???+ note "Click to expand: Selkies Application Settings"
251
+
??? note "Click to expand: Selkies Application Settings"
249
252
250
253
Using environment variables every facet of the application can be configured.
251
254
252
255
**Booleans and Locking:**
253
256
Boolean settings accept `true` or `false`. You can also prevent the user from changing a boolean setting in the UI by appending `|locked`.
254
-
* Example: `-e SELKIES_USE_CPU="true|locked"`
257
+
258
+
* Example: `-e SELKIES_USE_CPU="true|locked"`
255
259
256
260
**Enums and Lists:**
257
261
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.
258
-
* Example: `-e SELKIES_ENCODER="jpeg"`
262
+
263
+
* Example: `-e SELKIES_ENCODER="jpeg"`
259
264
260
265
**Ranges:**
261
266
Use a hyphen-separated `min-max` format for a slider, or a single number to lock the value.
262
-
* Example: `-e SELKIES_FRAMERATE="60"`
267
+
268
+
* Example: `-e SELKIES_FRAMERATE="60"`
263
269
264
270
**Manual Resolution Mode:**
265
271
If `SELKIES_MANUAL_WIDTH` or `SELKIES_MANUAL_HEIGHT` are set, the resolution is locked to those values.
0 commit comments