Jump to content

CentOS VAAPI


dcrdev
Go to solution Solved by dcrdev,

Recommended Posts

dcrdev

Thanks for getting back to me, I really appreciate it!

 

So, like I wrote earlier, I have reached out to them - and they've been a tremendous help. But the issue is still unresolved and it looks like the issue isn't really with them but rather with my hardware and/or choice of OS.

 

Basically the working theory is that the CentOS distributed kernel doesn't have the proper drivers (vaapi? intel? libva?).

 

So, scouring the web, I stumbled in here and what you did - and from the looks of it you seem to really understand how it all fits together so maybe you would be willing to spread the knowledge a little bit? Basically I either want to fix it - or reach the conclusion that in my case (combination of hardware and OS) it is unfixable. At least within reason.

 

So you say you get artefacts? Is the CPU utilisation still reduced when using hardware acceleration? One thing to bear in mind is that according to the matrix https://wiki.libav.org/Hardware/vaapi - Sandbridge only has support for the h264 encoding extension. Is your media encoded h264?

 

What's the output of "vainfo" ? You'll need to have libva, libva-intel-driver and libva-utils packages installed - which are in Epel I believe, failing that they are also in https://negativo17.org/repos/epel-multimedia.repo . It wont be the kernel as you suggested - libva-intel-driver is a usermode driver that plugs into i915, which is the in-tree driver your chipset uses.

 

Have you checked that the rendering device actually gets created under /dev/dri/render* ? Is the user under which this software is running a member of the video group i.e. usermod -aG video rhymesWithFlex (Requires Reboot)?

  • Like 1
Link to comment
Share on other sites

BeyondEvil

So you say you get artefacts? Is the CPU utilisation still reduced when using hardware acceleration? One thing to bear in mind is that according to the matrix https://wiki.libav.org/Hardware/vaapi - Sandbridge only has support for the h264 encoding extension. Is your media encoded h264?

 

What's the output of "vainfo" ? You'll need to have libva, libva-intel-driver and libva-utils packages installed - which are in Epel I believe, failing that they are also in https://negativo17.org/repos/epel-multimedia.repo . It wont be the kernel as you suggested - libva-intel-driver is a usermode driver that plugs into i915, which is the in-tree driver your chipset uses.

 

Have you checked that the rendering device actually gets created under /dev/dri/render* ? Is the user under which this software is running a member of the video group i.e. usermod -aG video rhymesWithFlex (Requires Reboot)?

 

Yes, CPU goes down significantly during HW transcoding (from +300% to 20-30% or less).

 

The media I've been using for comparison says "Codec H264" when reading the meta.

 

I'll get back to you with vainfo info :) Need to install it etc.

$ ls -l /dev/dri/
total 0
crw-rw---- 1 root video 226,   0 Apr  3 14:42 card0
crw-rw---- 1 root video 226, 128 Apr  3 14:42 renderD128

Above was done when no transcoding was taking place. I'll re-do it when transcoding is taking place and together with vainfo.

$ sudo groups flex
flex : flex video usenet

Edit:

$ yum search libva
...
libva-devel.x86_64 : Development files for libva
libva.x86_64 : Video Acceleration (VA) API for Linux
libva-intel-hybrid-driver.x86_64 : VA driver for Intel G45 & HD Graphics family
libva-utils.x86_64 : Tools for VAAPI (including vainfo)
libva-vdpau-driver.x86_64 : HW video decode support for VDPAU platforms

Will the hybrid driver suffice?

 

I have epel and elrepo repos (base) enabled.

 

yum list installed | grep libva turns up empty

yum list installed | grep intel results in: xorg-x11-drv-intel.x86_64      2.99.917-26.20160929.el7

 

Sidenote: I can probably uninstall x11 and all those dependencies right? Since the server is headless.

 

 

Edit 2:

 

Running vainfo as root with no transcoding happening resulted in:

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

Edit 3:

 

Ok, with media playing and transcoding happening (verified H264):

