diff options
Diffstat (limited to 'src/compositor/doc/src/qtwaylandcompositor-overview.qdoc')
-rw-r--r-- | src/compositor/doc/src/qtwaylandcompositor-overview.qdoc | 56 |
1 files changed, 52 insertions, 4 deletions
diff --git a/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc b/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc index 1c3cc13ce..6be6444cc 100644 --- a/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc +++ b/src/compositor/doc/src/qtwaylandcompositor-overview.qdoc @@ -30,10 +30,58 @@ \title Qt Wayland Compositor \brief An API to develop display servers supporting the Wayland protocol - Qt Wayland Compositor is a module that provides QML and C++ APIs for - developing custom display servers based on the - \l{http://wayland.freedesktop.org}{Wayland protocol}. The server displays - content from client applications that support the Wayland protocol. + \l {https://wayland.freedesktop.org/} {Wayland} is a display server + protocol to help in creating multi-process systems, where multiple client + applications may render content on the same display, by going via + a compositor process. + + Compared to a system with a single-process design, a multi-process system + gives several benefits: + + \list + \li Easier resource management, through the regular operating system mechanisms. + \li Better security, as each application can run with its own permissions or + sandbox. + \li Clearer separation of application UI and compositor UI, so each + can be modified independently. + \endlist + + In a typical Wayland-based system, multiple client processes will render their + own contents to off-screen buffers. The information about these buffers will + then be passed to a display server process by using the Wayland protocol. + Finally, the display server process will composite and position the contents + on a physical display. + + Qt Wayland Compositor is a module that provides convenient and powerful + QML and C++ APIs for developing custom display servers based on this protocol. + The server displays content from client applications that support the Wayland + protocol. The design philosophy of Wayland is to keep the core protocol simple + and minimal, and to expand on this with use-case-specific extensions. Qt Wayland + Compositor supports many common extensions by default, and also has APIs that + enables the creation of new, custom extensions. + + In one typical use case, a display server written with Qt Wayland Compositor will + be a subsystem inside a larger application manager process. Qt Wayland Compositor + provides the APIs to communicate with clients and display their contents on screen, + using C++ for low-level access and the full set of Qt Quick effects, animations and + convenience when using the QML APIs. A typical application manager would, in addition + to this, implement features such as application life cycle, virtual keyboard input, + security and IPC. Qt provides APIs that can be used to develop the remaining parts + of an application manager in other modules. The \l {https://www.qt.io/qt-automotive-suite/} + {Qt Automotive Suite} provides a complete application manager which includes a + display server developed using Qt Wayland Compositor. + + \section1 Features of Qt Wayland Compositor + + The Qt Wayland Compositor API includes features needed to create a display server. + + \list + \li A QML API that can be used to display and manipulate client content, fully + integrated with all the features in Qt Quick. + \li A C++ API for low-level access and control. + \li Support for common extensions, including XDG Shell and IVI Application. + \li APIs to easily expand support to include custom extensions. + \endlist \section1 Environment Variables and Command-line Arguments |