docs: Jellyfin NVENC passthrough fixed on Aegis (#60) #63

Merged
claude-bot merged 1 commit from jellyfin-nvenc-passthrough into main 2026-09-02 22:18:07 +00:00
Collaborator

Records the 2026-09-02 fix that got Jellyfin on Aegis doing real NVENC hardware transcoding.

Root cause: the Jellyfin container carried NVIDIA_VISIBLE_DEVICES / NVIDIA_DRIVER_CAPABILITIES (set by the official image) but ran under runc with no --runtime=nvidia, so libcuda.so.1 never loaded and every transcode fell back to software on the 4c/8t Xeon.

Fix (applied on the box): --runtime=nvidia + UUID-pinned NVIDIA_VISIBLE_DEVICES added to the dockerMan template, container recreated via rebuild_container. Template backup left at my-Jellyfin.xml.bak-pre-nvidia-20260902.

Verified: Runtime=nvidia, nvidia-smi -L works in-container, /dev/dri present; full NVDEC→NVENC transcode of a 1080p file at ~30x realtime with encoder/decoder ~99%.

Doc changes:

  • docs/homelab-architecture.md — Jellyfin bullet rewritten (was "no passthrough observed live")
  • docs/homelab-build-history.md — new Item 20

Resolves #60; clears the last open bullet of #58.

🤖 Generated with Claude Code

https://claude.ai/code/session_011TWtb2UUxCSEPyB625f4xM

Records the 2026-09-02 fix that got Jellyfin on `Aegis` doing real NVENC hardware transcoding. **Root cause:** the `Jellyfin` container carried `NVIDIA_VISIBLE_DEVICES` / `NVIDIA_DRIVER_CAPABILITIES` (set by the official image) but ran under `runc` with no `--runtime=nvidia`, so `libcuda.so.1` never loaded and every transcode fell back to software on the 4c/8t Xeon. **Fix (applied on the box):** `--runtime=nvidia` + UUID-pinned `NVIDIA_VISIBLE_DEVICES` added to the dockerMan template, container recreated via `rebuild_container`. Template backup left at `my-Jellyfin.xml.bak-pre-nvidia-20260902`. **Verified:** `Runtime=nvidia`, `nvidia-smi -L` works in-container, `/dev/dri` present; full NVDEC→NVENC transcode of a 1080p file at ~30x realtime with encoder/decoder ~99%. Doc changes: - `docs/homelab-architecture.md` — Jellyfin bullet rewritten (was "no passthrough observed live") - `docs/homelab-build-history.md` — new Item 20 Resolves #60; clears the last open bullet of #58. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_011TWtb2UUxCSEPyB625f4xM
Jellyfin transcodes on Aegis were running in software despite the app being
set to nvenc — the container carried the NVIDIA env vars (from the official
image) but was started under runc with no --runtime=nvidia, so libcuda never
loaded. Fixed by adding --runtime=nvidia + a UUID-pinned NVIDIA_VISIBLE_DEVICES
to the dockerMan template and recreating. Verified: full NVDEC->NVENC transcode
at ~30x realtime, encoder/decoder ~99%.

- homelab-architecture.md: Jellyfin bullet rewritten (was "no passthrough
  observed live")
- homelab-build-history.md: new Item 20 with root cause + fix + verification

Resolves #60; clears the last open bullet of #58.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011TWtb2UUxCSEPyB625f4xM
claude-bot deleted branch jellyfin-nvenc-passthrough 2026-09-02 22:18:07 +00:00
Sign in to join this conversation.
No description provided.