Jellyfin Forum
SOLVED: Intel QuickSync on Docker? - 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: SOLVED: Intel QuickSync on Docker? (/t-solved-intel-quicksync-on-docker)



Intel QuickSync on Docker? - Ángel Hurtado - 2024-03-27

So I have followed some guides that said to add to my docker compose file this

Code:
- devices:
  /dev/dri/renderD128:/dev/dri/renderD128
  /dev/dri/card0:/dev/dri/card0

And VAAPI seems to work, but not QuickSync, at least VAAPI lets me select the renderD128 in the dashboard > playback while QuickSync doesn't.

Yes, I have a modern Intel CPU, a N100, driver in Docker is 23.xx (can't recall right now) and also have it on my OS.

Using Ubuntu 24.04 Server (dev builds). Doesn't seem like a problem from Ubuntu.
I am also using the official Docker image, from Jellyfin


RE: Intel QuickSync on Docker? - TheDreadPirate - 2024-03-27

Did you pass in the render group into the container? If this container is running at root, than this doesn't matter.

Code:
group_add:
      - "122" # Change this to match your "render" host group id and remove this comment

Only VAAPI allows you to specify a render device to use. The other vendor specific options rely on the driver to properly detect and use the appropriate device.

What happens when you select Quick Sync? Can you share the ffmpeg log when HWA is set to Quick Sync? Also, did you check both Low Power Encoding options? If so, I believe you still need to install the HuC and GuC firmware.

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

Alternatively, you could UNcheck them since they aren't necessary for the N100.


RE: Intel QuickSync on Docker? - homelabResearcher - 2024-03-27

(2024-03-27, 07:35 PM)Ángel Hurtado Wrote: So I have followed some guides that said to add to my docker compose file this

Code:
- devices:
  /dev/dri/renderD128:/dev/dri/renderD128
  /dev/dri/card0:/dev/dri/card0

And VAAPI seems to work, but not QuickSync, at least VAAPI lets me select the renderD128 in the dashboard > playback while QuickSync doesn't.

Yes, I have a modern Intel CPU, a N100, driver in Docker is 23.xx (can't recall right now) and also have it on my OS.

Using Ubuntu 24.04 Server (dev builds). Doesn't seem like a problem from Ubuntu.
I am also using the official Docker image, from Jellyfin

Same build here. You may check whether your user is able to write to these devices in docker console. Don't just chmod them since permissions of these devices will be reset after reboot.


RE: Intel QuickSync on Docker? - Ángel Hurtado - 2024-03-28

(2024-03-27, 07:43 PM)TheDreadPirate Wrote: Did you pass in the render group into the container?  If this container is running at root, than this doesn't matter.

Code:
    group_add:
      - "122" # Change this to match your "render" host group id and remove this comment

Only VAAPI allows you to specify a render device to use.  The other vendor specific options rely on the driver to properly detect and use the appropriate device.

What happens when you select Quick Sync?  Can you share the ffmpeg log when HWA is set to Quick Sync?  Also, did you check both Low Power Encoding options?  If so, I believe you still need to install the HuC and GuC firmware.

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

Alternatively, you could UNcheck them since they aren't necessary for the N100.

Going to try the group_add to Docker compose. I thought that I only needed to add my user to render. Right now I'm not using the Low Power modes, if this doesn't work I will report back with the ffmpeg log.


RE: Intel QuickSync on Docker? - Ángel Hurtado - 2024-03-28

(2024-03-27, 11:20 PM)homelabResearcher Wrote:
(2024-03-27, 07:35 PM)Ángel Hurtado Wrote: So I have followed some guides that said to add to my docker compose file this

Code:
- devices:
  /dev/dri/renderD128:/dev/dri/renderD128
  /dev/dri/card0:/dev/dri/card0

And VAAPI seems to work, but not QuickSync, at least VAAPI lets me select the renderD128 in the dashboard > playback while QuickSync doesn't.

Yes, I have a modern Intel CPU, a N100, driver in Docker is 23.xx (can't recall right now) and also have it on my OS.

Using Ubuntu 24.04 Server (dev builds). Doesn't seem like a problem from Ubuntu.
I am also using the official Docker image, from Jellyfin

Same build here. You may check whether your user is able to write to these devices in docker console. Don't just chmod them since permissions of these devices will be reset after reboot.

Hehe, you read my mind, I tried that but saw that in reboot they in fact revert back to the previous permissions. Sometimes I think that I should run everything as root, even knowing the inevitable security risks it has (though, I don't typically use port forwarding on my setup)

(2024-03-27, 07:43 PM)TheDreadPirate Wrote: Did you pass in the render group into the container?  If this container is running at root, than this doesn't matter.

Code:
    group_add:
      - "122" # Change this to match your "render" host group id and remove this comment

Only VAAPI allows you to specify a render device to use.  The other vendor specific options rely on the driver to properly detect and use the appropriate device.

What happens when you select Quick Sync?  Can you share the ffmpeg log when HWA is set to Quick Sync?  Also, did you check both Low Power Encoding options?  If so, I believe you still need to install the HuC and GuC firmware.

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux

Alternatively, you could UNcheck them since they aren't necessary for the N100.

This was it!. In my case the render group id was 993. If anyone wants to know its render group id easily:

Code:
    cat /etc/group | grep render