Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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/Qt5

    however, 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


  • Moderators

    @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.


  • Lifetime Qt Champion

    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: 1

    with 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 0x555555741e44

    which alas, isn't very helpful...

    Richard


  • Lifetime Qt Champion

    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 ?


  • Lifetime Qt Champion

    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...


Log in to reply