New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support load of media-driver on unsupported platforms #1081
Comments
Places in driver which uses specific cpu instructions:
|
Is there some plan on doing run-time CPU feature detection & conditional SSE/AVX usage, for things where performance matters (such as CPU side format conversions)? |
This is also Debian bug report 974772. I am seeing this on a GM45 device with Pentium Dual-Core CPU T4500.
Any idea, what commit introduced the regression? VLC didn’t crash in the past to my knowledge. |
@paulmenzel I think you need to install |
Yes, thank you. i965-va-driver-shaders is already installed, and MPEG2 decoding is available. (H264 support was never finished.) |
While installing As a step to the ultimate fix we've merged ff55f78. This change removes cpu instruction set specific compile options from driver build. Those few places which really require specific instruction sets are compiled separately and we added code to dynamically check whether underlying instruction set is actually supported by the CPU. This fix is available starting from This being said, I suspect that issue might not be fully solved yet for the reason that |
Thank you for the update. You might be able to reproduce this issue in QEMU. |
I tried to run |
#1446 as first step |
The approach in #1446 does not help us (Debian). Intrinsics can be used and that's not the problem. The build just needs to ensure that |
@XinfengZhang : when we last looked into this story 2 years ago, we left in a state that changes to media-driver were done, but follow up was needed for gmmlib. Maybe something has changed during 2 years, but I still think that the pattern we followed should be continued: we need runtime checks for supported features for both media driver and gmmlib. |
#1446 is using to enable media driver on non-x86 CPU platform, it is for D-graphics which is plugged in non-x86 platform. but it could be used to remove the dependencies of x86 intrinsics, gmmlib also have such flags to remove the dependencies. @sebastinas I suppose you want a auto CPU (not GPU)feature detection in runtime? if it is GPU feature, vaDriverInit will failed on un-support GPU. so, a quick summary, you want a runtime check of CPU feature to enable/disable some media driver feature which depend on these CPU feature. :) |
No. We need that vaDriverInit is able to run without any additional CPU features. If the GPU is supported, the CPU features are automatically supported. If the GPU is not supported, vaDriverInit need bails out. But all the checks if the GPU is supported or not, may not use any additional CPU features beyond the baseline. |
@sebastinas I think you mean that all the intrinsics currently used in the driver are supported on all HW where media driver supported GPUs can be currently used (i.e. Broadwell and up for iGPUs, and x86 machines supporting the Intel dGPUs)? However, after media driver supports Intel dGPUs also on other than x86 machines, that's not any more true (Xe kernel driver brings Intel dGPU support for other architectures than x86). |
@eero-t Okay, this may have changed. Last time I looked at it (2-3 years ago), that would have been enough. |
From intel/libva#466
Forwarding a bug report from Debian: libva tries to load media-driver on Penryn. Since that platform is not supported by media-driver, it should not be loaded in this case.
What we need to do:
@sebastinas : fyi
The text was updated successfully, but these errors were encountered: