Продолжительность:
./myapp -platform wayland
дает:
Не удалось запустить это приложение, так как не удалось найти или загрузить
Плагин платформы Qt "wayland" в "".
Доступные плагины платформы: eglfs, linuxfb, minimal, minimalegl,
за кадром, vnc, xcb.
Переустановка приложения может решить эту проблему. Прервано (ядро
сбрасывали)
Следуя инструкциям: Как построить qtwayland?
Запуск qmake дает:
Запуск тестов конфигурации ...
Закончено выполнение тестов конфигурации.
Настроить сводку:
Клиент Qt Wayland ........................ нет
Qt Wayland Compositor .................... нет
Примечание: поддержка wayland-egl не обнаружена. Совместимость с несколькими инструментами отключена.
qtwayland README указывает на две зависимости:
- xkbcommon 0.2.0 - http://xkbcommon.org/
- Wayland 1.6.0 - http://wayland.freedesktop.org/
На fedora 28 libxkbcommon установлен по умолчанию. Кроме того, я также установил libxkbcommon-devel
dnf whatprovides *wayland*
не возвращает результатов, хотя мой сеанс gnome выполняется под Wayland.
Я вижу, что могу скачать Wayland с https://wayland.freedesktop.org/releases.html.
Я скачал и распаковал 1.15, но не уверен, что делать с распакованным исходным кодом: собирать ли его? мне нужно положить его куда-нибудь, где qtwayland сможет его найти?
Я вижу, что в fedora 28 по умолчанию существует следующий файл:
/ USR / lib64 / qt5 / плагины / Wayland-график-интеграция-сервер / libwayland-egl.so
Но скопируйте его в ~ / Qt / 5.10.1 / gcc_64 / plugins / платформы
не разрешает ошибки запуска моего приложения.
Вопрос : как заставить мое приложение Qt работать под Wayland?
Добавлено в ответ на вопросы о боббалубе ниже:
Я пытаюсь собрать QtWayland против официальных бинарных файлов Qt, потому что он не включен.
Установлен wayland-devel, как было предложено, но qmake по-прежнему сообщал об отсутствии конфигурации для Qt Wayland Client, как указано в сообщении выше.
Попытался установить qt5-qtwayland с помощью dnf, который сообщил:
Пакет qt5-qtwayland-5.10.1-2.fc28.x86_64 уже установлен, пропуск.
Может иметь отношение следующее:
? sudo dnf whatprovides libwayland-egl.so
Последняя проверка срока действия метаданных: 0:18:44 назад в среду, 09 мая 2018 г., 09:15:20 + 08.
qt5-qtwayland-5.10.1-2.fc28.i686: Qt5 - Поддержка платформы Wayland и модуль QtCompositor
Репо: fedora
Подходит от:
Обеспечить: libwayland-egl.so
? find / -name libwayland-egl.so * -print
/ USR / lib64 / libwayland-egl.so
/ USR / lib64 / qt5 / плагины / Wayland-график-интеграция-сервер / libwayland-egl.so
? sudo ldconfig -p | grep wayland-egl
libwayland-egl.so.1 (libc6, x86-64) => /lib64/libwayland-egl.so.1
libwayland-egl.so (libc6, x86-64) => /lib64/libwayland-egl.so
Установил Qt 5.11.0rc, что привело к
~ / Qt / 5.11.0 / gcc_64 / плагины / Wayland-график-интеграция-сервер / libwayland-egl.so
~ / Qt / 5.11.0 / gcc_64 / плагины / Wayland-график-интеграция-сервер / libwayland-egl.so.debug
добавляется в ~ / Qt / 5.11.0 / gcc_64 / plugins / платформы.
cmake CMakeFile.txt внезапно перестал работать, когда я установил Qt5.11rc - с gcc не удалось найти заголовки Qt, такие как QDate.
Попробовал компилировать пример проекта 'адресная книга' с использованием Qt5.11 и получил:
QSocketNotifier: может использоваться только с потоками, запущенными с QThread
Использование Wayland-EGL
Использование интеграции оболочки 'xdg-shell-v6'
Короче говоря, использование Qt5.11rc, похоже, решает проблему.