ValveSoftware / SteamOS

SteamOS community tracker
1.55k stars 70 forks source link

Intel VAAPI decoding inoperative #338

Open usnhobbz opened 9 years ago

usnhobbz commented 9 years ago

System: Intel NUC D34010WYKH SteamOS version: SteamOS 2.0 update 1:2.26 Steam version: 1437005836 CPU: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz Repo: brewmaster_beta

Hardware decoding for In-Home Streaming does not work using the Intel VAAPI driver. In-Home Streaming statistics shows:

Decoder: libavcodec software decoding with 4 threads

vainfo output:

desktop@steamos:/var/log$ vainfo error: can't connect to X server! libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.36 (libva 1.4.1) vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.4.1 vainfo: Supported profile and entrypoints VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice

CPU Info:

desktop@steamos:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz stepping : 1 microcode : 0x1c cpu MHz : 1700.066 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs 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 ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 3392.29 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:

DazWorrall commented 9 years ago

I see the same thing, here's a sample of streaming_client.log. This looks suspect:

Thu Jul 23 20:59:34 2015 UTC - CVAAPIAccel: vaInitialize() failed: unknown libva error
Thu Jul 23 20:59:34 2015 UTC - VDPAU init failed: GL_NV_vdpau_interop not available on current context

Some talk about this here: https://bbs.archlinux.org/viewtopic.php?id=187922

usnhobbz commented 9 years ago

Issue still exists in 2.30. It's worth noting that hardware decoding worked fine on this system in SteamOS 1.

porkloin commented 8 years ago

Same issue here with Bay Trail Celeron N2807. Gonna poke around a bit and see what else I can find.

mdeguzis commented 8 years ago

Some backstory that some may find applicable

petroid commented 8 years ago

Issue still exists in 2.70. Steam runtime has outdated libva which is not compatible with current i965 driver, but brewmaster repo has right version libva. As a temporary workaround I deleted libva* libraries from Steam runtime folder and installed new versions system-wide. The drawback is that every time runtime updates the outdated libraries get restored and should be deleted again. To apply workaround enter these two commands: sudo apt-get install libva1:i386 libva-x11-1:i386 libva-glx1:i386 sudo rm /home/steam/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libva* When (and if) VAAPI hardware decoding stops working again due to Steam runtime update just enter second command again.

geekycow commented 8 years ago

Any ideas if this is ever going to get fixed? :(

mdeguzis commented 8 years ago

@geekycow , I would use the Steam runtime workaround listed above. This is a common workaround approach for issues like this. It is not uncommon, as the the Steam runtime is quite old. I don't see it being updated any time soon, but eventually it probably will be. I don't think Ubuntu 12.04 is EOL yet. There isn't much time left on 12.04, so I'd expect it to not be in the distant future.

geekycow commented 8 years ago

@ProfessorKaos64 Thanks. If I hadn't been hacking away at the installation to try to get it to work or didn't have a backup of it then I would have done but as it happened it took very little time to restore back to where I was prior to 16.04 from a tgz backup I made first. I shall wait with 14.04 on that box (it's in the lounge for entertainment use only, so any needing to hack around with it at all is a no-no.) given 12.04 EOLs next year.

suncore commented 6 years ago

Any news? Still no go for me...