NextPVR Forums
  • ______
  • Home
  • New Posts
  • Wiki
  • Members
  • Help
  • Search
  • Register
  • Login
  • Home
  • Wiki
  • Members
  • Help
  • Search
NextPVR Forums Public NextPVR Support Docker amd64 v
« Previous 1 2 3 4 5 … 9 Next »
Cannot transcode with Vaapi on intel GeminiLake [UHD Graphics 600]

 
  • 0 Vote(s) - 0 Average
Cannot transcode with Vaapi on intel GeminiLake [UHD Graphics 600]
PaddytheKiwi
Offline

Junior Member

New Zealand
Posts: 15
Threads: 1
Joined: Apr 2021
#21
2022-10-05, 09:15 PM
(2022-10-05, 08:57 PM)PaddytheKiwi Wrote: Thanks prahal, mine is

00:02.0 VGA compatible controller: Intel Corporation Device 4c8a (rev 04)

The previous version didn't work either. I've never been able to get hardware encoding to run on this host with NextPVR.  It works fine with a handbrake docker container.
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#22
2022-10-09, 06:13 PM
@ PaddyTheKiwi you might want to try to install intel-media-va-driver and/or intel-media-va-driver-non-free in the docker container for your Intel UHD 750.

intel-media-va-driver(-non-free) https://github.com/intel/media-driver

Quote:The Intel® Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware accelerated decoding, encoding, and video post processing for GEN based graphics hardware.

i965-va-driver(-shaders) https://github.com/intel/intel-vaapi-driver was:

Quote:VA-API (Video Acceleration API) user mode driver for Intel GEN Graphics family



Can you confirm intel-media-va-driver(-non-free) is installed in your handbrake container?
And if you need the -non-free versoin for NextPVR encode to web?


https://packages.debian.org/bullseye/int...-va-driver (the Debian free version has this limitation)

Quote:Only a limited set of encoders is available via this driver: JPEG (Skylake and newer), AVC (Boxton and newer), HEVC and VP9 (Ice Lake and newer). Media shaders are only available on Ice Lake and newer.
which is not on https://packages.debian.org/bullseye/int...r-non-free




vainfo should show " vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 21.1.1 ()" from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so instead of "vainfo: Driver version: Intel i965 driver for Intel® Gemini Lake - 2.4.1" from /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so per Setup UHD 750 GPU on Intel Rocket Lake processors on Linux

Mind if one install intel-media-va-driver in the container it takes precedence over i965-va-driver(-shaders). Ie here from:
Code:
root@argos:/app# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Gemini Lake - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main              : VAEntrypointVLD
      VAProfileH264Main              : VAEntrypointEncSlice
      VAProfileH264Main              : VAEntrypointEncSliceLP
      VAProfileH264High              : VAEntrypointVLD
      VAProfileH264High              : VAEntrypointEncSlice
      VAProfileH264High              : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh        : VAEntrypointVLD
      VAProfileH264StereoHigh        : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                  : VAEntrypointVideoProc
      VAProfileJPEGBaseline          : VAEntrypointVLD
      VAProfileJPEGBaseline          : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain              : VAEntrypointVLD
      VAProfileHEVCMain              : VAEntrypointEncSlice
      VAProfileHEVCMain10            : VAEntrypointVLD
      VAProfileHEVCMain10            : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD


to:
Code:
root@argos:/app# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main              : VAEntrypointVLD
      VAProfileH264Main              : VAEntrypointEncSliceLP
      VAProfileH264High              : VAEntrypointVLD
      VAProfileH264High              : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline          : VAEntrypointVLD
      VAProfileJPEGBaseline          : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain              : VAEntrypointVLD
      VAProfileHEVCMain10            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
PaddytheKiwi
Offline

Junior Member

New Zealand
Posts: 15
Threads: 1
Joined: Apr 2021
#23
2022-10-09, 08:27 PM (This post was last modified: 2022-10-09, 08:28 PM by PaddytheKiwi.)
Thanks for your help again prahal, but unfortunately what you ask is beyond my capabilities. I understood that the required drivers were already installed in the updated container posted last week?
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#24
2022-10-09, 09:04 PM
@PaddyTheKiwi the driver for my card is included, but the ones for your card (Intel 750 UHD) likely is not.

to try the intel-media-va-driver you have to run this command in the container (or have someone build an image with this package included):
Code:
apt install intel-media-va-driver-non-free
or for the Debian free version of the package (less encoders it seems, but no binary blobs):
Code:
apt install intel-media-va-driver


If you are o with the command line this is doable. You need to open a console to the docker container for your nextpvr.
If you manage your containers with a Web UI like portainer looks for a "console" button,
or directly from the docker host shell:

