diff options
Diffstat (limited to 'documentation/overview-manual/overview-concepts.xml')
-rw-r--r-- | documentation/overview-manual/overview-concepts.xml | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/documentation/overview-manual/overview-concepts.xml b/documentation/overview-manual/overview-concepts.xml index 74ce7fd52f..a7d6d2f6fb 100644 --- a/documentation/overview-manual/overview-concepts.xml +++ b/documentation/overview-manual/overview-concepts.xml | |||
@@ -1325,6 +1325,141 @@ | |||
1325 | </para> | 1325 | </para> |
1326 | </section> | 1326 | </section> |
1327 | 1327 | ||
1328 | <section id="wayland"> | ||
1329 | <title>Wayland</title> | ||
1330 | |||
1331 | <para> | ||
1332 | <ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)'>Wayland</ulink> | ||
1333 | is a computer display server protocol that | ||
1334 | provides a method for compositing window managers to communicate | ||
1335 | directly with applications and video hardware and expects them to | ||
1336 | communicate with input hardware using other libraries. | ||
1337 | Using Wayland with supporting targets can result in better control | ||
1338 | over graphics frame rendering than an application might otherwise | ||
1339 | achieve. | ||
1340 | </para> | ||
1341 | |||
1342 | <para> | ||
1343 | The Yocto Project provides the Wayland protocol libraries and the | ||
1344 | reference | ||
1345 | <ulink url='http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)#Weston'>Weston</ulink> | ||
1346 | compositor as part of its release. | ||
1347 | This section describes what you need to do to implement Wayland and | ||
1348 | use the compositor when building an image for a supporting target. | ||
1349 | </para> | ||
1350 | |||
1351 | <section id="wayland-support"> | ||
1352 | <title>Support</title> | ||
1353 | |||
1354 | <para> | ||
1355 | The Wayland protocol libraries and the reference Weston | ||
1356 | compositor ship as integrated packages in the | ||
1357 | <filename>meta</filename> layer of the | ||
1358 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. | ||
1359 | Specifically, you can find the recipes that build both Wayland | ||
1360 | and Weston at | ||
1361 | <filename>meta/recipes-graphics/wayland</filename>. | ||
1362 | </para> | ||
1363 | |||
1364 | <para> | ||
1365 | You can build both the Wayland and Weston packages for use only | ||
1366 | with targets that accept the | ||
1367 | <ulink url='https://en.wikipedia.org/wiki/Mesa_(computer_graphics)'>Mesa 3D and Direct Rendering Infrastructure</ulink>, | ||
1368 | which is also known as Mesa DRI. | ||
1369 | This implies that you cannot build and use the packages if your | ||
1370 | target uses, for example, the | ||
1371 | <trademark class='registered'>Intel</trademark> Embedded Media | ||
1372 | and Graphics Driver | ||
1373 | (<trademark class='registered'>Intel</trademark> EMGD) that | ||
1374 | overrides Mesa DRI. | ||
1375 | <note> | ||
1376 | Due to lack of EGL support, Weston 1.0.3 will not run | ||
1377 | directly on the emulated QEMU hardware. | ||
1378 | However, this version of Weston will run under X emulation | ||
1379 | without issues. | ||
1380 | </note> | ||
1381 | </para> | ||
1382 | </section> | ||
1383 | |||
1384 | <section id="enabling-wayland-in-an-image"> | ||
1385 | <title>Enabling Wayland in an Image</title> | ||
1386 | |||
1387 | <para> | ||
1388 | To enable Wayland, you need to enable it to be built and enable | ||
1389 | it to be included in the image. | ||
1390 | </para> | ||
1391 | |||
1392 | <section id="enable-building"> | ||
1393 | <title>Building</title> | ||
1394 | |||
1395 | <para> | ||
1396 | To cause Mesa to build the <filename>wayland-egl</filename> | ||
1397 | platform and Weston to build Wayland with Kernel Mode | ||
1398 | Setting | ||
1399 | (<ulink url='https://wiki.archlinux.org/index.php/Kernel_Mode_Setting'>KMS</ulink>) | ||
1400 | support, include the "wayland" flag in the | ||
1401 | <ulink url="&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES"><filename>DISTRO_FEATURES</filename></ulink> | ||
1402 | statement in your <filename>local.conf</filename> file: | ||
1403 | <literallayout class='monospaced'> | ||
1404 | DISTRO_FEATURES_append = " wayland" | ||
1405 | </literallayout> | ||
1406 | <note> | ||
1407 | If X11 has been enabled elsewhere, Weston will build | ||
1408 | Wayland with X11 support | ||
1409 | </note> | ||
1410 | </para> | ||
1411 | </section> | ||
1412 | |||
1413 | <section id="enable-installation-in-an-image"> | ||
1414 | <title>Installing</title> | ||
1415 | |||
1416 | <para> | ||
1417 | To install the Wayland feature into an image, you must | ||
1418 | include the following | ||
1419 | <ulink url='&YOCTO_DOCS_REF_URL;#var-CORE_IMAGE_EXTRA_INSTALL'><filename>CORE_IMAGE_EXTRA_INSTALL</filename></ulink> | ||
1420 | statement in your <filename>local.conf</filename> file: | ||
1421 | <literallayout class='monospaced'> | ||
1422 | CORE_IMAGE_EXTRA_INSTALL += "wayland weston" | ||
1423 | </literallayout> | ||
1424 | </para> | ||
1425 | </section> | ||
1426 | </section> | ||
1427 | |||
1428 | <section id="running-weston"> | ||
1429 | <title>Running Weston</title> | ||
1430 | |||
1431 | <para> | ||
1432 | To run Weston inside X11, enabling it as described earlier and | ||
1433 | building a Sato image is sufficient. | ||
1434 | If you are running your image under Sato, a Weston Launcher | ||
1435 | appears in the "Utility" category. | ||
1436 | </para> | ||
1437 | |||
1438 | <para> | ||
1439 | Alternatively, you can run Weston through the command-line | ||
1440 | interpretor (CLI), which is better suited for development work. | ||
1441 | To run Weston under the CLI, you need to do the following after | ||
1442 | your image is built: | ||
1443 | <orderedlist> | ||
1444 | <listitem><para> | ||
1445 | Run these commands to export | ||
1446 | <filename>XDG_RUNTIME_DIR</filename>: | ||
1447 | <literallayout class='monospaced'> | ||
1448 | mkdir -p /tmp/$USER-weston | ||
1449 | chmod 0700 /tmp/$USER-weston | ||
1450 | export XDG_RUNTIME_DIR=/tmp/$USER-weston | ||
1451 | </literallayout> | ||
1452 | </para></listitem> | ||
1453 | <listitem><para> | ||
1454 | Launch Weston in the shell: | ||
1455 | <literallayout class='monospaced'> | ||
1456 | weston | ||
1457 | </literallayout></para></listitem> | ||
1458 | </orderedlist> | ||
1459 | </para> | ||
1460 | </section> | ||
1461 | </section> | ||
1462 | |||
1328 | <section id='x32'> | 1463 | <section id='x32'> |
1329 | <title>x32 psABI</title> | 1464 | <title>x32 psABI</title> |
1330 | 1465 | ||