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-signal.md
+32-5Lines changed: 32 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,7 +90,9 @@ To use hardware acceleration in Wayland mode, we distinguish between the card us
90
90
*`DRINODE`: The path to the GPU used for **Rendering** (EGL).
91
91
*`DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
92
92
93
-
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency.
93
+
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency. If they are set to different devices one will be used for **Rendering** and one for **Encoding** with a cpu readback.
94
+
95
+
You can also use the environment variable `AUTO_GPU=true`, with this set the first card detected in the container (IE `/dev/dri/renderD128`) will be used and configured for **Zero Copy**.
94
96
95
97
##### Intel & AMD (Open Source Drivers)
96
98
@@ -108,13 +110,34 @@ For Intel and AMD GPUs.
108
110
109
111
##### Nvidia (Proprietary Drivers)
110
112
113
+
**Note: Nvidia support is currently considered experimental, driver changes can break it at any time.**
114
+
111
115
**Note: Nvidia support is not available for Alpine-based images.**
112
116
117
+
**Note: Nvidia frames have issues with hardware decoders in Chromium browsers you need to navigate to `chrome://flags/#disable-accelerated-video-decode` and toggle it to `Disabled` for smooth playback**
118
+
113
119
**Prerequisites:**
114
120
115
-
1. **Driver:** Proprietary drivers **580 or higher** are required.
116
-
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
117
-
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
121
+
1. **Driver:** Proprietary drivers **580 or higher** are required. **Crucially, you should install the driver using the `.run` file downloaded directly from the Nvidia website.**
122
+
* **Unraid:** Use the production branch from the Nvidia Driver Plugin.
123
+
124
+
2. **Kernel Parameter:** You must set `nvidia-drm.modeset=1 nvidia_drm.fbdev=1` in your host bootloader.
125
+
* **Standard Linux (GRUB):** Edit `/etc/default/grub` and add the parameter to your existing `GRUB_CMDLINE_LINUX_DEFAULT` line:
* **Unraid (Syslinux):** Edit the file `/boot/syslinux/syslinux.cfg` and add `nvidia-drm.modeset=1 nvidia_drm.fbdev=1` to the end of the `append` line for the Unraid OS boot entry.
138
+
139
+
3. **Hardware Initialization:** **On headless systems, the Nvidia video card requires a physical dummy plug inserted into the GPU so that DRM initializes properly.**
140
+
118
141
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
119
142
120
143
```bash
@@ -143,6 +166,8 @@ services:
143
166
capabilities: [compute,video,graphics,utility]
144
167
```
145
168
169
+
* **Unraid:** Ensure you're properly setting the DRINODE/DRI_NODE and adding `--gpus all --runtime nvidia` to your extra parameters.
170
+
146
171
### SealSkin Compatibility
147
172
148
173
This container is compatible with [SealSkin](https://sealskin.app).
@@ -162,12 +187,14 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
162
187
| Variable | Description |
163
188
| :----: | --- |
164
189
| PIXELFLUX_WAYLAND | **Experimental** If set to true the container will initialize in Wayland mode running [Smithay](https://github.com/Smithay/smithay) and Labwc while enabling zero copy encoding with a GPU |
190
+
| SELKIES_DESKTOP | If set to true and in Wayland mode, a simple panel will be initialized with labwc |
165
191
| CUSTOM_PORT | Internal port the container listens on for http if it needs to be swapped from the default `3000` |
166
192
| CUSTOM_HTTPS_PORT | Internal port the container listens on for https if it needs to be swapped from the default `3001` |
167
193
| CUSTOM_WS_PORT | Internal port the container listens on for websockets if it needs to be swapped from the default 8082 |
| DRI_NODE | **Encoding GPU**: Enable VAAPI/NVENC stream encoding and use the specified device IE `/dev/dri/renderD128` |
170
196
| DRINODE | **Rendering GPU**: Specify which GPU to use for EGL/3D acceleration IE `/dev/dri/renderD129` |
197
+
| AUTO_GPU | If set to true and in Wayland mode, we will automatically use the first GPU available for encoding and rendering IE `/dev/dri/renderD128` |
171
198
| PASSWORD | HTTP Basic auth password, abc is default. If unset there will be no auth |
172
199
| SUBFOLDER | Subfolder for the application if running a subfolder reverse proxy, need both slashes IE `/subfolder/` |
173
200
| TITLE | The page title displayed on the web browser, default "Selkies" |
@@ -367,7 +394,6 @@ You can install packages from the system's native repository using the [universa
367
394
| `SELKIES_ENABLE_PLAYER3` | `True` | Enable sharing link for gamepad player 3. |
368
395
| `SELKIES_ENABLE_PLAYER4` | `True` | Enable sharing link for gamepad player 4. |
369
396
370
-
371
397
372
398
## Usage
373
399
@@ -679,6 +705,7 @@ To help with development, we generate this dependency graph.
679
705
680
706
## Versions
681
707
708
+
* **04.04.26:** - Make Wayland default disable with PIXELFLUX_WAYLAND=false.
682
709
* **21.03.26:** - Use Wayland ozone platform fixes scaling and acceleration.
0 commit comments