Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3075 Discussions

Media Server Studio 2018R1 on Centos7.4: vainfo fails

Hall__Grant
Beginner
2,187 Views

I have been running Media Server Studio 2017R3 for quite a while but have been experiencing crashes with the nimble transcoder.  Therefore, I have been attempting to install Media Server Studio 2018R1 to see if this fixes the problem.

Linux: CentOS Linux release 7.4.1708 (Core)

proc/cpuinfo:

processor : 0

vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
stepping : 3
microcode : 0xba
cpu MHz : 1599.843
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush d
ts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon p
ebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl
 vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes
 xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt tpr_shadow vnmi flexpr
iority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap cl
flushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp
bogomips : 8016.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
 
lspci -nn -s 0:02.0
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)
 
I have completed the install using the install scripts, but I am getting an error when I verify the installation using vainfo
$ vainfo
libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_0
get chip id failed: -1 [13]
param: 4, val: 0
libva error: /opt/intel/mediasdk/lib64/iHD_drv_video.so init failed
libva info: va_openDriver() returns 18
vaInitialize failed with error code 18 (invalid parameter),exit

 

Any suggestions appreciated.

 

Cheers

Canukhd

0 Kudos
2 Replies
Mark_L_Intel1
Moderator
2,187 Views

Hi Canukhd,

Yes, this should be expected.

From MSS 2018R1, we are no long build libra-util which support "vainfo" although it won't fail the installation.

You could find the build method either in the getting started guide in the release or refer to "Smoke Test No. 3" in the following article.

https://software.intel.com/en-us/articles/generic-installation-for-intel-media-server-studio

Mark 

0 Kudos
Grant_H_1
Beginner
2,187 Views

Thanks,  I did try that as per the instruction in the 2018R1 installation guide (pdf) and still get the error with vainfo.

I tried the instructions again (see following) but still get the same error with vainfo.   I did the 2018R1 install on the same system that was running 2017R3.   I did a yum upgrade release to 7.4.1708 from the previous release then used yum to remove the intel_media_lib and the nimble media server and the nimble transcoder. 

I then ran the scripts to install 2018R1 (which passed).    The first smoke test also works, but the third smoke test still fails.   Perhaps the problems are due to the fact that this is not a clean install of CentOS7.4.   Unfortunately the system is not local, and it will require some travel to start from fresh with a clean install. 

Third smoke test installation and results:

 
[ghall@supermicro4 libva]$ git clone https://github.com/intel/libva-utils.git
Cloning into 'libva-utils'...
remote: Counting objects: 1107, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 1107 (delta 7), reused 14 (delta 3), pack-reused 1083
Receiving objects: 100% (1107/1107), 1.28 MiB | 0 bytes/s, done.
Resolving deltas: 100% (740/740), done.
[ghall@supermicro4 libva]$ cd libva-utils
[ghall@supermicro4 libva-utils]$ ls
Android.mk  configure.ac     decode   Makefile.am        NEWS        test
autogen.sh  CONTRIBUTING.md  encode   meson.build        putsurface  vainfo
common      COPYING          INSTALL  meson_options.txt  README.md   videoprocess
[ghall@supermicro4 libva-utils]$ git checkout tags/1.8.3
Note: checking out 'tags/1.8.3'.
 
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
 
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
 
  git checkout -b new_branch_name
 
HEAD is now at 011c709... libva-utils 1.8.3
[ghall@supermicro4 libva-utils]$ sudo yum install automake libtool
[sudo] password for ghall: 
Loaded plugins: fastestmirror, langpacks
http://vault.centos.org/7/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article 
 
 
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
 
epel/x86_64/metalink                                                        |  17 kB  00:00:00     
epel                                                                        | 3.2 kB  00:00:00     
Trying other mirror.
google-chrome                                                               |  951 B  00:00:00     
nimble                                                                      |  951 B  00:00:00     
Trying other mirror.
(1/3): epel/x86_64/group_gz                                                 |  88 kB  00:00:05     
(2/3): epel/x86_64/updateinfo                                               | 925 kB  00:00:00     
(3/3): epel/x86_64/primary                                                  | 3.5 MB  00:00:00     
Loading mirror speeds from cached hostfile
 * epel: mirror.csclub.uwaterloo.ca
