diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-05-14 14:33:45 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-05-24 17:16:34 +0100 |
| commit | 88c6050ad28229231965017b64de40b086e6b4d1 (patch) | |
| tree | c1994306c27fd5e344eea136fef99127d4d593b1 /documentation/dev-manual | |
| parent | c72b126bc0dc8377998988905b4311a10f0d3a8b (diff) | |
| download | poky-88c6050ad28229231965017b64de40b086e6b4d1.tar.gz | |
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>
Diffstat (limited to 'documentation/dev-manual')
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 5f7b66e411..11eb274965 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -13871,6 +13871,136 @@ Some notes from Cal: | |||
| 13871 | </para> | 13871 | </para> |
| 13872 | </section> | 13872 | </section> |
| 13873 | </section> | 13873 | </section> |
| 13874 | |||
| 13875 | <section id="dev-using-wayland-and-weston"> | ||
| 13876 | <title>Using Wayland and Weston</title> | ||
| 13877 | |||
| 13878 | <para> | ||
| 13879 | <ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)'>Wayland</ulink> | ||
| 13880 | is a computer display server protocol that | ||
| 13881 | provides a method for compositing window managers to communicate | ||
| 13882 | directly with applications and video hardware and expects them to | ||
| 13883 | communicate with input hardware using other libraries. | ||
| 13884 | Using Wayland with supporting targets can result in better control | ||
| 13885 | over graphics frame rendering than an application might otherwise | ||
| 13886 | achieve. | ||
| 13887 | </para> | ||
| 13888 | |||
| 13889 | <para> | ||
| 13890 | The Yocto Project provides the Wayland protocol libraries and the | ||
| 13891 | reference | ||
| 13892 | <ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston'>Weston</ulink> | ||
| 13893 | compositor as part of its release. | ||
| 13894 | You can find the integrated packages in the | ||
| 13895 | <filename>meta</filename> layer of the | ||
| 13896 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
| 13897 | Specifically, you can find the recipes that build both Wayland | ||
| 13898 | and Weston at <filename>meta/recipes-graphics/wayland</filename>. | ||
| 13899 | </para> | ||
| 13900 | |||
| 13901 | <para> | ||
| 13902 | You can build both the Wayland and Weston packages for use only | ||
| 13903 | with targets that accept the | ||
| 13904 | <ulink url='https://en.wikipedia.org/wiki/Mesa_(computer_graphics)'>Mesa 3D and Direct Rendering Infrastructure</ulink>, | ||
| 13905 | which is also known as Mesa DRI. | ||
| 13906 | This implies that you cannot build and use the packages if your | ||
| 13907 | target uses, for example, the | ||
| 13908 | <trademark class='registered'>Intel</trademark> Embedded Media | ||
| 13909 | and Graphics Driver | ||
| 13910 | (<trademark class='registered'>Intel</trademark> EMGD) that | ||
| 13911 | overrides Mesa DRI. | ||
| 13912 | <note> | ||
| 13913 | Due to lack of EGL support, Weston 1.0.3 will not run | ||
| 13914 | directly on the emulated QEMU hardware. | ||
| 13915 | However, this version of Weston will run under X emulation | ||
| 13916 | without issues. | ||
| 13917 | </note> | ||
| 13918 | </para> | ||
| 13919 | |||
| 13920 | <para> | ||
| 13921 | This section describes what you need to do to implement Wayland and | ||
| 13922 | use the Weston compositor when building an image for a supporting | ||
| 13923 | target. | ||
| 13924 | </para> | ||
| 13925 | |||
| 13926 | <section id="enabling-wayland-in-an-image"> | ||
| 13927 | <title>Enabling Wayland in an Image</title> | ||
| 13928 | |||
| 13929 | <para> | ||
| 13930 | To enable Wayland, you need to enable it to be built and enable | ||
| 13931 | it to be included (installed) in the image. | ||
| 13932 | </para> | ||
| 13933 | |||
| 13934 | <section id="enable-building"> | ||
| 13935 | <title>Building</title> | ||
| 13936 | |||
| 13937 | <para> | ||
| 13938 | To cause Mesa to build the <filename>wayland-egl</filename> | ||
| 13939 | platform and Weston to build Wayland with Kernel Mode | ||
| 13940 | Setting | ||
| 13941 | (<ulink url='https://wiki.archlinux.org/index.php/Kernel_Mode_Setting'>KMS</ulink>) | ||
| 13942 | support, include the "wayland" flag in the | ||
| 13943 | <ulink url="&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES"><filename>DISTRO_FEATURES</filename></ulink> | ||
| 13944 | statement in your <filename>local.conf</filename> file: | ||
| 13945 | <literallayout class='monospaced'> | ||
| 13946 | DISTRO_FEATURES_append = " wayland" | ||
| 13947 | </literallayout> | ||
| 13948 | <note> | ||
| 13949 | If X11 has been enabled elsewhere, Weston will build | ||
| 13950 | Wayland with X11 support | ||
| 13951 | </note> | ||
| 13952 | </para> | ||
| 13953 | </section> | ||
| 13954 | |||
| 13955 | <section id="enable-installation-in-an-image"> | ||
| 13956 | <title>Installing</title> | ||
| 13957 | |||
| 13958 | <para> | ||
| 13959 | To install the Wayland feature into an image, you must | ||
| 13960 | include the following | ||
| 13961 | <ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'><filename>CORE_IMAGE_EXTRA_INSTALL</filename></ulink> | ||
| 13962 | statement in your <filename>local.conf</filename> file: | ||
| 13963 | <literallayout class='monospaced'> | ||
| 13964 | CORE_IMAGE_EXTRA_INSTALL += "wayland weston" | ||
| 13965 | </literallayout> | ||
| 13966 | </para> | ||
| 13967 | </section> | ||
| 13968 | </section> | ||
| 13969 | |||
| 13970 | <section id="running-weston"> | ||
| 13971 | <title>Running Weston</title> | ||
| 13972 | |||
| 13973 | <para> | ||
| 13974 | To run Weston inside X11, enabling it as described earlier and | ||
| 13975 | building a Sato image is sufficient. | ||
| 13976 | If you are running your image under Sato, a Weston Launcher | ||
| 13977 | appears in the "Utility" category. | ||
| 13978 | </para> | ||
| 13979 | |||
| 13980 | <para> | ||
| 13981 | Alternatively, you can run Weston through the command-line | ||
| 13982 | interpretor (CLI), which is better suited for development work. | ||
| 13983 | To run Weston under the CLI, you need to do the following after | ||
| 13984 | your image is built: | ||
| 13985 | <orderedlist> | ||
| 13986 | <listitem><para> | ||
| 13987 | Run these commands to export | ||
| 13988 | <filename>XDG_RUNTIME_DIR</filename>: | ||
| 13989 | <literallayout class='monospaced'> | ||
| 13990 | mkdir -p /tmp/$USER-weston | ||
| 13991 | chmod 0700 /tmp/$USER-weston | ||
| 13992 | export XDG_RUNTIME_DIR=/tmp/$USER-weston | ||
| 13993 | </literallayout> | ||
| 13994 | </para></listitem> | ||
| 13995 | <listitem><para> | ||
| 13996 | Launch Weston in the shell: | ||
| 13997 | <literallayout class='monospaced'> | ||
| 13998 | weston | ||
| 13999 | </literallayout></para></listitem> | ||
| 14000 | </orderedlist> | ||
| 14001 | </para> | ||
| 14002 | </section> | ||
| 14003 | </section> | ||
| 13874 | </chapter> | 14004 | </chapter> |
| 13875 | 14005 | ||
| 13876 | <!-- | 14006 | <!-- |
