Media SDK installation on Ubuntu

Media SDK installation on Ubuntu

Hi,

    I am trying to install Media SDK on Ubuntu 12.04 and i found Media SDk is installed properly whereas KMD drivers did not install , giving errors as follows:

 

/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.c: In function ‘drm_proc_open’:
/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.c:66:9: error: implicit declaration of function ‘PDE’ [-Werror=implicit-function-declaration]
/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.c:66:41: error: invalid type argument of ‘->’ (have ‘int’)
/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.c: In function ‘drm_proc_create_files’:
/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.c:119:4: error: dereferencing pointer to incomplete type
cc1: some warnings being treated as errors
make[2]: *** [/tmp/kmd/drivers/gpu/drm/i915/../drm_proc.o] Error 1
make[1]: *** [_module_/tmp/kmd/drivers/gpu/drm/i915/..] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-15-generic'
make: *** [kmd] Error 2
Error... ERROR with "make -f makefile.i915 kmd KERNEL_DIR=/usr/src/linux-headers-3.11.0-15-generic", Return status 2.

     I tried few recommendations which were given in blog to install generic headers for kernel 3.8(https://software.intel.com/en-us/forums/topic/510020), but still it did not work for me.

I have 2nd generation i5 processor  and it has quick sync support.
The processor : i5-2520M.
OS:Ubuntu 12.04.4 LTS with kernel 3.11.0-15-generic

Please let me know how to proceed.please help.

 

Regards
Vinay

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I am to resolve the installation problem by downgrading Ubuntu kernel version from 3.11 to 3.8. Now installation is going through fine.
But when i try to run already existing binaries from samples folder like sample_decoder , i get following errors:

 

/home/arris/intel_media_sdk/MSDK/l_MSDK/samples/_bin/x64# ./sample_decode_x11 h264 -i ../test_stream.264 -o test.yuv -hw
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Segmentation fault (core dumped)

root@arris-Latitude-E6420:/home/arris/intel_media_sdk/MSDK/l_MSDK/samples/_bin/x64# ./sample_decode_x11 h264 -i ../test_stream.264 -o test.yuv

Return on error: error code -3,    /msdk/validation/linux_val/validation/ww11.3_Linux-HSW-16.3.1_vc21_Ubuntu_12.04/samples/sample_decode/src/pipeline_decode.cpp    560

Return on error: error code 1,    /msdk/validation/linux_val/validation/ww11.3_Linux-HSW-16.3.1_vc21_Ubuntu_12.04/samples/sample_decode/src/sample_decode.cpp    331

root@arris-Latitude-E6420:/home/arris/intel_media_sdk/MSDK/l_MSDK/samples/_bin/x64# ./sample_decode_drm h264 -i ../test_stream.264 -o test.yuv -hw
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
sample_decode_drm: pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed.
Aborted (core dumped)

root@arris-Latitude-E6420:/home/arris/intel_media_sdk/MSDK/l_MSDK/samples/_bin/x64# ./sample_decode_drm h264 -i ../test_stream.264 -o test.yuv

Return on error: error code -3,    /msdk/validation/linux_val/validation/ww11.3_Linux-HSW-16.3.1_vc21_Ubuntu_12.04/samples/sample_decode/src/pipeline_decode.cpp    560

Return on error: error code 1,    /msdk/validation/linux_val/validation/ww11.3_Linux-HSW-16.3.1_vc21_Ubuntu_12.04/samples/sample_decode/src/sample_decode.cpp    331

 

Can you please help me to resolve this.

 

Regards
Vinay

While it is true that the 2nd Generation Core processor you're working with is supported by Media SDK for Windows Clients, Media SDK for Linux Servers requires 3rd Generation and forward.  Since there is no software implementation for Linux the i5-2520M processor you're using is incompatible and will not work.

For Ivybridge/3rd generation with Ubuntu, use kernel version 3.2.0-41-generic

For Haswell/4th Generation with Ubuntu, use kernel version 3.8.0-23-generic

These are the only kernels supported.  For previous updates of Ubuntu 12.04 the default 3.8 kernel was close enough for the installer to attempt automated patching.  Now that the kernel has advanced to 3.11 in Ubuntu 12.04.4 the auto-patching feature of the installer no longer works.  For now rolling back the kernel to the specified versions (for supported hardware) is probably your best alternative. 

Hi Jeffrey,

            I have the same problem when trying to run the compiled binaries of samples of Intel Media SDK for Linux Server 2013.

            When I tried to run sample_decode_drm, the error messages are:

                  Return on error: error code -3,    /home/decoder/IMSDK/mediasdk_install/MSDK/5.0.021-16.3.1-PV-RC7/l_MSDK/samples/sample_decode/src/pipeline_decode.cpp    560

                  Return on error: error code 1,    /home/decoder/IMSDK/mediasdk_install/MSDK/5.0.021-16.3.1-PV-RC7/l_MSDK/samples/sample_decode/src/sample_decode.cpp    331

 

          The processor is i3-4010U, which is also Haswell/4th Generation according to ark.intel.com:

                 http://ark.intel.com/products/75107/Intel-Core-i3-4010U-Processor-3M-Cache-1_70-GHz

          I installed Ubuntu Server 12.04 LTS and the desktop environment, and choose the kernel of 3.8.0-23-generic each time.

          However the error still occurs. It seem that it's not the same problem.

 

Regards,

Horisun

 

 

 

 

-----------------------------Updated on July 3rd----------------------------

There is a mismatch of interface on function MSDK_CHECK_RESULT().

In <installation-folder>/sample/sample_common/include/sample_defs.h,  it is defined as:

#define MSDK_CHECK_RESULT(P, X, ERR)             {if ((X) > (P)) {MSDK_PRINT_RET_MSG(ERR); return ERR;}}

While in pipeline.h, the usage was:

MSDK_CHECK_RESULT( sts, MFX_ERR_NONE, sts);

The situation is the same in sample_decode.cpp.

 

 

 

The -3 error means that the hardware library cannot be found, which could have many causes.

  • The -hw option must be specified for all samples.  By default the samples use software mode, but there is no software library for Linux.
  • Install did not complete properly.

Here are some basic steps to install Media SDK and run the samples:

  1. (For Ubuntu) Install the correct kernel and headers as specified in the release notes.  Reboot.
  2. Run install_media.sh, including the kernel mode driver (KMD).  Reboot.
  3. cd /opt/intel/mediasdk/samples/_bin/x64 
  4. ./sample_multi_transcode_drm -i::h264 in.264 -o::h264 out.264 -hw

Note: Starting with drm mode is recommended.  While x11 requires an active x server and display, drm mode can work both in a headless environment and with a desktop/X server.  The only reason for x11 mode is for local rendering, which is not well tested or optimized.

Thanks for bringing up the inconsistent CHECK_RESULT definitions.  We'll look into it for a future samples update.

 

Problem solved. Thanks a lot.

I double-checked the dependencies and they were all right, so I tried to reinstall the MSDK. It worked. It seems that the reason was the installation was incompatible after installing some other libraries.

I found some dependencies here http://bbs.rosoo.net/thread-15645-1-1.html, and adjust the versions according to my environment.  After installing them and reinstalling MSDK, it works well.

Login to leave a comment.