Jump to content

Help with Hardware Acceleration: Docker, Debian, AMD Radeon Vega 10


majorsl

Recommended Posts

majorsl

Hi all, first off - is this mission critical? Not really, it would be very nice to have for some tone mapping to support some older TVs in the house.

History: I've run Emby Premiere for a long time on my Synology in Docker without hardware transcoding. My 1817+ really doesn't have the capabilities.  I recently got handed a Beelink NUC for free.  I moved a lot of services from an old RPi to it via Docker (it runs the latest Debian.)

I also spun up Frigate (a free security NVR) and it uses hardware acceleration just fine via Docker.  Here's my VAINFO from its Docker container:

vainfo: VA-API version: 1.17 (libva 2.10.0) vainfo: Driver version: Mesa Gallium driver 22.3.6 for AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.6, DRM 3.49, 6.1.0-20-amd64) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc

I have tried to get Emby to see the same hardware using both Env variables as /dev/dri and /dev/dri/renderD128 - the latter of which Frigate uses successfully.

It seems like it may be detecting the hardware, but then doesn't find any codecs:

Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint

Info VaapiCodecProvider: Adapter #0: 'Picasso/Raven 2 Radeon Vega Series' Id:5592 (Driver: , Vendor: Advanced Micro Devices, Inc. [AMD/ATI])

Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Execute: /bin/ffdetect -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json

Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Process exited with code 0 - Succeeded

Info NvidiaCodecProvider: ProcessRun 'ffdetect_nvencdec' Execute: /bin/ffdetect -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 nvencdec -print_format json

Info NvidiaCodecProvider: ProcessRun 'ffdetect_nvencdec' Process exited with code 1 - Failed

Info CodecManager: CodecList:

Info TaskManager: Hardware Detection Completed after 0 minute(s) and 0 seconds

I feel like I'm missing something, maybe it just isn't supported on my hardware, or Docker doesn't like to share devices between containers.

Thanks for any hints or input!

COPY
Edited by majorsl
Link to comment
Share on other sites

majorsl

Interestingly, I partly solved my issue by giving the linuxserver.io Emby container a try.  With the same settings I am able to select hardware decoding options.

Tone mapping, however, doesn't seem to be working well.  Colors are still washed out and it isn't as fast as I'd hoped.

Link to comment
Share on other sites

  • 2 weeks later...

HI @majorslusing the emby server docker container, please attach the emby server and hardware detection log files. Thanks.

Link to comment
Share on other sites

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...