Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.2k Topics 62.8k Posts
  • Boot2Qt 6.4 Deployment Error: drmModeGetResources failed & QML "Constants" issues

    Unsolved
    2
    0 Votes
    2 Posts
    28 Views
    L
    Imports in QML match the module URI exactly. Once the module is properly deployed, the error disappears. https://forum.qt.io/topic/162691/mediaplayer-videooutput-sigsegv-gst_v4l2_object_fill_format_listmsn games
  • android cmakelists project won't load on new build machine

    Unsolved
    1
    0 Votes
    1 Posts
    13 Views
    No one has replied
  • 0 Votes
    5 Posts
    2k Views
    A
    I'm facing some issues trying to build QGC v4.3 to Android. [image: 6261370c-6d88-4092-ac3d-4926f5e6b196.png] I've checked into Android SDK folder names and versions, everything is ok. Take a loook: [image: 368ef3b2-fb3a-439a-9010-769743691d5f.png] And that's my Qt Creator SDKs setup: [image: 9918adc9-ac7d-48c6-bc3c-d999fa44bf3d.png] QtCreator version 18.0.0 Windows 10 I've tried delete Android SDK folder Reinstall JDK11 Update Qt Creator Delete cmdline-tools folder from Android SDK Any help is appreciated!
  • Jetson - embedding hardware decoded video stream into Qt

    Unsolved
    4
    0 Votes
    4 Posts
    150 Views
    mrdebugM
    https://github.com/denisgottardello/QtFFmpegPlayer Works on Qt5 and 6, play a remote file, rtsp, webcam etc. It is based on ffmpeg library and, as explained above, the gpu usage is related at the size and definition of the stream.
  • Video in eglfs mode much slower than ffmpeg directly to fb

    Unsolved
    2
    0 Votes
    2 Posts
    38 Views
    L
    The Qt version is 6.8.3. The app is built in Release mode. Here's the content of Main.qml: import QtQuick import QtQuick.Controls.Basic import QtMultimedia Window { width: 1024 height: 600 visible: true title: qsTr("Hello World") Button { id: btnPlay text: "Play" x: 10 y: 10 width: 100 height: 50 onClicked: { console.log("Play!") if (vid.playbackState === MediaPlayer.PlayingState) { vid.pause(); } else { vid.play(); } } } Video { id:vid visible: true enabled: false x: 70 y: 70 //Set to same as video width: 768 height: 450 source: "qrc:/path/to/vid.avi" muted: true autoPlay: false loops: MediaPlayer.Infinite onErrorChanged: console.log("Video error occurred: ", errorString, "(", error, ")") } } Here's the output of ffmpeg: # ./ffmpeg -re -i /path/to/vid.avi -pix_fmt rgb565 -f fbdev /dev/fb0 ffmpeg version N-121955-g413346bd06 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 13.4.0 (GCC) configuration: --enable-cross-compile --target-os=linux --arch=armv7l --prefix=/path/to/build --extra-cflags=-I/path/to/build/include --extra-ldflags=-L/path/to/build/lib --extra-libs=-lpthread --extra-libs=-lm --bindir=/path/to/bin --enable-gpl --enable-nonfree --disable-x86asm --disable-asm --cc='arm-dey-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=/opt/dey/5.0-r2/ccmp15-dvk/sysroots/cortexa7t2hf-neon-vfpv4-dey-linux-gnueabi' --strip=arm-dey-linux-gnueabi-strip libavutil 60. 19.101 / 60. 19.101 libavcodec 62. 21.100 / 62. 21.100 libavformat 62. 6.103 / 62. 6.103 libavdevice 62. 2.100 / 62. 2.100 libavfilter 11. 10.101 / 11. 10.101 libswscale 9. 3.100 / 9. 3.100 libswresample 6. 2.100 / 6. 2.100 Input #0, avi, from '/path/to/vid.avi': Metadata: software : VLC Media Player - 3.0.21 Vetinari Duration: 00:00:23.87, start: 0.000000, bitrate: 1224 kb/s Stream #0:0: Video: msmpeg4v2 (DIV2 / 0x32564944), yuv420p, 768x456, 1224 kb/s, 15 fps, 15 tbr, 15 tbn Stream mapping: Stream #0:0 -> #0:0 (msmpeg4v2 (native) -> rawvideo (native)) Press [q] to stop, [?] for help [vist#0:0/msmpeg4v2 @ 0x46dee80] Resumed reading at pts 0.000 with rate 1.050 after a lag of 0.500s [swscaler @ 0xb520c080] No accelerated colorspace conversion found from yuv420p to rgb565le. [swscaler @ 0xb520c080] [swscaler @ 0xb5219280] No accelerated colorspace conversion found from yuv420p to rgb565le. [swscaler @ 0xb520c080] [swscaler @ 0xb5226220] No accelerated colorspace conversion found from yuv420p to rgb565le. [swscaler @ 0xb520c080] [swscaler @ 0xb52331c0] No accelerated colorspace conversion found from yuv420p to rgb565le. Output #0, fbdev, to '/dev/fb0': Metadata: software : VLC Media Player - 3.0.21 Vetinari encoder : Lavf62.6.103 Stream #0:0: Video: rawvideo (RGB[16] / 0x10424752), rgb565le(pc, gbr/unknown/unknown, progressive), 768x456, q=2-31, 84044 kb/s, 15 fps, 15 tbn Metadata: encoder : Lavc62.21.100 rawvideo [out#0/fbdev @ 0x46e1b40] video:59508KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 87 fps= 16 q=-0.0 Lsize=N/A time=00:00:05.80 bitrate=N/A speed=1.05x elapsed=0:00:05.53 And here's the output of the Qt app: # LD_LIBRARY_PATH="/opt/Qt/lib" QT_PLUGIN_PATH="/opt/Qt/plugins" QML2_IMPORT_PATH="/opt/Qt/lib/qml" QT_QPA_PLATFORM=eglfs /path/to/app Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Qt depends on a UTF-8 locale, but has failed to switch to one. If this causes problems, reconfigure your locale. See the locale(1) manual for more information. Failed to move cursor on screen HDMI1: -14 Failed to move cursor on screen HDMI1: -14 xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb Failed to create xkb context qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 6.1.2 LGPL version 2.1 or later Input #0, avi, from '/tmp/appIS3.OpUgoR.avi': Metadata: software : VLC Media Player - 3.0.21 Vetinari Duration: 00:00:23.87, start: 0.000000, bitrate: 1224 kb/s Stream #0:0: Video: msmpeg4v2 (DIV2 / 0x32564944), yuv420p, 768x456, 1224 kb/s, 15 fps, 15 tbr, 15 tbn qml: Play! qt.multimedia.playbackengine.codec: "No HW decoder found"
  • Build errors in QGC for android due to JDK.

    Moved Unsolved
    5
    0 Votes
    5 Posts
    675 Views
    K
    I resolved this by locating the required files in their various directories and copying them into the paths where they were expected.
  • Development about Head-Up Display (HUD)

    Unsolved
    3
    0 Votes
    3 Posts
    80 Views
    Z
    @Xenosb Thank you for your answer.
  • Android X86_64 App crashes before reaching Qt main.

    Solved
    13
    0 Votes
    13 Posts
    2k Views
    RokeJulianLockhartR
    F/libc : crash_dump helper failed to exec, or was killed @SMF-Qt, about that, follow stackoverflow.com/q/77202603.
  • help

    Unsolved
    7
    0 Votes
    7 Posts
    492 Views
    Andy314A
    What do you means with responsive ? Adaption of the GUI to Screenorientation resp. - Screen Resolution and Size ? (Responsive Design)
  • QLineEdit using backspace on virtual keyboard causes keyboard to flash

    Unsolved
    4
    0 Votes
    4 Posts
    285 Views
    Andy314A
    Hi carlinski, I struggle on the same problem. Have you solved it ?
  • Android open Keyboard in a loop for QDialogs

    Unsolved
    4
    0 Votes
    4 Posts
    80 Views
    Andy314A
    I have rebuilt it in async mode. No fixed loop - QDialog sends Ok signal -> close the QDialog -> open the next dialog. Same effect as before: If I click on my Ok-Button, next call of my dialog opens not the Keyboard. Then I have tested some more and got a much more strange effect. If I set a timer in init code of the QDialog, what triggers the OK-Button (same code as manual click) all works. Next call opens the Keyboard again. What is the diffence of Clicking the Button manual to call the same Button-click-code via timer ??? I tried in the button-click-code send a singel-shot to trigger the code. No change. Only click via finger destory the funktion. With as separte button on the dialog I can open the keyboard -> the code works ! Only automatic at open does not work. Besides the solution of this problem is very important for me. The main task is not the simple textedit-Dialog, but I must receive the scanner results from the Zebra scanner. Therefore the Keyboard must be open for some milliseconds.
  • Comment créer une application responsive?

    Unsolved
    4
    0 Votes
    4 Posts
    90 Views
    SGaistS
    Donc c'est bien ça le problème, il faut les mettre dans un layout comme expliqué dans ce chapitre de la documentation de Designer.
  • QtQuick with rotary encoder to navigate Menu and adjust Slider, SpinBox etc

    Unsolved
    2
    0 Votes
    2 Posts
    204 Views
    P
    As a workaround we have patched the linux rotary encoder driver to be able to send <KEY_UP> and <KEY_DOWN>, as an alternative to mouse wheel events. i.e. patched drivers/input/misc/rotary_encoder.c to input_report_key, as an alternative to input_report_rel. Saves having to filter and convert wheel events, to key events, in each Qt app.
  • Unable to enumerate voices in QTextToSpeech on Android

    Unsolved
    1
    0 Votes
    1 Posts
    37 Views
    No one has replied
  • makeCurrent(): no EGLSurface, likely Surface destroyed by Android.

    Unsolved
    7
    0 Votes
    7 Posts
    239 Views
    Z
    @assam @Torsten_Wier I thought no one would notice this issue, is it QT's own problem? Why is their Android platform doing so poorly
  • Qt 6.5 => Qt 6.10: QML application power consumption increased crazily

    Solved
    5
    1 Votes
    5 Posts
    213 Views
    notify_ctrlN
    @jeremy_k said in Qt 6.5 => Qt 6.10: QML application power consumption increased crazily: https://doc.qt.io/qt-6/qml-qtquick-controls-busyindicator.html#running-prop: Note: The indicator is only visible when this property is set to true. Binding running to root.busy appears to be sufficient and more concise. Yes this is totally true. I'll change my code later. Thanks for your suggestion!
  • Creating only one QJniEnvironment object. How?

    Unsolved
    5
    0 Votes
    5 Posts
    268 Views
    V
    @bogong Hello, a JNIEnv* is thread-specific, and a QJniEnvironment object wraps the current thread's env. You can have as many copies or separate instances you like, and they all refer to the same object in memory. It's relatively light-weight, so you can just default-construct one whenever you need one. The separate QJniEnvironment instances also refer to the same caches in memory, such as caches for resolved classes and methods, as those are stored in thread-local storage.
  • MediaPlayer VideoOutput SIGSEGV gst_v4l2_object_fill_format_list

    Unsolved
    13
    0 Votes
    13 Posts
    1k Views
    P
    In case anyone encounters the same issue, what worked for us is to use: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-good/tests/examples/qt6/qmlsink/main.cpp but change: QQuickWindow::BeforeSynchronizingStage to QQuickWindow::NoStage Not sure why that was necessary, but that's what worked. https://discourse.gstreamer.org/t/qmlsink-example-on-imx8qxp-board-doesnt-render-videotstsrc-only-white-screen/4579/5
  • There is no Android package 0.00 bytes when updating with Qt6 .8.5

    Unsolved
    2
    0 Votes
    2 Posts
    114 Views
    SGaistS
    Hi, That is strange. Did you already tried with a different mirror ?
  • Android Qt 5.15 Camera: QCameraImageCapture error: "Camera not ready"

    Unsolved
    5
    0 Votes
    5 Posts
    310 Views
    NihilishN
    @mvuori said in Android Qt 5.15 Camera: QCameraImageCapture error: "Camera not ready": @Nihilish I don't know what is missing, but QCamera does work in Android Here's an attempt I made using QCamera by creating a CameraManager class that implements QAbstractVideoSurface. I would expect present and start to be called but they aren't. #include "CameraManager.h" #include <QQuickWindow> #include <QWindow> #include <QCameraViewfinder> #include <QCameraInfo> CameraManager::CameraManager(QObject *parent) : QAbstractVideoSurface{parent}, mCamera(nullptr) { QList<QCameraInfo> cameras = QCameraInfo::availableCameras(QCamera::Position::FrontFace); if (!cameras.isEmpty()) { qDebug() << "HACK - CREATE CAMERA!!!"; mCamera = new QCamera(cameras.first(), this); mCamera->setViewfinder(this); mCamera->setCaptureMode(QCamera::CaptureVideo); mCamera->start(); qDebug() << "HACK - CAMERA STATE: " << mCamera->state(); qDebug() << "HACK - CAMERA SUPPORTED FORMATS: " << mCamera->supportedViewfinderPixelFormats(); } } bool CameraManager::start(const QVideoSurfaceFormat &format) { qDebug() << "HACK - START!!!"; if (!supportedPixelFormats(QAbstractVideoBuffer::NoHandle).contains(format.pixelFormat())) { return false; } return QAbstractVideoSurface::start(format); } bool CameraManager::present(const QVideoFrame &frame) { qDebug() << "HACK - PRESENT FRAME"; if (!frame.isValid()) return false; emit frameAvailable(frame); return true; }