Document GPU setup, --gpus vs --runtime=nvidia, and VRAM starvation

Required Mount section now shows full Extra Parameters for both GPU and
non-GPU containers and explains why --gpus beats --runtime=nvidia at
setup time rather than burying it in Troubleshooting.

New troubleshooting entry documents the GPU memory starvation cascade:
OCR sidecar (PaddleOCR) holds VRAM → Jellyfin hard-fails, Emby falls
back to CPU silently. Emby's NVIDIA startup probe is one-shot — VRAM
must be free before restarting or NVIDIA stays disabled for the session.
Includes correct recovery sequence and Tesseract fallback for EmbyCredits.

README callout updated from two to three non-obvious requirements.
This commit is contained in:
Gmer4Lfe
2026-05-23 14:11:00 -04:00
parent 767e64c072
commit 1381540dab
2 changed files with 103 additions and 6 deletions
+8 -2
View File
@@ -5,11 +5,17 @@ at full speed. When the ramdisk fills, new sessions shift to SSD automatically
without interrupting anything already playing. When pressure drops, new sessions shift
back to RAM.
> **Two configuration requirements that are not obvious and were both discovered the
> **Three configuration requirements that are not obvious and were all discovered the
> hard way in production.** The Docker mount must use `bind-propagation=shared` or
> symlink flips are silently ignored after the first flip. The `transcoding-temp`
> directory must be pre-created on the ramdisk or Emby finds the SSD version and
> routes all sessions there until restarted. Both are documented in Manual-Transcoding.md.
> routes all sessions there until restarted. GPU containers require `--gpus "device=UUID"`
> in Extra Parameters — not `--runtime=nvidia` — or the container fails to start after
> unRAID 7.2.5. Additionally: any GPU-accelerated sidecar (OCR plugins, credit detection)
> that holds VRAM and never releases it will starve Emby and Jellyfin of VRAM for
> transcoding — Jellyfin hard-fails, Emby silently falls back to CPU. Emby's startup
> NVIDIA probe is one-shot: if VRAM is exhausted when the container starts, NVIDIA stays
> disabled for the entire session. All three are documented in Manual-Transcoding.md.
---