# ls -l /dev/dri/
total 0
crw-rw---- 1 root video 226,   0 Apr  3 14:42 card0
crw-rw---- 1 root video 226, 128 Apr  3 14:42 renderD128

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

# ls /usr/lib64/dri/
hybrid_drv_video.so

Edit 4:

 

I tried two things.

 

1. rename the hybrid to i965

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_34
libva error: /usr/lib64/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

2. cp the i965 that I found under /usr/lib/flexmediaserver/dri/ to /usr/lib64/dri/

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva error: /usr/lib64/dri/i965_drv_video.so has no function __vaDriverInit_0_32
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

So... what's next? :)

Edited by BeyondEvil
Link to comment
Share on other sites

dcrdev

No the hybrid driver wont work -

 

Maybe it's no longer in epel - definately in negativo though https://negativo17.org/repos/multimedia/epel-7/x86_64/libva-1.8.3-0.1.el7.x86_64.rpm .

curl https://negativo17.org/repos/epel-multimedia.repo > /etc/yum.repod.d/epel-multimedia.repo
yum install libva libva-intel-driver

You need the driver for vainfo to be useful...

 

Since you're managing to utilise hardware transcoding without the libva library and the corresponding driver installed centrally, that implies that flex is packaging their own. That being the case you really would need to seek assistance from them.

Link to comment
Share on other sites

BeyondEvil

No the hybrid driver wont work -

 

Maybe it's no longer in epel - definately in negativo though https://negativo17.org/repos/multimedia/epel-7/x86_64/libva-1.8.3-0.1.el7.x86_64.rpm .

curl https://negativo17.org/repos/epel-multimedia.repo > /etc/yum.repod.d/epel-multimedia.repo
yum install libva libva-intel-driver

You need the driver for vainfo to be useful...

 

Since you're managing to utilise hardware transcoding without the libva library and the corresponding driver installed centrally, that implies that flex is packaging their own. That being the case you really would need to seek assistance from them.

 

So here's what I've done.

 

I removed the libva and the hybrid driver that I installed from epel, and then I installed libva and the intel driver from negativo.

 

Now vainfo produces:

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
failed to open /usr/lib64/dri/hybrid_drv_video.so
Failed to wrapper hybrid_drv_video.so
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Sandybridge Mobile - 1.8.3
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

I then replaced the i965 driver that is bundled with flex.

 

And I got this:

DEBUG - Streaming Resource: Determining preferred transcode encoders through transcode only decision.
DEBUG - Codecs: testing h264_nvenc (encoder)
ERROR - [FFMPEG] - Cannot load libcuda.so.1
WARN - avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
DEBUG - Codecs: hardware transcoding: testing API vaapi
ERROR - [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Input/output error

'ldconfig -p | grep cuda' returns nothing.

 

Is it worth pursuing getting libcuda onto my system, or is it just a never ending rabbit-hole?

 

Is there anything else I can do at this point?

 

Thank you for your patience. :)

Link to comment
Share on other sites

dcrdev

So here's what I've done.

 

I removed the libva and the hybrid driver that I installed from epel, and then I installed libva and the intel driver from negativo.

 

Now vainfo produces:

# vainfo
error: can't connect to X server!
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
failed to open /usr/lib64/dri/hybrid_drv_video.so
Failed to wrapper hybrid_drv_video.so
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Sandybridge Mobile - 1.8.3
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

I then replaced the i965 driver that is bundled with flex.

 

And I got this:

DEBUG - Streaming Resource: Determining preferred transcode encoders through transcode only decision.
DEBUG - Codecs: testing h264_nvenc (encoder)
ERROR - [FFMPEG] - Cannot load libcuda.so.1
WARN - avcodec_open2 returned -1313558101 for encoder 'h264_nvenc'
DEBUG - Codecs: hardware transcoding: testing API vaapi
ERROR - [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Input/output error

'ldconfig -p | grep cuda' returns nothing.

 

Is it worth pursuing getting libcuda onto my system, or is it just a never ending rabbit-hole?

 

Is there anything else I can do at this point?

 

Thank you for your patience. :)

 

