Skip to content

Commit 31802b2

Browse files
Bot Updating Documentation
1 parent cb9776c commit 31802b2

1 file changed

Lines changed: 32 additions & 5 deletions

File tree

docs/images/docker-digikam.md

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ To use hardware acceleration in Wayland mode, we distinguish between the card us
9191
* `DRINODE`: The path to the GPU used for **Rendering** (EGL).
9292
* `DRI_NODE`: The path to the GPU used for **Encoding** (VAAPI/NVENC).
9393

94-
If both variables point to the same device, the container will automatically enable **Zero Copy** encoding, significantly reducing CPU usage and latency.
94+
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.
95+
96+
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**.
9597

9698
##### Intel & AMD (Open Source Drivers)
9799

@@ -109,13 +111,34 @@ For Intel and AMD GPUs.
109111
110112
##### Nvidia (Proprietary Drivers)
111113
114+
**Note: Nvidia support is currently considered experimental, driver changes can break it at any time.**
115+
112116
**Note: Nvidia support is not available for Alpine-based images.**
113117
118+
**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**
119+
114120
**Prerequisites:**
115121

116-
1. **Driver:** Proprietary drivers **580 or higher** are required.
117-
2. **Kernel Parameter:** Set `nvidia-drm.modeset=1` in your host bootloader (GRUB/systemd-boot).
118-
3. **Initialization:** On headless systems, run `nvidia-modprobe --modeset` on the host (once per boot) to initialize the card.
122+
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.**
123+
* **Unraid:** Use the production branch from the Nvidia Driver Plugin.
124+
125+
2. **Kernel Parameter:** You must set `nvidia-drm.modeset=1 nvidia_drm.fbdev=1` in your host bootloader.
126+
* **Standard Linux (GRUB):** Edit `/etc/default/grub` and add the parameter to your existing `GRUB_CMDLINE_LINUX_DEFAULT` line:
127+
128+
```text
129+
GRUB_CMDLINE_LINUX_DEFAULT="<other existing options> nvidia-drm.modeset=1 nvidia_drm.fbdev=1"
130+
```
131+
132+
Then apply the changes by running:
133+
134+
```bash
135+
sudo update-grub
136+
```
137+
138+
* **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.
139+
140+
3. **Hardware Initialization:** **On headless systems, the Nvidia video card requires a physical dummy plug inserted into the GPU so that DRM initializes properly.**
141+
119142
4. **Docker Runtime:** Configure the host docker daemon to use the Nvidia runtime:
120143

121144
```bash
@@ -144,6 +167,8 @@ services:
144167
capabilities: [compute,video,graphics,utility]
145168
```
146169

170+
* **Unraid:** Ensure you're properly setting the DRINODE/DRI_NODE and adding `--gpus all --runtime nvidia` to your extra parameters.
171+
147172
### SealSkin Compatibility
148173

149174
This container is compatible with [SealSkin](https://sealskin.app).
@@ -163,12 +188,14 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
163188
| Variable | Description |
164189
| :----: | --- |
165190
| 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 |
191+
| SELKIES_DESKTOP | If set to true and in Wayland mode, a simple panel will be initialized with labwc |
166192
| CUSTOM_PORT | Internal port the container listens on for http if it needs to be swapped from the default `3000` |
167193
| CUSTOM_HTTPS_PORT | Internal port the container listens on for https if it needs to be swapped from the default `3001` |
168194
| CUSTOM_WS_PORT | Internal port the container listens on for websockets if it needs to be swapped from the default 8082 |
169195
| CUSTOM_USER | HTTP Basic auth username, abc is default. |
170196
| DRI_NODE | **Encoding GPU**: Enable VAAPI/NVENC stream encoding and use the specified device IE `/dev/dri/renderD128` |
171197
| DRINODE | **Rendering GPU**: Specify which GPU to use for EGL/3D acceleration IE `/dev/dri/renderD129` |
198+
| 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` |
172199
| PASSWORD | HTTP Basic auth password, abc is default. If unset there will be no auth |
173200
| SUBFOLDER | Subfolder for the application if running a subfolder reverse proxy, need both slashes IE `/subfolder/` |
174201
| TITLE | The page title displayed on the web browser, default "Selkies" |
@@ -368,7 +395,6 @@ You can install packages from the system's native repository using the [universa
368395
| `SELKIES_ENABLE_PLAYER3` | `True` | Enable sharing link for gamepad player 3. |
369396
| `SELKIES_ENABLE_PLAYER4` | `True` | Enable sharing link for gamepad player 4. |
370397

371-
372398

373399
## Usage
374400

@@ -684,6 +710,7 @@ To help with development, we generate this dependency graph.
684710

685711
## Versions
686712

713+
* **03.04.26:** - Make Wayland default disable with PIXELFLUX_WAYLAND=false.
687714
* **21.03.26:** - Use Wayland ozone platform for chromium fixes scaling and acceleration.
688715
* **28.12.25:** - Add Wayland init logic.
689716
* **22.09.25:** - Rebase to Debian Trixie.

0 commit comments

Comments
 (0)