Приложение Qt пытается загрузить плагин платформы xcb вместо eglfs

Создан дистрибутив Linux Raspberry Pi 2, включающий Qt5.4 + QtWebKit + плагин QML, с использованием Yocto в fido ветке см. руководство

Тестирование со следующим QML-скриптом

root@raspberrypi2:~# more webkit3.qml 
import QtQuick 2.0
import QtQuick.Controls 1.0
import QtWebKit 3.0

ScrollView {
    width: 640
    height: 480
    WebView {
        id: webview
        url: "http://qt-project.org"
        anchors.fill: parent
        onNavigationRequested: {
            // detect URL scheme prefix, most likely an external link
            var schemaRE = /^\w+:/;
            if (schemaRE.test(request.url)) {
                request.action = WebView.AcceptRequest;
            } else {
                request.action = WebView.IgnoreRequest;
                // delegate request.url here
            }
        }
    }
}

Сообщение об ОШИБКЕ

Не удалось запустить это приложение, поскольку ему не удалось найти или загрузить подключаемый модуль платформы Qt «xcb».

Похоже, он все еще пытается начать с плагина XCB, который относится на X11, тогда как я указал EGLFS (??)

root@raspberrypi2:~# /usr/bin/qt5/qmlscene  webkit3.qml -platform eglfs
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen.

Reinstalling the application may fix this problem.

Любые идеи, почему я получаю эту проблему?

Платформы плагинов QT5 установлены

root@raspberrypi2:/usr/lib/qt5/plugins/platforms# ls -al
drwxr-xr-x    2 root     root          4096 Jun 12 12:59 .
drwxr-xr-x   18 root     root          4096 Jun 12 13:03 ..
-rwxr-xr-x    1 root     root        601864 Jun 11 15:19 libqeglfs.so
-rwxr-xr-x    1 root     root        499564 Jun 11 15:19 libqlinuxfb.so
-rwxr-xr-x    1 root     root         20576 Jun 11 15:19 libqminimal.so
-rwxr-xr-x    1 root     root        478500 Jun 11 15:19 libqminimalegl.so
-rwxr-xr-x    1 root     root        465740 Jun 11 15:19 libqoffscreen.so

Пожалуйста, не отсылайте меня к это или эта проблема. Сообщение то же самое, но не я не думаю, что это та же причина.


person zabumba    schedule 13.06.2015    source источник
comment
Может быть, qmlscene использует аргументы - вы пытались передать параметр -pletform ПЕРЕД именем файла qml? Или установить для переменной среды QT_QPA_PLATFORM значение eglfs вместо параметра командной строки?   -  person peppe    schedule 15.06.2015
comment
Ваше предложение сработало хорошо!! Пожалуйста, добавьте свой комментарий в качестве ответа, чтобы я мог его подтвердить. Ваше здоровье!!   -  person zabumba    schedule 15.06.2015


Ответы (1)


Возможно, qmlscene потребляет аргументы - передайте параметр -platform ПЕРЕД именем файла qml или установите для переменной среды QT_QPA_PLATFORM значение eglfs вместо параметра командной строки.

В будущем вы можете сделать eglfs выбором по умолчанию, настроив Qt с -qpa eglfs.

person peppe    schedule 16.06.2015