QT5.12.6 private (opensource) build to run on intel x64 hardware, no X
-
Hello,
We are wanting to utilise Qt5.12.6 on x64 (Intel N4200 Pentium hardware) to run our QML based application full screen 'kiosk' mode, so there is no X11 or desktop environment.
I have built from source with the following ./configure options
/buildQT$ cat config.opt
-v
-opengl
es2
-eglfs
-no-pch
-no-gtk
-opensource
-confirm-license
-reduce-exports
-force-pkg-config
-make
examples
-release
-qt-pcre
-evdev
-glib
-gstreamer
-prefix
/opt/bassett/Qt5however, when using one of the example builds (multimedia/video/qmlvideofx) with -platform eglfs the UI loads and is fine. but if we select a video (.mp4) file to play, no video is played at all (the fps indicatior on bottom right shows 0.00fps or 2.00fps)
Any ideas / help please... i've been slogging at this for a number of days now (not the most performant build machine etc!)
Best regards
Richard -
@Richard-Barrass said in QT5.12.6 private (opensource) build to run on intel x64 hardware, no X:
but if we select a video (.mp4) file to play, no video is played at all (the fps indicatior on bottom right shows 0.00fps or 2.00fps)
how do you play videos? using QtMultimedia?
If so you need to make sure that a backend is available (during building Qt already). gstreamer for example -
@raven-worx Hello, Thank you for your reply.
yes, i understand about gstreamer - and as far as i can tell, this is all in place.I am using the qmlvideo or qmlvideofx example applications for my testing, but my own application (works fine under X11) is based on QML and makes use of the Video { ... } object for video playback.
-
Hi,
What GStreamer pipeline are you using to test your video ?
-
@SGaist Thanks for the reply.
I have managed to move forward somewhat... I'm not sure how I can easily tell which pipeline is in use other than its GStreamer 1.0 (I have the good and bad codec packages installed (not the ugly)
The Qt examples (multimedia/video/qmlvideo) and my own test application all play the video nicely.
However, my actual application - although used to run fine under the X11/desktop environment on a previous release of Qt, I am getting a number of (seemingly) random crashes as soon as the first QML code that includes the Video widget.
I get the following output to "Application Output"
2020-03-09 10:07:36.517 UI: Created context for format QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize -1, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) with config:
2020-03-09 10:07:36.518 UI: EGL_BUFFER_SIZE: 24
2020-03-09 10:07:36.518 UI: EGL_ALPHA_SIZE: 0
2020-03-09 10:07:36.518 UI: EGL_BLUE_SIZE: 8
2020-03-09 10:07:36.518 UI: EGL_GREEN_SIZE: 8
2020-03-09 10:07:36.518 UI: EGL_RED_SIZE: 8
2020-03-09 10:07:36.518 UI: EGL_DEPTH_SIZE: 0
2020-03-09 10:07:36.518 UI: EGL_STENCIL_SIZE: 0
2020-03-09 10:07:36.518 UI: EGL_CONFIG_CAVEAT: 12344
2020-03-09 10:07:36.518 UI: EGL_CONFIG_ID: 6
2020-03-09 10:07:36.518 UI: EGL_LEVEL: 0
2020-03-09 10:07:36.518 UI: EGL_MAX_PBUFFER_HEIGHT: 4096
2020-03-09 10:07:36.519 UI: EGL_MAX_PBUFFER_PIXELS: 0
2020-03-09 10:07:36.519 UI: EGL_MAX_PBUFFER_WIDTH: 4096
2020-03-09 10:07:36.519 UI: EGL_NATIVE_RENDERABLE: 1
2020-03-09 10:07:36.519 UI: EGL_NATIVE_VISUAL_ID: 875713112
2020-03-09 10:07:36.519 UI: EGL_NATIVE_VISUAL_TYPE: 12344
2020-03-09 10:07:36.519 UI: EGL_SAMPLES: 0
2020-03-09 10:07:36.519 UI: EGL_SAMPLE_BUFFERS: 0
2020-03-09 10:07:36.519 UI: EGL_SURFACE_TYPE: 4
2020-03-09 10:07:36.519 UI: EGL_TRANSPARENT_TYPE: 12344
2020-03-09 10:07:36.519 UI: EGL_TRANSPARENT_BLUE_VALUE: 0
2020-03-09 10:07:36.520 UI: EGL_TRANSPARENT_GREEN_VALUE: 0
2020-03-09 10:07:36.520 UI: EGL_TRANSPARENT_RED_VALUE: 0
2020-03-09 10:07:36.520 UI: EGL_BIND_TO_TEXTURE_RGB: 0
2020-03-09 10:07:36.520 UI: EGL_BIND_TO_TEXTURE_RGBA: 0
2020-03-09 10:07:36.520 UI: EGL_MIN_SWAP_INTERVAL: 1
2020-03-09 10:07:36.520 UI: EGL_MAX_SWAP_INTERVAL: 1with a Segmentation fault...
under the debugger, I see
1 ?? 0x555556e409d0
2 ?? 0x7fffecc7dffa
3 ?? 0x7fffecc7e07c
4 ?? 0x7fffeaff811e
5 ?? 0x7fffeafe6fc5
6 ?? 0x7ffff0d7951c
7 ?? 0x7ffff126289f
8 QOpenGLContext::doneCurrent() 0x7ffff6c14e27
9 QOffscreenSurface::~QOffscreenSurface() 0x7ffff6be02ca
10 QOffscreenSurface::~QOffscreenSurface() 0x7ffff6be02e9
11 ?? 0x7fffd9da3594
12 ?? 0x7fffd9da7d85
13 ?? 0x7fffd9d9fb09
14 QQuickShape::updatePolish() 0x7fffd9da0010
15 QQuickWindowPrivate::polishItems() 0x7ffff7918533
16 ?? 0x7ffff78c03de
17 ?? 0x7ffff78c108a
18 QQuickWindow::event(QEvent *) 0x7ffff7922afe
19 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7ffff62b0a68
20 QPlatformWindow::windowEvent(QEvent *) 0x7ffff6bc5ab3
21 QGuiApplication::notify(QObject *, QEvent *) 0x7ffff6bd0386
22 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7ffff62b0a68
23 QTimerInfoList::activateTimers() 0x7ffff630cf89
24 ?? 0x7ffff630d751
25 g_main_context_dispatch 0x7ffff3aa8417
26 ?? 0x7ffff3aa8650
27 g_main_context_iteration 0x7ffff3aa86dc
28 QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) 0x7ffff630db1f
29 QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) 0x7ffff62aecba
30 QCoreApplication::exec() 0x7ffff62b7ec0
31 main main.cpp 333 0x555555741e44which alas, isn't very helpful...
Richard
-
What is the graphic stack that you have on that machine ?
-
The graphics stack is EGLFS build of Qt5.12.7 (upgraded from the .6)
I did track the above crash to the fact that I was using the QML Shape and ShapePath objects to create a banner visual across the corner of selection graphic...
Although I can't find anything specific to the use of Shape in QML on EGLFS, but I did see something about using non OpenGL related drawing ?
-
I meant the hardware and driver.
I am not aware of such a limitation (but that does not mean it does not exist).
-
Ah -
it is an intel N4200 processor (so i915 driver) with base OS being Ubuntu 18.04.3
It is quite strange...