solabc16 379 Posted December 12, 2018 Share Posted December 12, 2018 (edited) Hello All I've just taken a look at the diags from @@postboy99's system, and I also have reports coming in from other 'braswell' (CherryView) users on the development/beta channels. This seems to be the common factor. There's no obvious issues with the underlying plumbing, this appears to be working well and is consistent with prior releases. libva info: VA-API version 1.3.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /var/packages/EmbyServer/target/ffmpeg/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_3 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.3 (libva 2.3.0) vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.2.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD Best- James Edited December 12, 2018 by solabc16 1 Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 12, 2018 Author Share Posted December 12, 2018 ...and here's the equivalent FFdetect section from a .NET Core installation reporting the same issue:- "Devices": [{ "DeviceIndex": 0, "DeviceInfo": { "VendorId": 32902, "DeviceId": 8881, "SubsytemVendorId": 32902, "SubsytemDeviceId": 29296, "DevPath": "/sys/bus/pci/devices/0000:00:02.0", "DrmCard": "/dev/dri/card0", "DrmRender": "/dev/dri/renderD128", "IsEnabled": 0, "IsBootVga": 1, "ApiVersionMajor": 1, "ApiVersionMinor": 3, "Driver": "Intel i965 driver for Intel(R) CherryView - 2.2.0" }, Prior to the updates, the (limited) VAAPI support available on this platform was working as it has been for some time. Best- James Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 12, 2018 Author Share Posted December 12, 2018 FYI @@postboy99, @@stratumorien, @@Luke, @@softworkz Best -James Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 12, 2018 Share Posted December 12, 2018 Thanks James, for creating this thread. Here's some more background. I just didn't want to complicate things in the Docker thread. The reason why I started to consider the 'IsEnabled' value was actually due to Emby execution inside Docker. Tests had shown that gpu devices that are not enabled for a certain Docker container have "IsEnabled: 0". Detecting an unavailable device is almost as bad as not detecting a device. This is important to understand. Emby only performs a single attempt for hardware transcoding and if that fails, it falls back to software transcoding. That's why we can't just handle this by ignoring the "IsEnabled" value. We would rather need to find out why it's disabled at all. First thing I'd need is a full hwdection log for the situation when not running inside Docker. And then: Was there a monitor connected to the device? If not, could you try this again with a monitor connected? Are there any BIOS settings related to the onboard graphics? E.g. enable, disable, auto, memory assignment etc.? Link to comment Share on other sites More sharing options...
Luke 37097 Posted December 13, 2018 Share Posted December 13, 2018 @@postboy99 can you please attach the hardware detection log? thanks ! Link to comment Share on other sites More sharing options...
postboy99 3 Posted December 13, 2018 Share Posted December 13, 2018 (edited) @@softworkz hw-detection-log is attached and your questions: I run Emby on a Synology DS716+ NAS without any graphics output (No HDMI or other graphic ports on this NAS). I don't really know if there is a way to enable/disable/auto the onboard graphics. On the Synology DSM itself I didn't found anything like that. But it's Linux based, maybe you can give some commands to find out? I'm not that much familiar to Linux. I'm just asking myself, why the new hardware-detection feature is not getting it up the right way, but the old way does(non-beta). hw_detection_log.txt Edited December 13, 2018 by postboy99 Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 13, 2018 Author Share Posted December 13, 2018 (edited) Hello @@softworkz, All These systems are essentially appliances, so to answer the above questions... Was there a monitor connected to the device? NO If not, could you try this again with a monitor connected? N/A Are there any BIOS settings related to the onboard graphics? E.g. enable, disable, auto, memory assignment etc.? N/A You may indeed need to pay special attention to detection with IGPs on headless systems, I recall working through something similar on another project with certain generations of Intel GPUs in a headless configuration. Another detection log attached for reference. Best - James hardware_detection-63680207346.txt Edited December 13, 2018 by solabc16 Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 13, 2018 Author Share Posted December 13, 2018 (edited) Hello @softworkz, All For comparison, here's the output from an 'apollolake' (Broxton) based system; these are all working well and as expected. libva info: VA-API version 1.3.0libva info: va_getDriverName() returns 0 libva info: Trying to open /var/packages/EmbyServer/target/ffmpeg/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_3 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.3 (libva 2.3.0) vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 2.2.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD The h/w detection log is attached. Best - James hardware_detection-63680277388.txt Edited December 13, 2018 by solabc16 Link to comment Share on other sites More sharing options...
Luke 37097 Posted December 13, 2018 Share Posted December 13, 2018 Thanks ! Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 13, 2018 Share Posted December 13, 2018 I'm just asking myself, why the new hardware-detection feature is not getting it up the right way, but the old way does(non-beta). Thank you very much for posting the log. Before I come to analyze I want to respond your question above: The old way worked by trial-and-error. You could even select Android or Windows specific accelerations when running on Linux. When it worked, it worked, but when not, you would have hoped for the software-fallback to jump in. Every time you start or resume playback. That adds to the response delays of the media playback experience. But the detection is doing much more than just a "VAAPI yes/no" decision. It detects which encoders and decoders are available and all their individual capabilities (frame size, frame rate and bitrate limits, color formats, encoding profiles and levels). This information is used to provide and individually optimized transcoding experience. I hope this answers your question. Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 13, 2018 Share Posted December 13, 2018 (edited) @@solabc16 @@postboy99 Before adding an exception, there's one test I'd like to ask one of you to perform on a "CherryView" system: Could you please run the attached binary with the following command: ./ffdetect -show_error -show_log 99 -print_format json vaencdec and post the output. Thank you very much for your assistance! Edited December 15, 2018 by softworkz Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 13, 2018 Share Posted December 13, 2018 You may indeed need to pay special attention to detection with IGPs on headless systems, I recall working through something similar on another project with certain generations of Intel GPUs in a headless configuration. Hi James, do you remember more details about that subject or do you have any references? This would seem to be crucial information for us to address this in the best possible way.. Thanks. Link to comment Share on other sites More sharing options...
postboy99 3 Posted December 14, 2018 Share Posted December 14, 2018 (edited) @@softworkz I've just put your file to the ffmpeg folder of the EmbyServer. This is the output: patrick@NAS:/volume1/@appstore/EmbyServer/ffmpeg$ sudo ./ffdetect -show_error -show_log 99 -print_format json vaencdecc ./ffdetect: error while loading shared libraries: libva.so.2: cannot open shared object file: No such file or directory Edited December 14, 2018 by postboy99 Link to comment Share on other sites More sharing options...
Luke 37097 Posted December 14, 2018 Share Posted December 14, 2018 I could be wrong but I don't think you're going to be able to easily run ffdetect manually. Link to comment Share on other sites More sharing options...
postboy99 3 Posted December 14, 2018 Share Posted December 14, 2018 (edited) @@softworkz This is what I found: patrick@NAS:/volume1/Backup$ sudo find / -name vainfo /volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/var/bin/vainfo /volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/bin/vainfo patrick@NAS:/volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/var/bin$ sudo ./vainfo libva info: VA-API version 1.3.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /var/packages/EmbyServer/target/ffmpeg/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_3 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.3 (libva 2.3.0) vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.2.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD patrick@NAS:/volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/bin$ sudo ./vainfo libva info: VA-API version 1.3.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /var/packages/EmbyServer/target/ffmpeg/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_3 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.3 (libva 2.3.0) vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.2.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD And still I get this error from your ffdetect: sudo ./ffdetect -show_error -show_log 99 -print_format json vaencdec ./ffdetect./ffdetect: error while loading shared libraries: libva.so.2: cannot open shared object file: No such file or directory Do I have to put the file in a certain path/folder? Edited December 14, 2018 by postboy99 1 Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 14, 2018 Share Posted December 14, 2018 @@softworkz And still I get this error from your ffdetect: sudo ./ffdetect -show_error -show_log 99 -print_format json vaencdec ./ffdetect./ffdetect: error while loading shared libraries: libva.so.2: cannot open shared object file: No such file or directory Do I have to put the file in a certain path/folder? No specific folder is required, but don't use an existing folder where Emby is installed. Best would be to create a temp folder. Did you notice that I have posted a different version of ffdetect? The result above seems to be from the previous version. Link to comment Share on other sites More sharing options...
postboy99 3 Posted December 14, 2018 Share Posted December 14, 2018 @@softworkz Sorry, but still the same. patrick@NAS:/volume1/Backup$ sudo ./ffdetect -show_error -show_log 99 -print_format json vaencdec ./ffdetect: error while loading shared libraries: libva.so.1: cannot open shared object file: No such file or directory Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 14, 2018 Author Share Posted December 14, 2018 Hello @@softworkz Have you pushed these FFdetect changes to GitHub? If not, PM me an archive with the source and I'll get a patch built to make this straightforward for beta testers to install and run. Best - James Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 14, 2018 Author Share Posted December 14, 2018 Hi James, do you remember more details about that subject or do you have any references? This would seem to be crucial information for us to address this in the best possible way.. Thanks. Hello @@softworkz I'll find some time to take a look at the FFdetect source over the weekend to see what we're doing here to determine this value. That should give me the necessary mental jog, if there is common ground / cause. Best - James Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 14, 2018 Author Share Posted December 14, 2018 Hello @@postboy99 Did you put the copy of vainfo here - 'var/bin/vainfo'? That wouldn't exist as part of a regular install. patrick@NAS:/volume1/Backup$ sudo find / -name vainfo /volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/var/bin/vainfo /volume1/@appstore/EmbyServer/3rdparty/ffmpeg/4.0.2/bin/vainfo Best - James Link to comment Share on other sites More sharing options...
postboy99 3 Posted December 14, 2018 Share Posted December 14, 2018 @solabc16 No, I didn't. I Don't know why it is there a second time. Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 14, 2018 Author Share Posted December 14, 2018 (edited) Hello @@postboy99 OK, thanks, I'll make a note to check that again with you after the next update is made available and you've installed it. Best - James Edited December 14, 2018 by solabc16 Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 15, 2018 Share Posted December 15, 2018 Hello @@softworkz Have you pushed these FFdetect changes to GitHub? If not, PM me an archive with the source and I'll get a patch built to make this straightforward for beta testers to install and run. Hi James, I had posted this alternate ffdetect version because libva2 couldn't be found. But it turned out that libva1 didn't exist either... There are no code changes involved, it was just compiled differently. Link to comment Share on other sites More sharing options...
solabc16 379 Posted December 15, 2018 Author Share Posted December 15, 2018 (edited) Hi @@softworkz We've probably crossed over each other a little here. I'm taking a guess that there is something different about this version of FFdetect (putting libva dependency resolution to one side, we can sort that), which is why we wanted to run it? (post #11) That's why I was offering to get it built (if it's from a newer set of source files), so we can get the output you requested. Let me know... Best - James Edited December 15, 2018 by solabc16 Link to comment Share on other sites More sharing options...
softworkz 3338 Posted December 15, 2018 Share Posted December 15, 2018 Hi James, I think we can skip that. This was just a dumb attempt to see if he has libva1 because I've seen that libva2 could be found. But libva1 couldn't be found either. We should make sure that libva2 is available, that's all. Maybe it is available but just not in the library load path when ffdetect is run from the command line. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now