Jump to content

Hardware transcoding cannot be activated. (only emby)


Go to solution Solved by Dark6846,

Recommended Posts

Posted

Unfortunately, after a few days of trying, I am still unable to activate hardware transcoding. No hardware is displayed in the settings under 'preferred hardware decoders'.

My system:
- Emby runs with docker in a VM in Truenas.
- Truenas Scale Version: Dragonfish-24.04.2.5
- Emby version: 4.8.10.0
- Portainer version: 2.21.5
- VM OS: Ubuntu 24.04 LTS
- Graphics card: NVIDIA GTX 1060

There are some errors in the hardware_detection log file:
- hardware_detection.txt: “Message”: “Failed to initialize VA /dev/dri/renderD128. Error -1”

- What have I tried?
- Tried tons of instructions in forums
- Considered the Emby documentation.
- switch off immich and then test emby
- server restart

Further information:
- I use immich in the same VM. The hardware acceleration also works there via docker without any problems. So it must be a problem with emby.

I hope that someone can help me. Unfortunately, emby is for me quite useless without the feature, as the CPU load is far too high.

Thanks for reading

image.png

image.png

docker-compose.yml hardware_detection-63876722340.txt embyserver.txt

Posted

does no one have any ideas? 😕

yocker
Posted (edited)

/dev/dri/renderD128 is for Intel.
You need --runtime=nvidia for nvidia cards.

I'm no Linux guru so i don't know if you also need the Nvidia drivers.

Edited by yocker
Posted
4 minutes ago, yocker said:

/dev/dri/renderD128 is for Intel.
You need --runtime=nvidia for nvidia cards.

I'm no Linux guru so i don't know if you also need the Nvidia drivers.

i'm currently trying to solve it, but i don't understand the error. i have defined the runtime in the docker-compose and the nvidia drivers are installed. it works with other applications too, just not emby.

Posted (edited)

Check carefully you have done these steps:

https://www.truenas.com/docs/truenasapps/stableapps/emby/

Check it again. :)

If still not working have a look below. May not apply to a specific version of TrueNAS.

Emby User settings

  • make the emby user a member of video and render groups

Enable GPU Passthrough on TrueNAS Scale:

  • Go to System Settings > Advanced in the TrueNAS Scale interface.
  • In the Isolated GPU Devices section, select the GPU you want to dedicate to applications.
  • Save the settings and reboot the system to isolate the GPU.

Add GPU to the Emby App:

  • In the TrueNAS Scale Apps menu, locate the Emby app and click Edit.
  • Look for a section like GPU or Resources (depending on the app interface).
  • Assign the isolated GPU to the Emby app. This step ensures Emby has access to the GPU for hardware transcoding.

Verify GPU Access in Emby:

  • Once the app is updated, log in to the Emby server dashboard.
  • Navigate to Settings > Transcoding and ensure hardware transcoding is enabled.
  • Check for available hardware decoders (e.g., Intel Quick Sync or NVIDIA NVENC). If no decoders are listed, there may be a permissions or configuration issue.

 

 

Edited by Carlo
Posted
On 3/10/2025 at 12:50 AM, Carlo said:

Check carefully you have done these steps:

https://www.truenas.com/docs/truenasapps/stableapps/emby/

Check it again. :)

If still not working have a look below. May not apply to a specific version of TrueNAS.

Emby User settings

  • make the emby user a member of video and render groups

Enable GPU Passthrough on TrueNAS Scale:

  • Go to System Settings > Advanced in the TrueNAS Scale interface.
  • In the Isolated GPU Devices section, select the GPU you want to dedicate to applications.
  • Save the settings and reboot the system to isolate the GPU.

Add GPU to the Emby App:

  • In the TrueNAS Scale Apps menu, locate the Emby app and click Edit.
  • Look for a section like GPU or Resources (depending on the app interface).
  • Assign the isolated GPU to the Emby app. This step ensures Emby has access to the GPU for hardware transcoding.

Verify GPU Access in Emby:

  • Once the app is updated, log in to the Emby server dashboard.
  • Navigate to Settings > Transcoding and ensure hardware transcoding is enabled.
  • Check for available hardware decoders (e.g., Intel Quick Sync or NVIDIA NVENC). If no decoders are listed, there may be a permissions or configuration issue.

 

 

Thank you for your response.

Sadly it does not work. First of all, I have a problem. My CPU does not have a GPU unit. I have an external graphics card because of this but i can only isolate the graphics card if I have an integrated GPU. There is a workarount for this by removing the python check. I have done this and it works with immich in a vm.
However, I cannot add this card to the truenas container. The graphics card is otherwise not used.
It is displayed in the settings, but it is not saved when saving. it also says non-nvidia?! what a load of crap the whole thing is. if there was at least a debug from emby for this crap. i have paid a lifetime license for this.

