I am running a 3rd Gen processor with the Linux Server Edition of the Intel Media SDK. I have the samples installed but when I go to run any of them I get this kernel error:
kernel: [508725.806134] [drm:i915_wait_request] *ERROR* i915_wait_request returns -11 (awaiting 47281 at 47280, next 47282)
kernel: [509316.141932] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
Here is the sample I am running and it's output:
sudo LD_LIBRARY_PATH=/opt/intel/mediasdk/bin/x64 ./sample_decode_drm mpeg2 -i ~/streams/stream.ts -o ~/streams/out.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
Intel(R) Media SDK Decoding Sample Version 0.0.000.0000
Input video MPG2
Output format YUV420
Crop X,Y,W,H 0,0,720,480
Frame rate 29.97
Memory type system
MediaSDK impl hw
MediaSDK version 1.8
Frame number: 3598
Return on error: error code -7, /opt/intel/mediasdk/samples/sample_decode/src/pipeline_decode.cpp 964
Return on error: error code 1, /opt/intel/mediasdk/samples/sample_decode/src/sample_decode.cpp 348
This may be related to your installation. Which Linux distro, kernel version, and libdrm version do you have installed? Is the processor Xeon or Core?
Media SDK for Linux Servers has some very specific configuration requirements. More info is in the release notes and installation guide, as well as this thread: http://software.intel.com/en-us/forums/topic/472852.
I am using Linux Server 12.04
Kernel is 3.2.0-41-generic
Processor is: Core i3-3217U
libdrm was 2.4.43 but I installed 2.4.45 from source. I am not entirely sure if it installed properly because it did not replace the files in /usr/lib/x86_64-linux-gnu/, only the ones in /usr/local/lib/
It looks like timeout hung.I do not know how it is managed on Linux,but on Windows GPU hung can be caused by long running code on GPU which itself cannot swap out the code(kernel).In such a situation driver will reset the device.
Do you know how I get this to stop happening? I am assuming it is not normal for the GPU should to hang when doing one decode. I am thinking it is a configuration error somehow. This happens both when I run the sample binary that was prebuilt and the one I compiled.
>>>kernel: [508725.806134] [drm:i915_wait_request] *ERROR* i915_wait_request returns -11 (awaiting 47281 at 47280, next 47282)>>>
I think that this could be a cause of hang.It looks like timeout wait on resources which causes the GPU to hang.I think that it can be important to understand -11 return value.
Yes, the problem has been figured out. I was using a transport stream as my input instead of an elementary stream. I demuxed my stream and ran just the video through and it worked fine.