Jellyfin Forum
Hardware Acceleration - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Hardware Acceleration (/t-hardware-acceleration--11781)



Hardware Acceleration - trble - 2025-04-20

Hi guys,
I've been butting my head against the wall on my own for over a day on this issue. I've done tonnes of research and tried lots of different things, but frankly I'm wandering around in the dark because I don't *really* know what I'm doing. Any help would really be appreciated

I'm running jellyfin in docker (container manager) on a DS423+ Synology NAS.

The attached configuration.txt file is the project YAML config, I only recently added PUID and PGID and not sure if they are right - rest I think is fine

The attached image is my container -> general stats/settings, where it appears to be able to access both drivers

However attempting to play some anime .mkv files which need to be transcoded, I get the attached FFmpeg error, which from my understanding is saying that it can't access the drivers?

I've tried turning off tone mapping and it runs fine with transcoding disabled on other media files
I've gone into control panel -> tasks and run a task as 
  user: root
  command: sudo chmod -R 777 /dev/dri
                  docker restart jellyfin

I'm lost for what my issue is, please help before I lose more of my hair Slightly-frowning-face


RE: Hardware Acceleration - marshalleq - 2025-04-20

I have never set one up with your hardware, but I have found that your NAS has an Intel Celeron J4125 with a UHD 600 as listed here: https://www.cpu-monkey.com/en/cpu-intel_celeron_j4125.

It seems to therefore support what you're doing, but I notice your NAS seems to come with only 2GB memory and goes to a maximum of 6GB (officially - perhaps unofficially you could go more (and I would try if if you can for sanities sake).

Anyway, I have used Synology devices before (helping other people), never set this up, so I'm going to be of limited help. But, here is my config which is for nvidia, incase that is helpful, mine is in traditional docker format so you'll need to translate that to docker compose format (chatGPT will do it for you if you're not sure).

I assume you'd need to address the runtime line and the visible devices line in whatever format Intel requires them. Also I am on TrueNAS but docker setups are pretty universal.

sudo docker create --name=jellyfin \
--device=/dev/driConfused-facedev/dri \
--runtime=nvidia \
-e NVIDIA_VISIBLE_DEVICES=all \
--cpuset-cpus="0-15" \
-e PUID=568 \
-e PGID=568 \
-e TZ=Pacific/Auckland \
-e JELLYFIN_PublishedServerUrl=http://192.168.1.11 \
-p 8096:8096 \
-p 8920:8920 \
-p 7359:7359/udp \
-v /mnt/ssd1pool/docker2/jellyfin/configConfused-faceconfig \
-v /mnt/hdd1pool/vroot_media/video/televisionConfused-facemnt/television \
-v /mnt/hdd1pool/vroot_media/video/recordingsConfused-facemnt/recordings \
-v /mnt/hdd1pool/vroot_media/video/VHSConfused-facemnt/VHS \
--restart unless-stopped \
lscr.io/linuxserver/jellyfin:latest

Also check on that page in the link to see if you've checked on any codecs that are not supported as that can certainly mess things up.

I've tried having a look around and it seems to suggest that what you've done looks about right, only thing that stuck out for me is you have /dev/dri/card where I only have /dev/dri mapped.

Hopefully there's something in there that's helpful, otherwise I'm sure someone else with a Synology can jump in and help you soon.


RE: Hardware Acceleration - pxr5 - 2025-04-20

looking at your YAML file (and the settings picture confirms this). You have a # in front of the devices: which has effectively put the

/dev/dri/renderD128Confused-facedev/dri/renderD128
- /dev/dri/card0Confused-facedev/dri/card0

into the Volume: area

I use a Synology and here is my compose file:

services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: Jellyfin
environment:
- PUID=1027
- PGID=65536
- TZ=Europe/London
group_add:
- "937" \ # Change this to match your "render/video/input" host group id and remove this comment
volumes:
- /volume1/docker/jellyfin/cacheConfused-facecache:rw
- /volume1/docker/jellyfin/configConfused-faceconfig:rw
- /volume1/video3/TVConfused-faceTV:ro
- /volume1/video3/MovieConfused-faceMovie:ro
devices:
- /dev/dri/renderD128Confused-facedev/dri/renderD128
- /dev/dri/card0Confused-facedev/dri/card0
ports:
- 8096:8096/tcp
network_mode: host
restart: unless-stopped


RE: Hardware Acceleration - Efficient_Good_5784 - 2025-04-20

Yes, it looks like you need to redeploy the container with the device section being completely uncommented.


RE: Hardware Acceleration - pxr5 - 2025-04-20

I forgot to add. To find the correct GUID/UID, use this:

https://mariushosting.com/synology-find-uid-userid-and-gid-groupid-in-5-seconds/

In my YAML file above it contains a Group field. To find the group, SSH into your NAS and enter:

ls -la /dev/dri and look for videodriver (or similar) then enter:
grep videodriver /etc/group | cut -d: -f 3 this will give the group number to put in your YAML - probably 937. I'm not sure if this is needed, but it doesn't hurt


RE: Hardware Acceleration - TheDreadPirate - 2025-04-20

Also, remove the two device paths within the volumes section.


RE: Hardware Acceleration - trble - 2025-04-21

Thank you guys
HW transcoding is a bit slower than SW transcoding which I'm a bit confused by, but at least now it works

<3


RE: Hardware Acceleration - TheDreadPirate - 2025-04-21

Can you share your ffmpeg log? HW transcoding should be lightning fast compared to CPU transcoding. Except when tone mapping. Another thing that could slow things down a bit is subtitle burn in. But still should be much faster than straight CPU transcoding.