Is this a dual graphics system?  You don't need nvenc unless you have an nvidia gpu also, that you intend to use with hardware acceleration.

 

That error indicates that the driver isn't supported by the version of the libva library your using - which makes sense since you've just replaced that.

Link to comment
Share on other sites

BeyondEvil

Is this a dual graphics system?  You don't need nvenc unless you have an nvidia gpu also, that you intend to use with hardware acceleration.

 

That error indicates that the driver isn't supported by the version of the libva library your using - which makes sense since you've just replaced that.

 

Nope, it's a mac mini.

 

But I installed the driver and libva at the same time from the same repo... Or am I missunderstanding something?

Link to comment
Share on other sites

dcrdev

Nope, it's a mac mini.

 

But I installed the driver and libva at the same time from the same repo... Or am I missunderstanding something?

 

So let me explain how support for vaapi works in ffmpeg:

 

You can't do a static build of ffmpeg with vaapi support because of that you have to build ffmpeg against a hardcoded location under which the libva and intel drivers reside. Since flex (like Emby) is packaging their own drivers, ffmpeg looks to a directory installed as part of the flex package as it's source for those drivers.

 

When you install libva, libva-intel-driver independently of flex, flex still looks to it's bundled directory for those files. I had interpreted you saying 'replaced' as meaning you physically copied those system-wide libraries over the ones included with flex, I was simply pointing out that it's unlikely that would have worked because libva would be at a mismatch with libva-intel.

 

 

-----------------------

 

But in all honesty I don't think any of that's going to help you - Sandybridge is ancient, hardware support in libva-intel is unlikely to have improved in recent times and stands to reason that flex is shipping a reasonably up-to-date stack; given that it works for people with fairly recent hardware.

 

I would look to the videos themselves and also the flex fork of ffmpeg that's being used.

 

You can always install ffmpeg from negativo and try and encode a video manually with that passing it the vaapi directive. That would atleast narrow it down to flex ffmpeg fork vs video.

Link to comment
Share on other sites

BeyondEvil

So let me explain how support for vaapi works in ffmpeg:

 

You can't do a static build of ffmpeg with vaapi support because of that you have to build ffmpeg against a hardcoded location under which the libva and intel drivers reside. Since flex (like Emby) is packaging their own drivers, ffmpeg looks to a directory installed as part of the flex package as it's source for those drivers.

 

When you install libva, libva-intel-driver independently of flex, flex still looks to it's bundled directory for those files. I had interpreted you saying 'replaced' as meaning you physically copied those system-wide libraries over the ones included with flex, I was simply pointing out that it's unlikely that would have worked because libva would be at a mismatch with libva-intel.

 

 

-----------------------

 

But in all honesty I don't think any of that's going to help you - Sandybridge is ancient, hardware support in libva-intel is unlikely to have improved in recent times and stands to reason that flex is shipping a reasonably up-to-date stack; given that it works for people with fairly recent hardware.

 

I would look to the videos themselves and also the flex fork of ffmpeg that's being used.

 

You can always install ffmpeg from negativo and try and encode a video manually with that passing it the vaapi directive. That would atleast narrow it down to flex ffmpeg fork vs video.

 

Yes, I did replace the i965 driver in the directory under flex's control (/usr/lib/flexmediaserver/), but what I didn't do was replace the libva stuffs:

# ls -l libav* libva*
-rwxr-xr-x 1 root root 1772872 Mar 16 19:12 libavcodec.so.57
-rwxr-xr-x 1 root root 3277696 Mar 16 19:12 libavformat.so.57
-rwxr-xr-x 1 root root  503480 Mar 16 19:12 libavutil.so.55
-rwxr-xr-x 1 root root    7440 Mar 16 19:12 libva-drm.so.2
-rwxr-xr-x 1 root root  162936 Mar 16 19:12 libva.so.2

So I'll replace those as well and see what happens.

 

I'm also going to boot into my osx implementation and try that. If that works, then I know it's not an hardware issue but rather a driver/software one.

 

