bluecherrydvr / bluecherry-client

Bluecherry cross platform video surveillance client application
www.bluecherrydvr.com
GNU General Public License v2.0
90 stars 56 forks source link

VAAPI does not work with Wayland session #296

Open jasauders opened 7 years ago

jasauders commented 7 years ago

Using Bluecherry Client 2.2.6 with Ubuntu 17.10 (pre-release) in the Wayland session, Bluecherry does not yield the 'va' entry in the corner of the camera titles to signify that VAAPI (hardware acceleration) is active. Bluecherry Client, so far, seemingly works in all other areas within the Wayland session excluding the hardware acceleration piece.

Ubuntu 17.10 will be released in a few weeks from the time of this writing and it has been noted in pre-release statements that 17.10 will default to Wayland by default along with consecutive releases (18.04, etc) into the future.

jasauders commented 7 years ago

In an effort to re-organize much of the chat room conversation on this topic back to this issue, here are some updates for easier reference.

The below is taken from a system with an i5-7200u processor on a fresh install of Ubuntu 17.10 with v2.2.6 of the Bluecherry client. This is a Wayland session in the Gnome desktop environment as provided by 17.10.

When launching bluecherry-client from CLI: jason@JasT470:~$ bluecherry-client 1 audio devices detected by SDL audio subsystem AudioPlayer: setting sample format to s16 channels: 2 sample rate: 44100 void UpdateChecker::performVersionCheck() Performing update check VAAPI - using X11 display ":0" trying to create VAAPI device context " :0 " libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) [AVHWDeviceContext @ 0x1d74600] Failed to initialise VAAPI connection: -1 (unknown libva error). Failed to create VAAPI device context static bool QDeclarativeMetaType::isModule(const QByteArray&, int, int) Qt 4.7 import detected; please note that Qt 4.7 is directly reusable as QtQuick 1.x with no code changes. Continuing, but startup time will be slower. libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile void UpdateChecker::versionInfoReceived() Latest version info: "2.2.6" ServerRequestManager "Home" : Status 1 message "" DVRServer: Requesting cameras list DVRServer: Received cameras list reply void RtspStreamThread::start(const QUrl&, bool) "rtsp://admin:***@10.13.0.200:7002/live/2" void RtspStreamThread::start(const QUrl&, bool) "rtsp://admin:***@10.13.0.200:7002/live/3" void RtspStreamThread::start(const QUrl&, bool) "rtsp://admin:***@10.13.0.200:7002/live/4" void RtspStreamThread::start(const QUrl&, bool) "rtsp://admin:***@10.13.0.200:7002/live/5" processing stream id 0 RtspStream: stream # 0 : Video: h264 (Main), yuv420p(tv, bt709, progressive), 1920x1080 video stream index: 0 audio steam index: -1 [swscaler @ 0x7fdc2488da60] Warning: data is not aligned! This can lead to a speedloss processing stream id 0 RtspStream: stream # 0 : Video: h264 (Main), yuv420p(tv, bt709, progressive), 1920x1080 video stream index: 0 audio steam index: -1 processing stream id 0 RtspStream: stream # 0 : Video: h264 (High), yuvj420p(pc, bt709, progressive), 2304x1296 [SAR 1:1 DAR 16:9] video stream index: 0 audio steam index: -1 processing stream id 0 RtspStream: stream # 0 : Video: h264 (High), yuvj420p(pc, bt709, progressive), 2304x1296 [SAR 1:1 DAR 16:9] video stream index: 0 audio steam index: -1 EventsLoader: Parsed event data into 50 events libpng warning: iCCP: known incorrect sRGB profile QEventLoop: Cannot be used without QApplication jason@JasT470:~$

When running vainfo from CLI: jason@JasT470:~$ vainfo libva info: VA-API version 0.40.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_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake - 1.8.3 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice 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 VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointEncSlice VAProfileVP9Profile2 : VAEntrypointVLD jason@JasT470:~$