Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > f171b9b27b527f95603e88add5c7e1b6 > files > 84

qtwayland5-doc-5.12.6-1.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qtwaylandcompositor-overview.qdoc -->
  <title>Qt Wayland Compositor 5.12.6</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.12</td><td >Qt Wayland Compositor</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.12.6 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#features-of-qt-wayland-compositor">Features of Qt Wayland Compositor</a></li>
<li class="level1"><a href="#environment-variables-and-command-line-arguments">Environment Variables and Command-line Arguments</a></li>
<li class="level1"><a href="#examples">Examples</a></li>
<li class="level1"><a href="#licenses-and-attributions">Licenses and Attributions</a></li>
<li class="level1"><a href="#api-reference">API Reference</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Qt Wayland Compositor</h1>
<span class="subtitle"></span>
<!-- $$$qtwaylandcompositor-index.html-description -->
<div class="descr"> <a name="details"></a>
<p><a href="https://wayland.freedesktop.org/">Wayland</a> 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.</p>
<p>Compared to a system with a single-process design, a multi-process system gives several benefits:</p>
<ul>
<li>Easier resource management, through the regular operating system mechanisms.</li>
<li>Better security, as each application can run with its own permissions or sandbox.</li>
<li>Clearer separation of application UI and compositor UI, so each can be modified independently.</li>
</ul>
<p>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.</p>
<p>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.</p>
<p>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 <a href="https://www.qt.io/qt-automotive-suite/">Qt Automotive Suite</a> provides a complete application manager which includes a display server developed using Qt Wayland Compositor.</p>
<a name="features-of-qt-wayland-compositor"></a>
<h2 id="features-of-qt-wayland-compositor">Features of Qt Wayland Compositor</h2>
<p>The Qt Wayland Compositor API includes features needed to create a display server.</p>
<ul>
<li>A QML API that can be used to display and manipulate client content, fully integrated with all the features in Qt Quick.</li>
<li>A C++ API for low-level access and control.</li>
<li>Support for common extensions, including XDG Shell and IVI Application.</li>
<li>APIs to easily expand support to include custom extensions.</li>
</ul>
<a name="environment-variables-and-command-line-arguments"></a>
<h2 id="environment-variables-and-command-line-arguments">Environment Variables and Command-line Arguments</h2>
<p>The Qt Wayland Compositor API recognizes some environment variables and command-line arguments that can be used to customize its behavior.</p>
<ul>
<li>Environment variables:<ul>
<li><b>QT_WAYLAND_HARDWARE_INTEGRATION</b> Selects the hardware integration plugin to use.</li>
<li><b>QT_WAYLAND_CLIENT_BUFFER_INTEGRATION</b> Selects the client buffer integration plugin to use.</li>
<li><b>QT_WAYLAND_SERVER_BUFFER_INTEGRATION</b> Selects the server integration plugin to use.</li>
</ul>
</li>
<li>Command-line arguments:<ul>
<li><code>--wayland-socket-name</code> Overrides the default socket name used for communicating with clients.</li>
</ul>
</li>
</ul>
<a name="examples"></a>
<h2 id="examples">Examples</h2>
<p>Take a look at the <a href="qtwaylandcompositor-examples.html">Qt Wayland Compositor Examples</a> for a demonstration on how the APIs can be used to write custom display servers.</p>
<a name="licenses-and-attributions"></a>
<h2 id="licenses-and-attributions">Licenses and Attributions</h2>
<p>Qt Wayland Compositor and the Qt Wayland integration plugin are available under commercial licenses from The Qt Company. In addition, they are available under the GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.</p>
<p>Qt Wayland Compositor and the Qt Wayland integration plugin use protocol definitions under following permissive licenses:</p>
<div class="table"><table class="annotated">
<tr class="odd topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-eglstream-controller.html">Wayland EGLStream Controller Protocol</a></p></td><td class="tblDescr"><p>MIT License</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-ivi-extension-protocol.html">Wayland IVI Extension Protocol, version 1.9&#x2e;1</a></p></td><td class="tblDescr"><p>MIT License</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-protocol.html">Wayland Protocol, version 1.6&#x2e;1</a></p></td><td class="tblDescr"><p>HPND License</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-txt-input-unstable.html">Wayland Text Input Protocol</a></p></td><td class="tblDescr"><p>HPND License</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-xdg-output-protocol.html">Wayland XDG Output Protocol, version unstable v1, version 2</a></p></td><td class="tblDescr"><p>MIT License</p></td></tr>
<tr class="even topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-xdg-shell-protocol.html">Wayland XDG Shell Protocol, version 1.9&#x2e;0</a></p></td><td class="tblDescr"><p>MIT License</p></td></tr>
<tr class="odd topAlign"><td class="tblName"><p><a href="qtwaylandcompositor-attribution-wayland-xdg-decoration-protocol.html">Wayland xdg-decoration Protocol, version unstable v1, version 1</a></p></td><td class="tblDescr"><p>MIT License</p></td></tr>
</table></div>
<a name="api-reference"></a>
<h2 id="api-reference">API Reference</h2>
<p>The Qt Wayland Compositor API can be used from C++ or QML.</p>
<ul>
<li><a href="qtwayland-compositor-qmlmodule.html">Qt Wayland Compositor QML Types</a></li>
<li><a href="qtwaylandcompositor-module.html">Qt Wayland Compositor C++ Classes</a></li>
</ul>
</div>
<!-- @@@qtwaylandcompositor-index.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>