2015-04-14 10 views
0

В настоящее время я пытаюсь создать приложение qt5 на yocto, используя qtwayland. Я использовал основные и минимальные и добавленные wayland, weston, qtwayland, плагины qtbase и т. Д. Я добавил ~/Apps/Wayland/wayland.sourceme и настроил weston.ini.qtwayland продолжает говорить, что не удалось создать отображение в yocto

Прямо сейчас я могу начать Weston и войти в рабочий стол Weston, открыть терминал и запустить приложение helloworld просто отлично. но когда я убиваю Weston или перезагружаю систему, чтобы вернуться к терминалу в качестве root. Я бегу мое приложение, делая

source ~/App/Wayland/wayland.sourceme 
~/helloworld -platform wayland 

и я получить не удалось создать дисплей (нет такого файла или каталога)

даже делать экспорта DISPLAY =: 0,0 не работает.

Я также следил за https://wiki.qt.io/QtWayland тоже не повезло. как я могу запустить приложение, используя -platform wayland или любую другую платформу.

+0

Я не понимаю, вы хотите, чтобы клиент wayland работал без запуска сервера wayland? Какое поведение вы ожидаете точно? – PatJ

+0

исправьте меня, если я ошибаюсь, но qt5 не нужен сервер wayland. из всех обучающих программ, которые я прочитал, просто показывает, что добавление -платформы wayland или wayland-egls и т. д. запустит приложение в полноэкранном режиме – Bbbh

+0

Я пробовал искать это и ничего не нашел. Где вы это нашли? Из предоставленной вами ссылки вы можете создать композитор, но вам нужно, чтобы он работал до запуска вашего клиента. – PatJ

ответ

1

От Qt Wiki:

Run Qt приложения, как клиенты Wayland

При создании модуля QtWayland, вы должны получить новую платформу плагин для Wayland. Чтобы использовать его, вы должны сначала запустить программу Wayland.

Если вы не хотите использовать внешний композитор, следуйте инструкциям в разделе «Создание и запуск собственного компоновщика Wayland с Qt5». Например, вы можете запустить QmlCompositor:

source ~/Apps/Wayland/wayland.sourceme 
cd qtwayland/examples/qml-compositor 
./qml-compositor -platform xcb 
1

Вы пытаетесь запустить приложение Qt с помощью плагина платформы wayland. Что делает ваше приложение qt работать как клиент wayland.

Теперь, чтобы запустить клиент wayland, должен быть запущен компоновщик wayland.

В настоящее время существует два способа, которые вы можете сделать это,

  1. запустить Wayland наборщиком (Weston) перед запуском Qt приложения.
  2. Скомпилируйте qml-compositor и запустите его перед запуском приложения Qt.

В обоих случаях у вас должен быть установленный композитор, если вы хотите, чтобы ваше приложение выполнялось как клиент wayland.

Если вы просто хотите запустить приложение в полноэкранном режиме и ничего больше, вы также можете использовать плагин платформы eglfs и вообще не использовать wayland.

+0

обе все опции производят то же самое, что дисплей не найден. Я последовал за учебником по ubuntu 14.04. Я не могу заставить qml-compositor работать сам по себе. – Bbbh

+0

получается, что/dev/fb0 не устало ни перед чем. Я тестировал fbi и даже не показывал ничего на экране. Я не уверен, что я установил, но когда я получил работу fbi, qtwayland тоже начал работать – Bbbh