tdarr igpu transcoding bug
Posted by simplebenn
All of the fixes are amazing, love the sparkbox! via tom AI: Bug: Tdarr loses hardware-transcode access (/dev/dri) after sparkbox update, but a manual restart fixes it Setup: DXP4800 Plus, real Intel iGPU present on the host. .env has JELLYFINHWACCEL=intel set correctly — confirmed, not a misconfig. Modules enabled: core, dashboard, media, pihole, tailscale, tdarr. What's supposed to happen: SparkBox's hw-accel overlay (docker-compose.hw.yml) is supposed to get merged back in automatically any time a module container is recreated — including during sparkbox update — as long as JELLYFINHWACCEL isn't none and /dev/dri exists on the host. This overlay mechanism is generic and applies to Jellyfin, Tdarr, Emby, Plex, and Immich alike, not just Jellyfin. What actually happened (twice now): Ran a nightly/automated sparkbox update. Afterward, Tdarr QSV transcodes failed outright (Device creation failed: -542398533). Confirmed directly: sudo docker exec sb-tdarr ls -l /dev/dri → No such file or directory. The device just isn't mounted into the container post-update. Fix both times: sudo sparkbox restart tdarr (CLI, not the dashboard button) — forces a recreate, and /dev/dri (card0 + renderD128) comes right back, confirmed via the same ls -l /dev/dri check. The actual bug: The update path and the manual-restart path should both be running the same "does the hw overlay apply" logic on container recreate — but they're clearly landing differently. Update leaves Tdarr without /dev/dri; a plain restart re-merges it correctly every time. That divergence is the bug — something in the automated update flow isn't re-evaluating or re-applying the hw overlay the same way sparkbox restart does. Repro is consistent: happened after two separate update cycles, same symptom, same fix each time.
1 replies
Chris wrote:
You called it exactly, and great diagnostic writeup. This is a real bug and it's already fixed as of today. Tom's team traced it: after an automated update, SparkBox's check for the graphics device wasn't behaving the same way it does during a normal restart, so Tdarr's GPU access got missed even though the hardware was right there the whole time. Run sudo sparkbox update to grab v1.6.496 - from now on, updates detect and reapply the graphics device automatically, so you shouldn't need that manual restart trick anymore.