Spec-Zone.ru › Qt 5.12

Композитор Qt Wayland

Wayland — это протокол сервера отображения, предназначенный для создания многопроцессорных систем, в которых несколько клиентских приложений могут отображать содержимое на одном экране через процесс композитора.

По сравнению с системой с однопроцессорной архитектурой, многопроцессорная система предоставляет несколько преимуществ:

  • Более лёгкое управление ресурсами за счёт стандартных механизмов операционной системы.
  • Более высокая безопасность, так как каждое приложение может работать со своими разрешениями или в собственном песочнице.
  • Более чёткое разделение пользовательского интерфейса приложения и пользовательского интерфейса композитора, что позволяет изменять их независимо друг от друга.

В типичной системе на основе Wayland несколько клиентских процессов отображают своё содержимое в буферы вне экрана. Затем информация об этих буферах передаётся процессу сервера отображения с помощью протокола Wayland. Наконец, процесс сервера отображения комбинирует и размещает содержимое на физическом экране.

Композитор Qt Wayland — это модуль, который предоставляет удобные и мощные API на QML и C++ для разработки пользовательских серверов отображения на основе этого протокола. Сервер отображает содержимое из клиентских приложений, поддерживающих протокол Wayland. Философия проектирования Wayland заключается в простоте и минимализме основного протокола, расширяющегося с помощью расширений, специфичных для конкретных сценариев использования. Композитор Qt Wayland по умолчанию поддерживает многие распространённые расширения и также имеет API, позволяющие создавать новые пользовательские расширения.

В одном типичном случае использования сервер отображения, написанный с помощью Qt Wayland Compositor, будет подсистемой внутри более крупного процесса менеджера приложений. Qt Wayland Compositor предоставляет API для взаимодействия с клиентами и отображения их содержимого на экране, используя C++ для низкоуровневого доступа и весь набор эффектов, анимаций и удобства Qt Quick при использовании API QML. Кроме этого, типичный менеджер приложений также реализует такие функции, как жизненный цикл приложения, ввод с виртуальной клавиатуры, безопасность и межпроцессное взаимодействие. Qt предоставляет API, которые могут быть использованы для разработки оставшихся частей менеджера приложения в других модулях. Qt Automotive Suite предоставляет полный менеджер приложений, который включает сервер отображения, разработанный с использованием Qt Wayland Compositor.

Особенности композитора Qt Wayland

API композитора Qt Wayland включает функции, необходимые для создания сервера отображения.

  • API QML, который можно использовать для отображения и манипулирования содержимым клиентов, полностью интегрирован со всеми функциями Qt Quick.
  • API C++ для низкоуровневого доступа и управления.
  • Поддержка распространённых расширений, включая XDG Shell и IVI Application.
  • API для лёгкого расширения поддержки пользовательских расширений.

Переменные среды и аргументы командной строки

API композитора Qt Wayland распознаёт некоторые переменные среды и аргументы командной строки, которые могут использоваться для настройки его поведения.

  • Переменные среды:
    • QT_WAYLAND_HARDWARE_INTEGRATION Выбор плагина интеграции с аппаратным обеспечением.
    • QT_WAYLAND_CLIENT_BUFFER_INTEGRATION Выбор плагина интеграции с буфером клиента.
    • QT_WAYLAND_SERVER_BUFFER_INTEGRATION Выбор плагина интеграции с сервером.
  • Аргументы командной строки:
    • --wayland-socket-name Переопределяет имя сокета по умолчанию, используемого для связи с клиентами.

Примеры

Посмотрите примеры примеров Qt Wayland Compositor, чтобы узнать, как использовать API для написания пользовательских серверов отображения.

Лицензии и авторские права

Композитор Qt Wayland и плагин интеграции Qt Wayland доступны по коммерческим лицензиям от The Qt Company. Кроме того, они доступны по GNU Lesser General Public License, версии 3 или GNU General Public License, версии 2. Подробнее см. Лицензирование Qt.

Композитор Qt Wayland и плагин интеграции Qt Wayland используют определения протоколов по следующим разрешительным лицензиям:

Протокол Wayland EGLStream Controller

Лицензия MIT

Протокол расширения Wayland IVI, версия 1.9.1

Лицензия MIT

Протокол Wayland, версия 1.6.1

Лицензия HPND

Протокол ввода текста Wayland

Лицензия HPND

Протокол Wayland XDG Output, версия unstable v1, версия 2

Лицензия MIT

Протокол Wayland XDG Shell, версия 1.9.0

Лицензия MIT

Протокол Wayland xdg-decoration, версия unstable v1, версия 1

Лицензия MIT

Справочник API

API композитора Qt Wayland можно использовать с C++ или QML.

  • Типы QML композитора Qt Wayland
  • Классы C++ модуля Qt Wayland Compositor

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtwaylandcompositor-index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API