thanks for the help anyway:)

image.png.de07a31b1b1a4a37e7cfbcd335ffff3e.png

Neminem
Posted

Most of the time gpu can only be used by either VM or Docker.

Since you have is in use in VM, you can't use it in Docker too.

Try shutting down the VM and try using it with Docker.

Sometimes you would need to reboot / restart the server to release the gpu.

  • 3 weeks later...
Posted

I have now:
- reinstalled
- restarted
- only via app in truenas
- only via VM
- only the one container in the VM

I'm giving up this garbage now.

stupid question. i only have a CPU without an integrated GPU. if i now buy a CPU with an integrated GPU, does the CPU itself check that the calculation has to be done via the GPU part, or do i still have to define this separately in hardwaretranscoding?

If so, is the GPU in an AMD Ryzen 5 4600G sufficient for such tasks? For the calculation of H265.

Posted

i have now tested it with jellyfin. it works there without any problems. so i do not assume that my hardware/setup outside the docker container and its config is the problem.

 

image.thumb.png.97e89cc4e5da32e6cde2b50f541db3bb.png

  • Solution
Posted

I have now solved it by using the container of linuxserver/emby. worked right away.

Posted

Hi, we are looking into this. Thanks.

Posted
6 hours ago, Luke said:

Hi, we are looking into this. Thanks.

Tested it longer. But it still seems to be a little unstable. Initially, all movies were processed with hardware acceleration when i started it. With the same settings now (all checkboxes for hardware acceleration), the hardware acceleration is usually only started if I set the resolution in the movie to 1080p with 10 mbps or lower, for example. from 15 mbps and higher, it will not start. I found a movie that is 1080p at 60 mpbs and directly activates acceleration without changing anything.

Both were transcoded with the same software and both have the same: MPEG-H Part2/HEVC (H.265) (hevc)

 

embyserver(3).txt ffmpeg-transcode-0c893401-2b3b-4947-aea4-9ad25fcb2f73_1(1).txt

  • 3 months later...
Posted

@Dark6846are you still having an issue with this? Can you try Chrome and see how that compares? Thanks !

  • 3 weeks later...
Posted
On 7/26/2025 at 6:38 AM, Luke said:

@Dark6846are you still having an issue with this? Can you try Chrome and see how that compares? Thanks !

I still had problems with it and was "forced" to switch to Plex. I didn't have that problem there. Unfortunately, my server setup crashed and I have to set up Emby again (failed raid). I'll let you know if it works then.

 

I also tested it with Chrome, Firefox, and Edge. Same result every time. I'll get back to you on this.

 

LG

  • Thanks 1
  • 3 weeks later...
Posted
On 8/11/2025 at 10:21 AM, Dark6846 said:

I still had problems with it and was "forced" to switch to Plex. I didn't have that problem there. Unfortunately, my server setup crashed and I have to set up Emby again (failed raid). I'll let you know if it works then.

 

I also tested it with Chrome, Firefox, and Edge. Same result every time. I'll get back to you on this.

 

LG

@Dark6846what was the result?

  • 3 weeks later...
Posted
On 9/1/2025 at 3:58 AM, Luke said:

@Dark6846what was the result?

Sorry for the late reply. I have now tested it and after reinstalling the operating system, it works without any problems. Above all, it also works without a graphics card. Whatever the problem was.

Thanks to all

  • Thanks 1
Posted (edited)

DELETE

Edited by Dark6846
  • 1 year later...
Posted

I have the same with my N100 using Proxmox and it worked in an earlier version before 4.10.2.0. Now I am on 4.11.0.13 and it's still not showing up 🙄

Based on the logs it should work but it doesn't show me any HW options in the backend and based on the CPU usage it's 100% not using the iGPU.

libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain               : VAEntrypointEncSliceLP
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSliceLP
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointEncSliceLP
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointEncSliceLP
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointEncSliceLP
      VAProfileHEVCMain12             : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointEncSlice
      VAProfileHEVCMain422_10         : VAEntrypointVLD
      VAProfileHEVCMain422_10         : VAEntrypointEncSlice
      VAProfileHEVCMain422_12         : VAEntrypointVLD
      VAProfileHEVCMain422_12         : VAEntrypointEncSlice
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         : VAEntrypointVLD
      VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         : VAEntrypointVLD
      VAProfileHEVCSccMain444         : VAEntrypointEncSliceLP
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

 

hardware_detection-63930131799.txt

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...