I've managed to get the linux media SDK to run on my Ivybridge cpu (i7-3770s), and it works perfectly. I wanted to try it on a Haswell cpu (i7-4770s). What I have found is that it works, but it runs very slowly, about 1 second per frame. The pause occurs when waiting for sync, the SyncOperation call.
My question is, does the Linux media SDK support this chip? I noticed that the i915 driver displays an error message when loading, adn there is a fixme:
[ 1.719700] i915 0000:00:02.0: setting latency timer to 64
[ 1.740680] [drm:i915_write32] *ERROR* Unknown unclaimed register before writing to c5100
[ 1.740768] i915 0000:00:02.0: irq 46 for MSI/MSI-X
[ 1.837146] [drm] GMBUS [i915 gmbus vga] timed out, falling back to bit banging on pin 2
[ 2.117080] i915 0000:00:02.0: No connectors reported connected with modes
[ 2.122947] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[ 2.122948] i915 0000:00:02.0: registered panic notifier
[ 2.123224] i915 0000:00:02.0: More than 8 outputs detected
[ 2.178136] i915: fixme: max PWM is zero
[ 2.178361] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
I don't see the errors on the 3770-s, ivybridge cpu.
Thank you for your help,
Current releases are expected to work on Haswell. The performance you're seeing is much slower than expected.
There may be a problem with your installation. As previously noted, setting up a supported configuration is critical. More details here: http://software.intel.com/en-us/forums/topic/472852
Thank you for your response. I started working on ubuntu 12.04 on the 3770s. But I was trying to get my media sdk program to run on the 4770s on ubuntu 10.04.
The first step was to get the sdk to run on ubuntu 10.04 on the i7-3770s. The worked very well. When I switched to 10.04, it worked, but only very slowly. I built the 3.8.0 kernel with your patch for ubuntu 10.04, and I had to use the libmfx from the suse release (as ubuntu the lib for ubuntu 12.04 relied on a newer libglibc, but suse's was compatible), and then update libstdc++ to match the suse release. I also built the recommended libdrm version (my program just crashes without that).
I would love this to run in 10.04. But if I have to update my servers to 12.04, then so be it.
I will run a test on my haswell i7-4770s box with 12.04, to see if the performance is better. If it is still bad, then it would probably be something else, but then I would be using a supported platform. I am using gpu memory for everything, and I wonder if perhaps that is causing a problem.
Is the linux media sdk supported on Sandybridge cpus? The manual says it is, but the forum link you gave does not list Sandybridge. I can't seem to get it to run on my sandybridge machine (with a built in GPU). the sample programs just crash, and my program will fail on decodeheader.
While Media SDK for Windows does indeed support Sandybridge (2nd Generation Core) and forward, Media SDK for Linux Servers support is Ivybridge (3rd Generation Core) and forward. So today supported configurations are Ivybridge and Haswell.
I wanted to follow up for anyone wondering about this, that I did get my program running on Haswell at full speed. The problem turned out to be that I had to turn off the denoise filter. Denoise worked on Ivybridge, but using it on Haswell caused the decoding chain to run very slowly.
I hope the denoise filter will work in the future on Haswell.
I've tried reproducing this behavior, so far without success. Denoise adds a few ms/frame at HD resolution, but nothing close to what you have described. Could you send more info on the configuration you finally tested? This was Ubuntu 12.04 with the supported kernel and our i915, right? Which libdrm version? And which release of Media SDK?
If possible, could you attach code we could use to reproduce the problem?