mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 18:32:12 +02:00
overview-manual, dev-manual: Moved Wayland and Weston
The Wayland and Weston topic moved from the overview-manual to the dev-manual. The topic was really a "how-to" topic and not a concepts topic. (From yocto-docs rev: b0f20a67c99590c48d595f4e572339bb5b6b83b3) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
4e2918d17e
commit
f98348164a
@@ -13871,6 +13871,136 @@ Some notes from Cal:
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="dev-using-wayland-and-weston">
|
||||
<title>Using Wayland and Weston</title>
|
||||
|
||||
<para>
|
||||
<ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)'>Wayland</ulink>
|
||||
is a computer display server protocol that
|
||||
provides a method for compositing window managers to communicate
|
||||
directly with applications and video hardware and expects them to
|
||||
communicate with input hardware using other libraries.
|
||||
Using Wayland with supporting targets can result in better control
|
||||
over graphics frame rendering than an application might otherwise
|
||||
achieve.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The Yocto Project provides the Wayland protocol libraries and the
|
||||
reference
|
||||
<ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston'>Weston</ulink>
|
||||
compositor as part of its release.
|
||||
You can find the integrated packages in the
|
||||
<filename>meta</filename> layer of the
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
|
||||
Specifically, you can find the recipes that build both Wayland
|
||||
and Weston at <filename>meta/recipes-graphics/wayland</filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You can build both the Wayland and Weston packages for use only
|
||||
with targets that accept the
|
||||
<ulink url='https://en.wikipedia.org/wiki/Mesa_(computer_graphics)'>Mesa 3D and Direct Rendering Infrastructure</ulink>,
|
||||
which is also known as Mesa DRI.
|
||||
This implies that you cannot build and use the packages if your
|
||||
target uses, for example, the
|
||||
<trademark class='registered'>Intel</trademark> Embedded Media
|
||||
and Graphics Driver
|
||||
(<trademark class='registered'>Intel</trademark> EMGD) that
|
||||
overrides Mesa DRI.
|
||||
<note>
|
||||
Due to lack of EGL support, Weston 1.0.3 will not run
|
||||
directly on the emulated QEMU hardware.
|
||||
However, this version of Weston will run under X emulation
|
||||
without issues.
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This section describes what you need to do to implement Wayland and
|
||||
use the Weston compositor when building an image for a supporting
|
||||
target.
|
||||
</para>
|
||||
|
||||
<section id="enabling-wayland-in-an-image">
|
||||
<title>Enabling Wayland in an Image</title>
|
||||
|
||||
<para>
|
||||
To enable Wayland, you need to enable it to be built and enable
|
||||
it to be included (installed) in the image.
|
||||
</para>
|
||||
|
||||
<section id="enable-building">
|
||||
<title>Building</title>
|
||||
|
||||
<para>
|
||||
To cause Mesa to build the <filename>wayland-egl</filename>
|
||||
platform and Weston to build Wayland with Kernel Mode
|
||||
Setting
|
||||
(<ulink url='https://wiki.archlinux.org/index.php/Kernel_Mode_Setting'>KMS</ulink>)
|
||||
support, include the "wayland" flag in the
|
||||
<ulink url="&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES"><filename>DISTRO_FEATURES</filename></ulink>
|
||||
statement in your <filename>local.conf</filename> file:
|
||||
<literallayout class='monospaced'>
|
||||
DISTRO_FEATURES_append = " wayland"
|
||||
</literallayout>
|
||||
<note>
|
||||
If X11 has been enabled elsewhere, Weston will build
|
||||
Wayland with X11 support
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="enable-installation-in-an-image">
|
||||
<title>Installing</title>
|
||||
|
||||
<para>
|
||||
To install the Wayland feature into an image, you must
|
||||
include the following
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'><filename>CORE_IMAGE_EXTRA_INSTALL</filename></ulink>
|
||||
statement in your <filename>local.conf</filename> file:
|
||||
<literallayout class='monospaced'>
|
||||
CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
|
||||
</literallayout>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="running-weston">
|
||||
<title>Running Weston</title>
|
||||
|
||||
<para>
|
||||
To run Weston inside X11, enabling it as described earlier and
|
||||
building a Sato image is sufficient.
|
||||
If you are running your image under Sato, a Weston Launcher
|
||||
appears in the "Utility" category.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Alternatively, you can run Weston through the command-line
|
||||
interpretor (CLI), which is better suited for development work.
|
||||
To run Weston under the CLI, you need to do the following after
|
||||
your image is built:
|
||||
<orderedlist>
|
||||
<listitem><para>
|
||||
Run these commands to export
|
||||
<filename>XDG_RUNTIME_DIR</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
mkdir -p /tmp/$USER-weston
|
||||
chmod 0700 /tmp/$USER-weston
|
||||
export XDG_RUNTIME_DIR=/tmp/$USER-weston
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Launch Weston in the shell:
|
||||
<literallayout class='monospaced'>
|
||||
weston
|
||||
</literallayout></para></listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -3227,141 +3227,6 @@
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="wayland">
|
||||
<title>Wayland</title>
|
||||
|
||||
<para>
|
||||
<ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)'>Wayland</ulink>
|
||||
is a computer display server protocol that
|
||||
provides a method for compositing window managers to communicate
|
||||
directly with applications and video hardware and expects them to
|
||||
communicate with input hardware using other libraries.
|
||||
Using Wayland with supporting targets can result in better control
|
||||
over graphics frame rendering than an application might otherwise
|
||||
achieve.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The Yocto Project provides the Wayland protocol libraries and the
|
||||
reference
|
||||
<ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston'>Weston</ulink>
|
||||
compositor as part of its release.
|
||||
This section describes what you need to do to implement Wayland and
|
||||
use the compositor when building an image for a supporting target.
|
||||
</para>
|
||||
|
||||
<section id="wayland-support">
|
||||
<title>Support</title>
|
||||
|
||||
<para>
|
||||
The Wayland protocol libraries and the reference Weston
|
||||
compositor ship as integrated packages in the
|
||||
<filename>meta</filename> layer of the
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
|
||||
Specifically, you can find the recipes that build both Wayland
|
||||
and Weston at
|
||||
<filename>meta/recipes-graphics/wayland</filename>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You can build both the Wayland and Weston packages for use only
|
||||
with targets that accept the
|
||||
<ulink url='https://en.wikipedia.org/wiki/Mesa_(computer_graphics)'>Mesa 3D and Direct Rendering Infrastructure</ulink>,
|
||||
which is also known as Mesa DRI.
|
||||
This implies that you cannot build and use the packages if your
|
||||
target uses, for example, the
|
||||
<trademark class='registered'>Intel</trademark> Embedded Media
|
||||
and Graphics Driver
|
||||
(<trademark class='registered'>Intel</trademark> EMGD) that
|
||||
overrides Mesa DRI.
|
||||
<note>
|
||||
Due to lack of EGL support, Weston 1.0.3 will not run
|
||||
directly on the emulated QEMU hardware.
|
||||
However, this version of Weston will run under X emulation
|
||||
without issues.
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="enabling-wayland-in-an-image">
|
||||
<title>Enabling Wayland in an Image</title>
|
||||
|
||||
<para>
|
||||
To enable Wayland, you need to enable it to be built and enable
|
||||
it to be included in the image.
|
||||
</para>
|
||||
|
||||
<section id="enable-building">
|
||||
<title>Building</title>
|
||||
|
||||
<para>
|
||||
To cause Mesa to build the <filename>wayland-egl</filename>
|
||||
platform and Weston to build Wayland with Kernel Mode
|
||||
Setting
|
||||
(<ulink url='https://wiki.archlinux.org/index.php/Kernel_Mode_Setting'>KMS</ulink>)
|
||||
support, include the "wayland" flag in the
|
||||
<ulink url="&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES"><filename>DISTRO_FEATURES</filename></ulink>
|
||||
statement in your <filename>local.conf</filename> file:
|
||||
<literallayout class='monospaced'>
|
||||
DISTRO_FEATURES_append = " wayland"
|
||||
</literallayout>
|
||||
<note>
|
||||
If X11 has been enabled elsewhere, Weston will build
|
||||
Wayland with X11 support
|
||||
</note>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="enable-installation-in-an-image">
|
||||
<title>Installing</title>
|
||||
|
||||
<para>
|
||||
To install the Wayland feature into an image, you must
|
||||
include the following
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'><filename>CORE_IMAGE_EXTRA_INSTALL</filename></ulink>
|
||||
statement in your <filename>local.conf</filename> file:
|
||||
<literallayout class='monospaced'>
|
||||
CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
|
||||
</literallayout>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="running-weston">
|
||||
<title>Running Weston</title>
|
||||
|
||||
<para>
|
||||
To run Weston inside X11, enabling it as described earlier and
|
||||
building a Sato image is sufficient.
|
||||
If you are running your image under Sato, a Weston Launcher
|
||||
appears in the "Utility" category.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Alternatively, you can run Weston through the command-line
|
||||
interpretor (CLI), which is better suited for development work.
|
||||
To run Weston under the CLI, you need to do the following after
|
||||
your image is built:
|
||||
<orderedlist>
|
||||
<listitem><para>
|
||||
Run these commands to export
|
||||
<filename>XDG_RUNTIME_DIR</filename>:
|
||||
<literallayout class='monospaced'>
|
||||
mkdir -p /tmp/$USER-weston
|
||||
chmod 0700 /tmp/$USER-weston
|
||||
export XDG_RUNTIME_DIR=/tmp/$USER-weston
|
||||
</literallayout>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Launch Weston in the shell:
|
||||
<literallayout class='monospaced'>
|
||||
weston
|
||||
</literallayout></para></listitem>
|
||||
</orderedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="overview-licenses">
|
||||
<title>Licenses</title>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user