Problem with Qt5 on Raspbian with EGLFS or XCB
-
I need to developed a program to play a video and display some text using QtQuick. By default, Raspbian repo only support Qt4.8. It works fine except the video part, which only give a black area.
I followed this "tutorial":http://qt-project.org/wiki/Native_Build_of_Qt5_on_a_Raspberry_Pi to build Qt5. But I got errors when I try to run the program using following command :
@./test -platform xcbQXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
@@./test -platform eglfs
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
file:///opt/Qt5/qml/QtQuick/Controls/MenuBar.qml:268: TypeError: Type error
file:///opt/Qt5/qml/QtQuick/Controls/Private/MenuContentItem.qml:244: TypeError: Type error
file:///opt/Qt5/qml/QtQuick/Controls/Styles/Desktop/MenuStyle.qml:94:15: Unable to assign [undefined] to QString
file:///opt/Qt5/qml/QtQuick/Controls/Private/MenuContentItem.qml:181:48: Unable to assign [undefined] to QString
EGLFS: OpenGL windows cannot be mixed with others.
@Please help me to solve this issue. I'm not very familiar with 3D staff like OpenGL and etc..
-
There is no OpenGL support on the Pi when running on X. That's why the xcb plugin is unable to handle OpenGL windows.
With eglfs there is a different kind of limitation: it cannot handle more than one OpenGL window (since it is meant to support one single fullscreen window only).
-
I've tried to run the application from the command line (without turning on the desktop). The program running with full screen window but whenever I click it, it suddenly terminated because of OpenGL context error.
So, right now I'm developing application using Qt4 which can be found in Raspbian repo. Everything working fine except it can't play video using QtMultimediaKit in QML because failed to started video surface.
[quote author="agocs" date="1404827544"]There is no OpenGL support on the Pi when running on X. That's why the xcb plugin is unable to handle OpenGL windows.
With eglfs there is a different kind of limitation: it cannot handle more than one OpenGL window (since it is meant to support one single fullscreen window only).
[/quote]