epel                                                                                   12604/12604
Package automake-1.13.4-3.el7.noarch already installed and latest version
Package libtool-2.4.2-22.el7_3.x86_64 already installed and latest version
Nothing to do
[ghall@supermicro4 libva-utils]$ ls
autogen.sh  configure.ac     COPYING  encode   Makefile.am  putsurface  test
common      CONTRIBUTING.md  decode   INSTALL  NEWS         README.md   vainfo
[ghall@supermicro4 libva-utils]$ gedit encode/avcenc.c
 
(gedit:4686): Gtk-WARNING **: Calling org.xfce.Session.Manager.Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "Inhibit" with signature "susu" on interface "org.xfce.Session.Manager" doesn't exist
 
[ghall@supermicro4 libva-utils]$ ./autogen.sh -prefix=/usr --libdir=/usr/lib/x86-linux-gnu
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4 ${ACLOCAL_FLAGS}
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
configure.ac:102: installing './compile'
configure.ac:98: installing './config.guess'
configure.ac:98: installing './config.sub'
configure.ac:60: installing './install-sh'
configure.ac:60: installing './missing'
common/Makefile.am: installing './depcomp'
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether gcc and cc understand -c and -o together... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for ANSI C header files... (cached) yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether __attribute__((visibility())) is supported... yes
checking for DRM... yes
checking for LIBVA_DRM... yes
checking for LIBVA... yes
checking for X11... yes
checking for XEXT... yes
checking for XFIXES... yes
checking for LIBVA_X11... yes
checking for WAYLAND... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating common/Makefile
config.status: creating test/Makefile
config.status: creating test/va_version.h
config.status: creating vainfo/Makefile
config.status: creating encode/Makefile
config.status: creating decode/Makefile
config.status: creating putsurface/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
 
libva-utils - 1.8.3
 
Libva VA-API version ............. : 1.0.0
Installation prefix .............. : /usr
Extra window systems ............. : drm x11
Enable Unit-tests .................... : no
 
Now type 'make' to compile libva-utils.
[ghall@supermicro4 libva-utils]$ make -j4
make  all-recursive
make[1]: Entering directory `/home/ghall/libva/libva-utils'
Making all in common
make[2]: Entering directory `/home/ghall/libva/libva-utils/common'
  CC       libva_display_la-va_display.lo
  CC       libva_display_la-va_display_x11.lo
  CC       libva_display_la-va_display_drm.lo
  CCLD     libva-display.la
make[2]: Leaving directory `/home/ghall/libva/libva-utils/common'
Making all in decode
make[2]: Entering directory `/home/ghall/libva/libva-utils/decode'
  CXX      mpeg2vldemo.o
  CC       loadjpeg.o
  CC       tinyjpeg.o
  CXXLD    mpeg2vldemo
  CCLD     loadjpeg
make[2]: Leaving directory `/home/ghall/libva/libva-utils/decode'
Making all in encode
make[2]: Entering directory `/home/ghall/libva/libva-utils/encode'
  CC       avcenc-avcenc.o
  CC       mpeg2vaenc-mpeg2vaenc.o
  CC       h264encode-h264encode.o
  CC       jpegenc-jpegenc.o
avcenc.c: In function \u2018create_encode_pipe\u2019:
avcenc.c:243:38: warning: unused variable \u2018roi_config\u2019 [-Wunused-variable]
             VAConfigAttribValEncROI *roi_config = (VAConfigAttribValEncROI *)&(attrib[2].value);
                                      ^
  CC       svctenc-svctenc.o
h264encode.c:1666:13: warning: \u2018render_packedsei\u2019 defined but not used [-Wunused-function]
 static void render_packedsei(void)
             ^
h264encode.c:1729:12: warning: \u2018render_hrd\u2019 defined but not used [-Wunused-function]
 static int render_hrd(void)
            ^
  CCLD     mpeg2vaenc
  CCLD     jpegenc
  CCLD     avcenc
  CCLD     svctenc
  CCLD     h264encode
