Qml Videoouput only display with sudo
-
my qml application use
Videoouputelement to display yuv data.
if run with sudosudo ./myAppmy application work fine.
VideoOutputcan display video.
if run./myAppVideoOutputcan not display video.
when I set QT_DEBUG_PLUGINS=1, if application work normaly, application will link tolibqxcb-egl-integration.so.runsudo ./myApploaded library "/opt/qt-5.15.2-release/qml/QtMultimedia/libdeclarative_multimedia.so" Found metadata in lib /opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "archreq": 0, "className": "QtQmlPlugin", "debug": false, "uri": [ "QtQml" ], "version": 331520 } loaded library "/opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/xcbglintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_egl" ] }, "archreq": 0, "className": "QXcbEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_egl") QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/xcbglintegrations" ... loaded library "/opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so" libEGL warning: DRI2: failed to authenticate QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/videonode" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so, metadata= { "IID": "org.qt-project.qt.sgvideonodefactory/5.2", "MetaData": { "Keys": [ "egl" ] }, "archreq": 0, "className": "QSGVideoNodeFactory_EGL", "debug": false, "version": 331520 }but if run
./myApploaded library "/opt/qt-5.15.2-release/qml/QtMultimedia/libdeclarative_multimedia.so" Found metadata in lib /opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "archreq": 0, "className": "QtQmlPlugin", "debug": false, "uri": [ "QtQml" ], "version": 331520 } loaded library "/opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/videonode" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so, metadata= { "IID": "org.qt-project.qt.sgvideonodefactory/5.2", "MetaData": { "Keys": [ "egl" ] }, "archreq": 0, "className": "QSGVideoNodeFactory_EGL", "debug": false, "version": 331520 }Can someone help me to solve the problem.
-
my qml application use
Videoouputelement to display yuv data.
if run with sudosudo ./myAppmy application work fine.
VideoOutputcan display video.
if run./myAppVideoOutputcan not display video.
when I set QT_DEBUG_PLUGINS=1, if application work normaly, application will link tolibqxcb-egl-integration.so.runsudo ./myApploaded library "/opt/qt-5.15.2-release/qml/QtMultimedia/libdeclarative_multimedia.so" Found metadata in lib /opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "archreq": 0, "className": "QtQmlPlugin", "debug": false, "uri": [ "QtQml" ], "version": 331520 } loaded library "/opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/xcbglintegrations" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so, metadata= { "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5", "MetaData": { "Keys": [ "xcb_egl" ] }, "archreq": 0, "className": "QXcbEglIntegrationPlugin", "debug": false, "version": 331520 } Got keys from plugin meta data ("xcb_egl") QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/xcbglintegrations" ... loaded library "/opt/qt-5.15.2-release/plugins/xcbglintegrations/libqxcb-egl-integration.so" libEGL warning: DRI2: failed to authenticate QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/videonode" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so, metadata= { "IID": "org.qt-project.qt.sgvideonodefactory/5.2", "MetaData": { "Keys": [ "egl" ] }, "archreq": 0, "className": "QSGVideoNodeFactory_EGL", "debug": false, "version": 331520 }but if run
./myApploaded library "/opt/qt-5.15.2-release/qml/QtMultimedia/libdeclarative_multimedia.so" Found metadata in lib /opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so, metadata= { "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0", "archreq": 0, "className": "QtQmlPlugin", "debug": false, "uri": [ "QtQml" ], "version": 331520 } loaded library "/opt/qt-5.15.2-release/qml/QtQml/libqmlplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/home/greatwall/lyc/QTFrame/bin/debug/video/declarativevideobackend" ... QFactoryLoader::QFactoryLoader() checking directory path "/opt/qt-5.15.2-release/plugins/video/videonode" ... QFactoryLoader::QFactoryLoader() looking at "/opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so" Found metadata in lib /opt/qt-5.15.2-release/plugins/video/videonode/libeglvideonode.so, metadata= { "IID": "org.qt-project.qt.sgvideonodefactory/5.2", "MetaData": { "Keys": [ "egl" ] }, "archreq": 0, "className": "QSGVideoNodeFactory_EGL", "debug": false, "version": 331520 }Can someone help me to solve the problem.
I find
QMLSCENE_DEVICE=softwarecontextin my OS,VideoOuputcannot use software to render.
Qt Quick Software Adaptation