What is interesting is, since starting this, more people have reported issues with the HW acc transcoding - and they all have Sandy Bridge.

Link to comment
Share on other sites

dcrdev

Yes, I did replace the i965 driver in the directory under flex's control (/usr/lib/flexmediaserver/), but what I didn't do was replace the libva stuffs:

# ls -l libav* libva*
-rwxr-xr-x 1 root root 1772872 Mar 16 19:12 libavcodec.so.57
-rwxr-xr-x 1 root root 3277696 Mar 16 19:12 libavformat.so.57
-rwxr-xr-x 1 root root  503480 Mar 16 19:12 libavutil.so.55
-rwxr-xr-x 1 root root    7440 Mar 16 19:12 libva-drm.so.2
-rwxr-xr-x 1 root root  162936 Mar 16 19:12 libva.so.2

So I'll replace those as well and see what happens.

 

I'm also going to boot into my osx implementation and try that. If that works, then I know it's not an hardware issue but rather a driver/software one.

 

What is interesting is, since starting this, more people have reported issues with the HW acc transcoding - and they all have Sandy Bridge.

 

Yeah I think around 5/6th Gen is when vaapi support began to get traction.

 

As I posted above the libva matrix indicates very poor support for Sandybridge.

Link to comment
Share on other sites

BeyondEvil

Yeah I think around 5/6th Gen is when vaapi support began to get traction.

 

As I posted above the libva matrix indicates very poor support for Sandybridge.

 

I'm not sure if I've mentioned it, but I have an MacOS installation on the same machine (dual boot) and there it works as expected. So at least it isn't the hardware that is lacking.

 

Next I'm going to try with ffmpeg. Could you point to a good resource for learning? Thanks!

Link to comment
Share on other sites

dcrdev

I'm not sure if I've mentioned it, but I have an MacOS installation on the same machine (dual boot) and there it works as expected. So at least it isn't the hardware that is lacking.

 

Next I'm going to try with ffmpeg. Could you point to a good resource for learning? Thanks!

 

There's not much to learn really - you just run a single command it'll take a video re-encode it to a specified location and you pass it the vaapi directive to utilise hardware acceleration. If you really want I'll write an example command out when I get home.

 

Alternatively you could always test out Emby as they are packaging the whole graphics stack, if that works without issues you know it's an issue with certain components packaged by flex.

Link to comment
Share on other sites

BeyondEvil

There's not much to learn really - you just run a single command it'll take a video re-encode it to a specified location and you pass it the vaapi directive to utilise hardware acceleration. If you really want I'll write an example command out when I get home.

 

Alternatively you could always test out Emby as they are packaging the whole graphics stack, if that works without issues you know it's an issue with certain components packaged by flex.

 

Ok, I found these two links (same guy) and felt a bit overwhelmed...

 

https://stackoverflow.com/questions/26000606/how-do-you-get-ffmpeg-to-encode-with-vaapi#38133123

 

https://gist.github.com/Brainiarc7/95c9338a737aa36d9bb2931bed379219

 

Wow, yes that would be really helpful! Thanks!

 

Yes, I was actually planning on doing that as well, trying out Emby and compare.

 

 

Edit:

 

So I installed emby and all that. Same issue, horrible graphics with artifacts/tearing.

 

So the question is, even if I managed to get it working manually using FFmpeg - what's the point?

 

I'm just going to go back to the Macos setup. I've done some other upgrades hardware- and network-wise. So hopefully the issues I was having that made me go the CentOS route are gone. If not, I'll try to deal with those issues instead.

Edited by BeyondEvil
Link to comment
Share on other sites

  • 2 weeks later...
dubconst

 

Not one link does not work (404 Not found). Could you please correct it?
I have the same problem on 1245v6 and Supermicro board X11SSE-F
Link to comment
Share on other sites

  • 4 years later...
useremby

Hi all
Need help with vaapi setup on CentOS 7.

Hardware
HP ProLiant ML310e Gen8 v2
Xeon® E3-1270 v3
8 Gb Ram
AMD RX 550 2Gb
ILO on board video