make[2]: Leaving directory `/home/ghall/libva/libva-utils/encode'
Making all in vainfo
make[2]: Entering directory `/home/ghall/libva/libva-utils/vainfo'
  CC       vainfo-vainfo.o
  CCLD     vainfo
make[2]: Leaving directory `/home/ghall/libva/libva-utils/vainfo'
Making all in putsurface
make[2]: Entering directory `/home/ghall/libva/libva-utils/putsurface'
  CC       putsurface-putsurface_x11.o
  CCLD     putsurface
make[2]: Leaving directory `/home/ghall/libva/libva-utils/putsurface'
make[2]: Entering directory `/home/ghall/libva/libva-utils'
make[2]: Leaving directory `/home/ghall/libva/libva-utils'
make[1]: Leaving directory `/home/ghall/libva/libva-utils'
[ghall@supermicro4 libva-utils]$ sudo make install
[sudo] password for ghall: 
Making install in common
make[1]: Entering directory `/home/ghall/libva/libva-utils/common'
make[2]: Entering directory `/home/ghall/libva/libva-utils/common'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils/common'
make[1]: Leaving directory `/home/ghall/libva/libva-utils/common'
Making install in decode
make[1]: Entering directory `/home/ghall/libva/libva-utils/decode'
make[2]: Entering directory `/home/ghall/libva/libva-utils/decode'
 /usr/bin/mkdir -p '/usr/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c mpeg2vldemo loadjpeg '/usr/bin'
libtool: install: /usr/bin/install -c mpeg2vldemo /usr/bin/mpeg2vldemo
libtool: install: /usr/bin/install -c loadjpeg /usr/bin/loadjpeg
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils/decode'
make[1]: Leaving directory `/home/ghall/libva/libva-utils/decode'
Making install in encode
make[1]: Entering directory `/home/ghall/libva/libva-utils/encode'
make[2]: Entering directory `/home/ghall/libva/libva-utils/encode'
 /usr/bin/mkdir -p '/usr/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c avcenc mpeg2vaenc h264encode jpegenc '/usr/bin'
libtool: install: /usr/bin/install -c avcenc /usr/bin/avcenc
libtool: install: /usr/bin/install -c mpeg2vaenc /usr/bin/mpeg2vaenc
libtool: install: /usr/bin/install -c h264encode /usr/bin/h264encode
libtool: install: /usr/bin/install -c jpegenc /usr/bin/jpegenc
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils/encode'
make[1]: Leaving directory `/home/ghall/libva/libva-utils/encode'
Making install in vainfo
make[1]: Entering directory `/home/ghall/libva/libva-utils/vainfo'
make[2]: Entering directory `/home/ghall/libva/libva-utils/vainfo'
 /usr/bin/mkdir -p '/usr/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c vainfo '/usr/bin'
libtool: install: /usr/bin/install -c vainfo /usr/bin/vainfo
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils/vainfo'
make[1]: Leaving directory `/home/ghall/libva/libva-utils/vainfo'
Making install in putsurface
make[1]: Entering directory `/home/ghall/libva/libva-utils/putsurface'
make[2]: Entering directory `/home/ghall/libva/libva-utils/putsurface'
 /usr/bin/mkdir -p '/usr/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c putsurface '/usr/bin'
libtool: install: /usr/bin/install -c putsurface /usr/bin/putsurface
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils/putsurface'
make[1]: Leaving directory `/home/ghall/libva/libva-utils/putsurface'
make[1]: Entering directory `/home/ghall/libva/libva-utils'
make[2]: Entering directory `/home/ghall/libva/libva-utils'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/ghall/libva/libva-utils'
make[1]: Leaving directory `/home/ghall/libva/libva-utils'
 
[ghall@supermicro4 libva-utils]$ vainfo
libva info: VA-API version 1.0.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib64/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_0
get chip id failed: -1 [13]
param: 4, val: 0
libva error: /opt/intel/mediasdk/lib64/iHD_drv_video.so init failed
libva info: va_openDriver() returns 18
vaInitialize failed with error code 18 (invalid parameter),exit
[ghall@supermicro4 libva-utils]$ 
 
Let me know if you see anything obviously wrong.
 
Thanks
Grant Hall
0 Kudos
Reply