How to write custom screen driver using Qt 5.8 without using framebuffer?
-
wrote on 14 Mar 2017, 04:13 last edited by
In my previous project we used Qt 4.8 , and we used QScreenDriverPlugin for custom screen driver implementation without using frame buffer.
Currently we move to Qt 5.8 and as in this version QScreenDriverPlugin has been removed.
So, could you please tell me how could i write my custom screen driver using Qt 5.8 without using frame buffer? -
Hi and welcome to devnet,
You're likely looking for the Qt Platform Abstraction documentation.
Hope it helps
-
wrote on 16 Mar 2017, 03:59 last edited by
@SGaist : Thanks
-
wrote on 22 Jun 2017, 05:43 last edited by
For Development of QPA plugin using Qt 5.8 following basic classed are needed:
- QPlatformIntegartionPlugin:
* Entry point for the plugin
* Factory Class
*QPlatformIntegration creates it by calling the createPlatformWindow method. It doesn’t care
for the contents of the window. - QPlatformScreen:
This class represents your visual/physical displays ( i.e. monitors ).
3)QPlatformWindow :
*This class provides an abstraction used by QWindow for all it’s top-level windows.- Interface to the windowing system
- It's about the window, not about the surface or content
- QPlatformBackingStore :
- A handler for painting and flushing
- It's about the surface or content, not the window(inner portion of the window)
- QPixmapData:
- Stores pixmap data.
- QPlatformFontDatabase:
- Interface to your platform fontdatabase.
- Create and returns QFontEngine.
- QPlatformIntegartionPlugin:
-
For Development of QPA plugin using Qt 5.8 following basic classed are needed:
- QPlatformIntegartionPlugin:
* Entry point for the plugin
* Factory Class
*QPlatformIntegration creates it by calling the createPlatformWindow method. It doesn’t care
for the contents of the window. - QPlatformScreen:
This class represents your visual/physical displays ( i.e. monitors ).
3)QPlatformWindow :
*This class provides an abstraction used by QWindow for all it’s top-level windows.- Interface to the windowing system
- It's about the window, not about the surface or content
- QPlatformBackingStore :
- A handler for painting and flushing
- It's about the surface or content, not the window(inner portion of the window)
- QPixmapData:
- Stores pixmap data.
- QPlatformFontDatabase:
- Interface to your platform fontdatabase.
- Create and returns QFontEngine.
wrote on 4 Dec 2017, 13:40 last edited by nlazovic 12 Apr 2017, 13:44[0_1512394999226_main.cpp](Uploading 100%) @Avanish-Singh @SGaist
I tried doing similar (BTW using QT5.9) and QPlatformBackingStore instance is just never being invoked. We also tried minimalegl plugin (one that comes with QT source) and same issue "QPlatformBackingStore instance is just never being invoked"
Any ideas why ?sample app
main.cpp#include <QQmlApplicationEngine> #include <QDir> #include <QGuiApplication> #include <QQmlEngine> #include <QQmlFileSelector> #include <QQuickView> int main(int argc, char *argv[]) { QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:///demos/hw2/main.qml"))); return app.exec(); }
main.qml
import QtQuick 2.5 import QtQuick.Window 2.2 import QtMultimedia 5.5 Window { id: w visible: true visibility: Window.FullScreen color: "#000000"; //default bkg color is black Rectangle { id: r1 x: 100; y: 100 width: 400; height: 200 color: "#646464" Text { anchors.centerIn: parent text: "Hello, World1!" } } Rectangle { id: r2 x: 600; y: 100 width: 400; height: 200 color: "#646464" Text { anchors.centerIn: parent text: "Hello, World2!" } } VideoOutput { id: diVideo x: 400; y: 400 width: 400; height: 200 source: mediaPlayer MediaPlayer { id: mediaPlayer autoLoad: true source: "file:///root/Downloads/movies/SampleVideo_1280x720_20mb.mp4" } Component.onCompleted: { mediaPlayer.play(); } } }
- QPlatformIntegartionPlugin:
-
Hi,
You don't give enough details. What platform are you on ? How are you starting your application ?
-
Hi,
You don't give enough details. What platform are you on ? How are you starting your application ?
wrote on 5 Dec 2017, 03:19 last edited by nlazovic 12 May 2017, 04:36@SGaist
I built QT 5.9.3 for Odroid XU4.
When I start my app with "./myapp -platform eglfs" all renders ok on attached HDMI monitor.
When I start my app with "./myapp -platform minimalegl" I see that that no debug logs comes out of (not even from a constructor)QMinimalEglBackingStore modified to save to image
#include "qminimaleglbackingstore.h" #include <QtGui/QOpenGLContext> #include <QtGui/QOpenGLPaintDevice> QT_BEGIN_NAMESPACE QMinimalEglBackingStore::QMinimalEglBackingStore(QWindow *window) : QPlatformBackingStore(window) , m_context(new QOpenGLContext) , m_device(0) { qWarning("QMinimalEglBackingStore::QMinimalEglBackingStore", window); m_context->setFormat(window->requestedFormat()); m_context->setScreen(window->screen()); m_context->create(); } QMinimalEglBackingStore::~QMinimalEglBackingStore() { delete m_context; } QPaintDevice *QMinimalEglBackingStore::paintDevice() { return m_device; } void QMinimalEglBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoint &offset) { Q_UNUSED(region); Q_UNUSED(offset); qWarning("QEglBackingStore::flush %p", window); static int c = 0; //save frame as image QOpenGLFramebufferObject fbo(size()); qDebug()<<"bind success? : "<<fbo.bind(); QImage frameImage = fbo.toImage(); QString filename = QString("output%1.png").arg(c++, 4, 10, QLatin1Char('0')); qDebug() << "QMinimalEglBackingStore::flush() saving contents to" << filename.toLocal8Bit().constData(); frameImage.save(filename); m_context->swapBuffers(window); } void QMinimalEglBackingStore::beginPaint(const QRegion &) { m_context->makeCurrent(window()); m_device = new QOpenGLPaintDevice(window()->size()); } void QMinimalEglBackingStore::endPaint() { delete m_device; } void QMinimalEglBackingStore::resize(const QSize &size, const QRegion &staticContents) { Q_UNUSED(size); Q_UNUSED(staticContents); } QT_END_NAMESPACE
-
Did you modify Qt or wrote your own QPA ?
-
You should set the
QT_DEBUG_PLUGINS
environment variable to 1 and start your application again to see what happens with it. -
You should set the
QT_DEBUG_PLUGINS
environment variable to 1 and start your application again to see what happens with it.wrote on 8 Dec 2017, 06:36 last edited byrunning app with
export QT_DEBUG_PLUGINS=1
./myapp -platform minimaleglFrom log I can only figure out that
QPlatformBackingStore *QMinimalEglIntegration::createPlatformBackingStore(QWindow *window) const
is not invoked.
log
App started QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libdsccstreamerplatform.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libdsccstreamerplatform.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "dsccstreamerplatform" ] }, "className": "QMinimalEglIntegrationPlugin", "debug": true, "version": 329987 } Got keys from plugin meta data ("dsccstreamerplatform") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libphantom.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libphantom.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "phantom" ] }, "className": "PhantomIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("phantom") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqeglfs.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqeglfs.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "eglfs" ] }, "className": "QEglFSIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("eglfs") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqlinuxfb.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqlinuxfb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "linuxfb" ] }, "className": "QLinuxFbIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("linuxfb") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqminimal.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqminimal.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimal" ] }, "className": "QMinimalIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("minimal") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqminimalegl.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqminimalegl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "minimalegl" ] }, "className": "QMinimalEglIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("minimalegl") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqoffscreen.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("offscreen") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqvnc.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqvnc.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "vnc" ] }, "className": "QVncIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("vnc") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/platforms/libqxcb.so" Found metadata in lib /usr/local/qt5xu4/plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "className": "QXcbIntegrationPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/platforms" ... loaded library "/usr/local/qt5xu4/plugins/platforms/libqminimalegl.so" QEglScreen 0x361a8 Opened display 0x37ee8 Initialized display 1 4 EGL_BUFFER_SIZE: 32 EGL_ALPHA_SIZE: 8 EGL_BLUE_SIZE: 8 EGL_GREEN_SIZE: 8 EGL_RED_SIZE: 8 EGL_DEPTH_SIZE: 24 EGL_STENCIL_SIZE: 8 EGL_CONFIG_CAVEAT: 12344 EGL_CONFIG_ID: 3 EGL_LEVEL: 0 EGL_MAX_PBUFFER_HEIGHT: 8192 EGL_MAX_PBUFFER_PIXELS: 67108864 EGL_MAX_PBUFFER_WIDTH: 8192 EGL_NATIVE_RENDERABLE: 0 EGL_NATIVE_VISUAL_ID: 0 EGL_NATIVE_VISUAL_TYPE: 12344 EGL_SAMPLES: 0 EGL_SAMPLE_BUFFERS: 0 EGL_SURFACE_TYPE: 1031 EGL_TRANSPARENT_TYPE: 12344 EGL_TRANSPARENT_BLUE_VALUE: 0 EGL_TRANSPARENT_GREEN_VALUE: 0 EGL_TRANSPARENT_RED_VALUE: 0 EGL_BIND_TO_TEXTURE_RGB: 0 EGL_BIND_TO_TEXTURE_RGBA: 1 EGL_MIN_SWAP_INTERVAL: 0 EGL_MAX_SWAP_INTERVAL: 0 QMinimalEglIntegration Found metadata in lib /usr/local/qt5xu4/qml/QtQuick.2/libqtquick2plugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "MetaData": { }, "className": "QtQuick2Plugin", "debug": false, "uri": [ "QtQuick.2" ], "version": 329987 } loaded library "/usr/local/qt5xu4/qml/QtQuick.2/libqtquick2plugin.so" Found metadata in lib /usr/local/qt5xu4/qml/QtQuick/Window.2/libwindowplugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "MetaData": { }, "className": "QtQuick2WindowPlugin", "debug": false, "uri": [ "QtQuick.Window.2" ], "version": 329987 } loaded library "/usr/local/qt5xu4/qml/QtQuick/Window.2/libwindowplugin.so" Found metadata in lib /usr/local/qt5xu4/qml/QtMultimedia/libdeclarative_multimedia.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "MetaData": { }, "className": "QMultimediaDeclarativeModule", "debug": false, "uri": [ "QtMultimedia" ], "version": 329987 } loaded library "/usr/local/qt5xu4/qml/QtMultimedia/libdeclarative_multimedia.so" QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/mediaservice" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/mediaservice/libgstaudiodecoder.so" Found metadata in lib /usr/local/qt5xu4/plugins/mediaservice/libgstaudiodecoder.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreameraudiodecode" ], "Services": [ "org.qt-project.qt.audiodecode" ] }, "className": "QGstreamerAudioDecoderServicePlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("gstreameraudiodecode") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/mediaservice/libgstcamerabin.so" Found metadata in lib /usr/local/qt5xu4/plugins/mediaservice/libgstcamerabin.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamercamerabin" ], "Services": [ "org.qt-project.qt.camera" ] }, "className": "CameraBinServicePlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("gstreamercamerabin") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/mediaservice/libgstmediacapture.so" Found metadata in lib /usr/local/qt5xu4/plugins/mediaservice/libgstmediacapture.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediacapture" ], "Services": [ "org.qt-project.qt.audiosource" ] }, "className": "QGstreamerCaptureServicePlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("gstreamermediacapture") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/mediaservice/libgstmediaplayer.so" Found metadata in lib /usr/local/qt5xu4/plugins/mediaservice/libgstmediaplayer.so, metadata= { "IID": "org.qt-project.qt.mediaserviceproviderfactory/5.0", "MetaData": { "Keys": [ "gstreamermediaplayer" ], "Services": [ "org.qt-project.qt.mediaplayer" ] }, "className": "QGstreamerPlayerServicePlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("gstreamermediaplayer") QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/mediaservice" ... loaded library "/usr/local/qt5xu4/plugins/mediaservice/libgstmediaplayer.so" QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/resourcepolicy" ... QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/resourcepolicy" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/video/videonode" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/video/videonode/libeglvideonode.so" Found metadata in lib /usr/local/qt5xu4/plugins/video/videonode/libeglvideonode.so, metadata= { "IID": "org.qt-project.qt.sgvideonodefactory/5.2", "MetaData": { "Keys": [ "egl" ] }, "className": "QSGVideoNodeFactory_EGL", "debug": false, "version": 329987 } Got keys from plugin meta data ("egl") QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/video/videonode" ... loaded library "/usr/local/qt5xu4/plugins/video/videonode/libeglvideonode.so" QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/video/gstvideorenderer" ... QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/video/gstvideorenderer" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/imageformats" ... QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqgif.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqgif.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "gif" ], "MimeTypes": [ "image/gif" ] }, "className": "QGifPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("gif") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqicns.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqicns.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "icns" ], "MimeTypes": [ "image/x-icns" ] }, "className": "QICNSPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("icns") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqico.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqico.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "ico", "cur" ], "MimeTypes": [ "image/vnd.microsoft.icon" ] }, "className": "QICOPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("ico", "cur") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqjpeg.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqjpeg.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "jpg", "jpeg" ], "MimeTypes": [ "image/jpeg", "image/jpeg" ] }, "className": "QJpegPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("jpg", "jpeg") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqtga.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqtga.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "tga" ], "MimeTypes": [ "image/x-tga" ] }, "className": "QTgaPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("tga") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqtiff.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqtiff.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "tiff", "tif" ], "MimeTypes": [ "image/tiff", "image/tiff" ] }, "className": "QTiffPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("tiff", "tif") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqwbmp.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqwbmp.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "wbmp" ], "MimeTypes": [ "image/vnd.wap.wbmp" ] }, "className": "QWbmpPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("wbmp") QFactoryLoader::QFactoryLoader() looking at "/usr/local/qt5xu4/plugins/imageformats/libqwebp.so" Found metadata in lib /usr/local/qt5xu4/plugins/imageformats/libqwebp.so, metadata= { "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface", "MetaData": { "Keys": [ "webp" ], "MimeTypes": [ "image/webp" ] }, "className": "QWebpPlugin", "debug": false, "version": 329987 } Got keys from plugin meta data ("webp") QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/imageformats" ... loaded library "/usr/local/qt5xu4/plugins/imageformats/libqgif.so" AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse" AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': Device or resource busy loaded library "/usr/local/qt5xu4/plugins/imageformats/libqicns.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqico.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqjpeg.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqtga.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqtiff.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqwbmp.so" loaded library "/usr/local/qt5xu4/plugins/imageformats/libqwebp.so" QMinimalEglIntegration::createPlatformWindow 0x157228 QEglWindow 0x3e6570: 0x157228 0x1 QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/accessible" ... QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/accessible" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/qt5xu4/plugins/accessiblebridge" ... QFactoryLoader::QFactoryLoader() checking directory path "/root/qt5build/qt5/dscctests/test2/accessiblebridge" ... Warning: "Failed to connect: Connection refused"
-
Might be a silly question but did you thought to call make install after building your custom version of the plugin ?
-
Might be a silly question but did you thought to call make install after building your custom version of the plugin ?
wrote on 9 Dec 2017, 01:46 last edited by nlazovic 12 Sept 2017, 01:46@SGaist
:) of courseroot@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl# make
make: Nothing to be done for 'first'.
root@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl# make install
/root/qt5build/qt5/qtbase/bin/qmake -install qinstall -exe ../../../../plugins/platforms/libqminimalegl.so /usr/local/qt5xu4/plugins/platforms/libqminimalegl.so
strip --strip-unneeded /usr/local/qt5xu4/plugins/platforms/libqminimalegl.so
/root/qt5build/qt5/qtbase/bin/qmake -install qinstall /root/qt5build/qt5/qtbase/lib/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake /usr/local/qt5xu4/lib/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake
root@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl#nenad
-
@SGaist
:) of courseroot@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl# make
make: Nothing to be done for 'first'.
root@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl# make install
/root/qt5build/qt5/qtbase/bin/qmake -install qinstall -exe ../../../../plugins/platforms/libqminimalegl.so /usr/local/qt5xu4/plugins/platforms/libqminimalegl.so
strip --strip-unneeded /usr/local/qt5xu4/plugins/platforms/libqminimalegl.so
/root/qt5build/qt5/qtbase/bin/qmake -install qinstall /root/qt5build/qt5/qtbase/lib/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake /usr/local/qt5xu4/lib/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake
root@odroid:~/qt5build/qt5/qtbase/src/plugins/platforms/minimalegl#nenad
wrote on 9 Dec 2017, 06:22 last edited bywe did few experiments with QT samples (running with 0platfomr minimalegl), to see if / which one will instantiate QMinimalEglBackingStore. Below are the results.
Some do, some dont. could not figure out pattern :(example /qtbase/examples/opengl/cube, QMinimalEglBackingStore instantiated !!!
using QApplication / QWidget
C++ onlyexample /qtmultimedia/examples/multimediawidgets/videowidget, QMinimalEglBackingStore instantiated !!!
using QApplication / QWidget
C++ onlyexample /qtdeclarative/examples/quick/quickwidgets/quickwidget, QMinimalEglBackingStore instantiated !!!
using QApplication / QMainWindow
C++/QML
App crashes “Segmentation fault”example /qtdeclarative/examples/quick/quickwidgets/qquickviewcomparison, QMinimalEglBackingStore instantiated !!!
using QApplication / QWidget
C++/QML
App crashes “Segmentation fault” / This plugin does not support propagateSizeHints()example /qtdeclarative/examples/quick/embeddedinwidgets, QMinimalEglBackingStore instantiated !!!
using QApplication / QMainWindow
C++/QML
Something fails ?example /qtmultimedia/examples/multimedia/video/qmlvideo, QMinimalEglBackingStore NOT instantiated
using QGuiApplication / QQuickView
C++/QMLexample /qtquickcontrols/examples/quickcontrols/controls/filesystembrowser, QMinimalEglBackingStore NOT instantiated
using QApplication / QQmlApplicationEngine
C++/QMLexample /qtquickcontrols/examples/quickcontrols/controls/tableview, QMinimalEglBackingStore NOT instantiated
Using QtQuickControlsApplication / QQmlApplicationEngine
C++/QMLexample /qtquickcontrols/examples/quickcontrols/controls/touch, QMinimalEglBackingStore NOT instantiated
Using QtQuickControlsApplication / QQmlApplicationEngine
C++/QMLexample / qt3d/examples/qt3d/materials, QMinimalEglBackingStore NOT instantiated
using QGuiApplication / Qt3DQuickWindow
C++/QML