Code:
docker exec -ti nextpvr /bin/bash
where "nextpvr" is the name of my container (you can see your running docker containers with their names with docker ps).
PS/ you need to have permission to run docker command as your user to do the above without running your command with sudo.


If you do not know how to do the above, you coud ask for someone to publish an image with this package added and test it.
PaddytheKiwi
Offline

Junior Member

New Zealand
Posts: 15
Threads: 1
Joined: Apr 2021
#25
2022-10-09, 09:27 PM
SUCCESS!

Thanks again prahal, much appreciated!
QDivision
Offline

Member

United Kingdom
Posts: 58
Threads: 2
Joined: May 2023
#26
2024-10-20, 06:56 PM
Hi,

I've recently migrate my windows server to Unraid running on an N305 processor (using Docker).

I am having a very similar issue as described in this thread regarding transcoding not working.

With transcoding profile set to VAAPI and attempting to play a channel in the web player results in the following error 'Failed to start requested stream'.

The error log is as follows:

"ffmpeg version 4.3.4-0+deb11u1 Copyright © 2000-2021 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
[AVHWDeviceContext @ 0x560227a564c0] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ 0x560227a564c0] libva: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
[AVHWDeviceContext @ 0x560227a564c0] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value '/dev/dri/renderD128' for option 'vaapi_device': Input/output error
Error parsing global options: Input/output error"

Running 'vainfo' in the container terminal gives:

"error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit"

I have passed through dev/dri to the container, if I don't then I get a different error stating something like file not found. I have tried installing different vaapi/intel drivers within the container to little prevail.

Transcoding works successfully in my emby container, vainfo gives:

Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.17.1)
vainfo: Driver version: Intel iHD driver for Intel® Gen Graphics - 23.1.4 (12e141dc2)
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

Any help would be greatly appreciated.
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 52,962
Threads: 956
Joined: May 2006
#27
2024-10-20, 09:15 PM
NextPVR's Docker is very old, did you run an apt update when you were inside it?

Is Emby on the same machine? If so are you sure you can pass the h/w to two containers? That begs the question why do you need NextPVR web transcoding when the Emby transcoding is much more sophisticated.

Martin
QDivision
Offline

Member

United Kingdom
Posts: 58
Threads: 2
Joined: May 2023
#28
2024-10-22, 07:13 PM
Both containers run on the same machine and you can passthrough the HW to multiple containers simultaneously.

I am using both NextPVR and Emby as backends for Kodi (LiveTV and Offline media respectively). I have a fire stick that I use for travelling which also uses Kodi that remotes into my server and in that instance I require transcoding.

I will attempt to apt update the whole container to see if that works...
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#29
2024-10-22, 07:52 PM (This post was last modified: 2024-10-22, 07:53 PM by prahal.)
Either way, I noticed that intel-media-va-driver-non-free (and intel-media-va-driver for the stripped version) is not included in the docker image. It is confirmed to fix VAAPI accel for Intel 750 UHD. This driver supports VAAPI for gen8 and above.
Could intel-media-va-driver-non-free be added to the docker image?

QDivision
Your N305 is from 2023Q1 it seems. So it requires intel-media-va-driver-non-free or intel-media-va-driver.
Can you confirm you have installed the userspace driver in the nextpvr container ?
Code:
docker exec -ti nextpvr dpkg -l "intel-media-va-driver*"
QDivision
Offline

Member

United Kingdom
Posts: 58
Threads: 2
Joined: May 2023
#30
2024-10-22, 09:17 PM
I have tried both those drivers, this is the output from that command:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-====================================-============-============-================================================
un intel-media-va-driver <none> <none> (no description available)
ii intel-media-va-driver-non-free:amd64 21.1.1+ds1-1 amd64 VAAPI driver for the Intel GEN8+ Graphics family

The main difference I can spot in the output from 'vainfo' on next/emby is next uses va-api v1.10 while emby uses v1.18....not sure how to update this?
« Next Oldest | Next Newest »

Users browsing this thread: 2 Guest(s)

Pages (4): « Previous 1 2 3 4 Next »


Possibly Related Threads…
Thread Author Replies Views Last Post
  Add Intel iHD Driver to Docker Image for NextPVR thelanofvilles 8 1,399 2024-06-16, 08:10 PM
Last Post: thelanofvilles
  Vaapi on Intel 11th Gen integrated graphics PaddytheKiwi 10 3,523 2022-04-17, 08:40 PM
Last Post: PaddytheKiwi

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D, modified by NextPVR - Powered by MyBB

Linear Mode
Threaded Mode