Software
CentOS 7.9
Radeon™ Software for Linux® version 22.40.3 for RHEL 7.9

libva-1.8.3-1.el7.x86_64
libva-utils-1.8.3-4.el7.x86_64


In BIOS HP ProLiant ML310e Gen8 v2
Primary ILO on board video Secondary AMD RX 550

how to better configure the BIOS for video adapters. Which should be primary which secondary. Or maybe some should be disabled.

[root@zmserver scripts]# ffmpeg -hwaccels
ffmpeg version 3.4.12 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Hardware acceleration methods:
vdpau
qsv
vaapi
cuvid
root@zmserver scripts]# lshw -c display
  *-display                 
       description: VGA compatible controller
       product: Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:04:00.0
       version: c7
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:31 memory:e0000000-efffffff memory:dfe00000-dfffffff ioport:5000(size=256) memory:fbfc0000-fbffffff memory:fbf00000-fbf1ffff
  *-display
       description: VGA compatible controller
       product: MGA G200EH
       vendor: Matrox Electronics Systems Ltd.
       physical id: 0.1
       bus info: pci@0000:01:00.1
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=mgag200 latency=0
       resources: irq:16 memory:9f000000-9fffffff memory:fbde0000-fbde3fff memory:fb000000-fb7fffff
[root@zmserver scripts]# lspci -k | grep VGA
01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7)

[root@zmserver scripts]# lspci -k
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7)
	Subsystem: Hewlett-Packard Company Device 841e
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
[root@zmserver ~]# LIBVA_DRIVER_NAME=radeonsi vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva error: /usr/lib64/dri/radeonsi_drv_video.so has no function __vaDriverInit_0_32

libva error: /usr/lib64/dri/radeonsi_drv_video.so has no function __vaDriverInit_0_32 noting found about this...

Link to comment
Share on other sites

13 hours ago, useremby said:

Hi all
Need help with vaapi setup on CentOS 7.

Hardware
HP ProLiant ML310e Gen8 v2
Xeon® E3-1270 v3
8 Gb Ram
AMD RX 550 2Gb
ILO on board video

Software
CentOS 7.9
Radeon™ Software for Linux® version 22.40.3 for RHEL 7.9

libva-1.8.3-1.el7.x86_64
libva-utils-1.8.3-4.el7.x86_64


In BIOS HP ProLiant ML310e Gen8 v2
Primary ILO on board video Secondary AMD RX 550

how to better configure the BIOS for video adapters. Which should be primary which secondary. Or maybe some should be disabled.

[root@zmserver scripts]# ffmpeg -hwaccels
ffmpeg version 3.4.12 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Hardware acceleration methods:
vdpau
qsv
vaapi
cuvid
root@zmserver scripts]# lshw -c display
  *-display                 
       description: VGA compatible controller
       product: Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:04:00.0
       version: c7
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:31 memory:e0000000-efffffff memory:dfe00000-dfffffff ioport:5000(size=256) memory:fbfc0000-fbffffff memory:fbf00000-fbf1ffff
  *-display
       description: VGA compatible controller
       product: MGA G200EH
       vendor: Matrox Electronics Systems Ltd.
       physical id: 0.1
       bus info: pci@0000:01:00.1
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=mgag200 latency=0
       resources: irq:16 memory:9f000000-9fffffff memory:fbde0000-fbde3fff memory:fb000000-fb7fffff
[root@zmserver scripts]# lspci -k | grep VGA
01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7)

[root@zmserver scripts]# lspci -k
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] (rev c7)
	Subsystem: Hewlett-Packard Company Device 841e
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
[root@zmserver ~]# LIBVA_DRIVER_NAME=radeonsi vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva error: /usr/lib64/dri/radeonsi_drv_video.so has no function __vaDriverInit_0_32

libva error: /usr/lib64/dri/radeonsi_drv_video.so has no function __vaDriverInit_0_32 noting found about this...

Hi, does Emby Server detect any hardware support?

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