Clever Geek Handbook
📜 ⬆️ ⬇️

Wayland

Wayland is a protocol for organizing a graphics server on Linux and other UNIX-like operating systems . Wayland development was started by Christian Hogsberg ( Dat. Kristian Høgsberg ), at that time an employee of Red Hat , now a member of the Intel Open Technology Center [6] . Wayland is free software [7] [8] [9] . The name comes from the city of Wayland , when Hogsberg was traveling through this city, he came up with the concept of the system [10] .

Wayland
Type of
Written on
operating system
First edition
Latest version
License
Site

Content

Basic Principles

 
The Wayland display server protocol relys on EGL
 

According to the developers, Wayland is the “work on the bugs” of X.org , which have accumulated over a quarter century of its development. The fundamental difference from X.org is that Wayland only manages the buffers (planes) of windows and assigns all rendering of their contents to tool packages ( GTK , Qt, and so on). The drawing API is completely missing. All versions of the protocol are strictly defined, and versioning itself is thought out. X.org has a serious problem with versions of different extensions that often overlap or complement, rather than being self-contained and exclusive. The buffer composition function is performed by the Weston reference composite manager, using both OpenGL ES and software rendering. Wayland also includes a unified input device protocol that provides one virtual keyboard, one virtual mouse, and one tablet interface — shared by all applications. Wayland knows about the status of input devices and is able to remember them: X.org does not save device status (stateless protocol), but can be configured through configuration files.

About Wayland, its creator responds as follows: “Wayland is a new graphics server that performs only a tiny fraction of the X functions that we actually use when we launch the composite desktop. Wayland is essentially a buffer manager (like DRI2 for X.org ), an input handler. All rendering is done on the client side - the way OpenGL works today, and mode setting and other hardware settings are performed in the kernel. This approach greatly simplifies the organization of the server. "

Wayland uses existing technologies in the Linux kernel , such as Kernel mode-setting (KMS), Direct Rendering Manager (DRM) and Graphics Execution Manager (GEM).

Weston

Weston is the reference implementation of Wayland Composite Manager. It is written in C , it was first published under the GPLv2 license, later it was released under MIT . Weston was originally created under the Linux kernel API, so it officially only supports working with the Linux kernel due to its dependence on KMS, GEM, and udev .

Weston uses GEM to exchange buffers between the graphics server and applications. It can use OpenGL , cairo and pixman for rendering [11] .

Usage

Mark Shuttleworth announced on his blog that Ubuntu will use Wayland instead of X.org for its Unity desktop environment [12] . However, on March 4, 2013, Canonical developers decided to write their own graphics server, called Mir [13] . On April 5, 2017, they abandoned Mir and Unity in favor of Wayland and GNOME [14] .

Starting with version 25, Fedora has a Wayland-based GNOME desktop environment by default.

X.org Compatibility

Xwayland [15] was developed, which allows X11 applications to work on top of Wayland. Similarly to X.org, applications run under the native Mac OS X environment.

Releases

Key releases of Wayland / Weston [16]
VersiondateKey changes to WaylandKey changes at Weston
0.85Feb 9, 2012 [17]First release.
0.95Jul 24, 2012 [18]Start of stabilization API.
1.0October 22, 2012 [19] [20]Stabilization of the client API.
1.1Apr 15, 2013 [21] [22]Software rendering [23] .
1.2Jul 12, 2013 [24] [25]Stabilization of the server API.Color management tools. A protocol for manipulating subsurfaces and surface groups. The backend for the Raspberry Pi.
1.3Oct 11, 2013 [26]New pixel formats for wl_shm. Support for high-level language binders.Android support with Hybris.
1.4Jan 23, 2014 [27]New wl_subcompositor and wl_subsurface interfaces.Support for framebuffer formats other than XRGB8888. Superuser privileges are now optional due to the use of logind from systemd.
1.5May 20, 2014 [28]libinput Fullscreen shell.
1.6Sep 19, 2014 [29]libinput by default.
1.7Feb 14, 2015 [30] [31]Xdg-shell interface.
1.8June 2, 2015 [32] [33] [34]The client and server header files are divided into basic components and generated protocols.Scheduled redraw support.
API for capturing surface content
Testing of the shell for infotainment systems (IVI) has begun; a screen layout for IVI has been added.
1.9September 21, 2015 [35] [36] [37]License updated.License updated. A preliminary implementation of the libweston library, which contains Weston internal functionality code.
A new linux_dmabuf extension has been added that provides a means for directly outputting (zero-copy) video to the screen.
1.10February 17, 2016 [38] [39]Support for drag-and-drop events from grouped pointersSupport for Video 4 Linux 2. Input from touch screens. Debugging Tools Improvement
1.11June 1, 2016 [40] [41]New service boot procedure, new installation logicProxy wrappers, changing shared memory interfaces, Doxygen-generated HTML documentation
1.12September 21, 2016 [42]Debugging support improvementsSeparation into libweston and libwestond-desktop. Capture and restrict the pointer. Relative pointer support.
1.13February 24, 2017 [43] [44] [45]Change ABI Weston. The new version has a serial number of 2.0, not 1.13
1.14August 8, 2017 [46] [47] [48]Change of Weston version number to 3.0 due to ABI changes that violate compatibility
1.15April 10, 2018 [49] [50] [51]Changing Weston version number to 4.0 due to ABI compatibility issues

Legend:

     Future version      Current version      Supported by      Not supported

Development

GENIVI Alliance
The GENIVI automobile consortium, whose goal is to create a platform for the IVI industry, supports Wayland [52] .
Maliit
Maliit, an input system framework, runs under Wayland [53] [54] [55] .
Mesa
Mesa has built-in Wayland support [56] .
Sailfish OS
The first Jolla phone uses Wayland [57] [58] [59] .
Tizen
Tizen supported Wayland in IVI setups up to and including 2.x versions [60] , and since version 3.0 it uses Wayland [61] by default.

Planned Support

Ubuntu
Canonical , the owner of Ubuntu, has hired Sam Spilsbury [62] , the chief developer of Compiz . It will move X11 dependencies into a separate plugin [63] . Canonical plans to port Compiz to OpenGL ES, which is required to work with Wayland [64] .
Fedora
Fedora has been shipping Wayland since its seventeenth version [65] . Fedora developer Matthias Klasen announced in March 2013 a plan that Wayland should become the default windowing system in Fedora 21 [66] . Fedora 20 provides a preliminary implementation of GNOME 3.10 on Wayland [67] [68] .
GNOME
In March 2013 , GNOME developers announced their plans for full Wayland support in a year [69] . GNOME 3.10 has initial support [70] [71] .
Kde
KWin , the KDE window manager, received support for OpenGL ES [72] in version 4.7 [73] . In January 2013 , KWin chief developer Martin Grasslin began working for Blue Systems , where one of his main goals was to achieve full support for Wayland [74] . Wayland experimental support is already in KWin 4.11 [75] .
Raspberry pi
The Raspberry Pi Foundation is working with Collabora [76] to improve performance and memory consumption, but does not intend to replace X11 with Wayland until the end of 2013 [77] .

Toolkits

  • Clutter fully supports Wayland [78] .
  • Enlightenment Foundation Libraries fully supports Wayland [79] .
  • GTK + 3.10 (released September 23, 2013) fully supports Wayland 1.2, including client-side decoration required by Weston [80] [81] .
  • Qt 5 fully supports Wayland, including client-side decoration, which is required for Weston (and not KWin).
  • Wayland experimental support was added to the SDL in version 2.0.2 [82] [83] .

Notes

  1. ↑ https://wayland.freedesktop.org/releases.html
  2. ↑ https://lists.freedesktop.org/archives/wayland-devel/2019-March/040335.html
  3. ↑ https://github.com/wayland-project/wayland/releases/tag/1.17.0 - 2019.
  4. ↑ The wayland Open Source Project on Open Hub: Languages ​​Page - 2006.
    <a href=" https://wikidata.org/wiki/Track:Q124688 "> </a> <a href=" https://wikidata.org/wiki/Track:P1972 "> </a>
  5. ↑ COPYING // GitHub - 2008.
    <a href=" https://wikidata.org/wiki/Track:Q364 "> </a>
  6. ↑ Høgsberg, Kristian EGL and GLES1 / 2 on Linux . Linux Plumbers Conference, 2010.
  7. ↑ Official site
  8. ↑ Michael Larabel (November 03, 2008) Wayland: A New X Server For Linux
  9. ↑ Kristian Høgsberg. Wayland license clarification . Wayland-devel mailing list (November 22, 2010). Date of treatment November 23, 2010.
  10. ↑ Evan Jenkins. The Linux graphics stack from X to Wayland . Ars Technica (March 2011).
  11. ↑ README file from the Wayland source code repository
  12. ↑ Mark Shuttleworth . Unity on Wayland Mark Shuttleworth (November 4, 2010). Date of treatment November 4, 2010. Archived August 24, 2011.
  13. ↑ Oliver Ries. Taking Unity to the next level . Ubuntu-devel mailing list (Mar 4 2013).
  14. ↑ Ubuntu Unity is dead: Desktop will switch back to GNOME next year (unspecified) .
  15. ↑ Corentin Chary. Introducing xwayland and xf86-video-wlshm (English) (June 21, 2011). - "This driver really make things easy to test, since you don't need any specific hardware ....".
  16. ↑ Wayland . Wayland.freedesktop.org. Date of treatment July 15, 2013.
  17. ↑ Høgsberg, Kristian [ANNOUNCE Wayland and Weston 0.85.0 released] . Wayland mailing list (February 9, 2011). Date of treatment June 8, 2013.
  18. ↑ Høgsberg, Kristian Wayland and Weston 0.95.0 released . Wayland mailing list (24 July 2012). Date of treatment July 14, 2013.
  19. ↑ Høgsberg, Kristian Wayland and Weston 1.0 . Wayland mailing list (October 22, 2012). Date of treatment July 14, 2013.
  20. ↑ Scherschel, Fabian Wayland's 1.0 milestone fixes graphics protocol . The H - Open . Heinz Heise (October 23, 2013). Date of treatment July 14, 2013.
  21. ↑ Larabel, Michael Wayland 1.1 Officially Released With Weston 1.1 (neopr.) . Phoronix (April 16, 2013). Date of treatment July 14, 2013.
  22. ↑ 1.1 Released freedesktop.org. Date of treatment July 18, 2013.
  23. ↑ Larabel, Michael A Software-Based Pixman Renderer For Wayland's Weston . Phoronix (January 6, 2013). Date of treatment July 14, 2013.
  24. ↑ Larabel, Michael Wayland 1.2.0 Released, Joined By Weston Compositor (neopr.) . Phoronix (July 13, 2013). Date of treatment July 14, 2013.
  25. ↑ Wayland and Weston 1.2.0 released . Lists.freedesktop.org (June 28, 2013). Date of treatment July 18, 2013.
  26. ↑ Wayland and Weston 1.3 release notes (English) (October 11, 2013).
  27. ↑ Høgsberg, Kristian Wayland and Weston 1.4 is out (neopr.) . Wayland mailing list (24 January 2014).
  28. ↑ Høgsberg, Kristian Wayland and Weston 1.5.0 is released (neopr.) . Wayland mailing list (May 20, 2014).
  29. ↑ Høgsberg, Kristian Wayland and Weston 1.6.0 is released (neopr.) . Wayland mailing list (Feb 19, 2014).
  30. ↑ ANNOUNCE wayland 1.7.0 ( unopened ) . wayland-devel mailing list (February 14, 2015).
  31. ↑ ANNOUNCE weston 1.7.0 ( unopened ) . wayland-devel mailing list (February 14, 2015).
  32. ↑ Harrington, Bryce ANNOUNCE wayland 1.8.0 . wayland-devel mailing list (2 June 2015).
  33. ↑ Harrington, Bryce ANNOUNCE weston 1.8.0 . wayland-devel mailing list (2 June 2015).
  34. ↑ Wayland 1.8 - OpenSource - News (Neopr.) .
  35. ↑ Harrington, Bryce [ANNOUNCE wayland 1.9.0] ( unspecified ) . Wayland-devel mailing list (September 21, 2015).
  36. ↑ Harrington, Bryce [ANNOUNCE weston 1.9.0] ( unspecified ) . Wayland-devel mailing list (September 21, 2015).
  37. ↑ Wayland 1.9 - OpenSource - linux.org.ru news
  38. ↑ Wayland 1.10 Officially Released (unopened) . Phoronix.com (February 16, 2016). Date of treatment April 17, 2016.
  39. ↑ Wayland 1.10 - OpenSource - linux.org.ru news
  40. ↑ Harrington, Bryce [ANNOUNCE weston 1.11.0] ( unspecified ) . Wayland-devel mailing list (June 1, 2016). Date of treatment June 1, 2016.
  41. ↑ Wayland 1.11 - OpenSource - linux.org.ru news
  42. ↑ Harrington, Bryce [ANNOUNCE wayland 1.12.0] ( unspecified ) . Wayland-devel mailing list (September 21, 2016). Date of appeal September 21, 2016.
  43. ↑ Harrington, Bryce [ANNOUNCE wayland 1.13.0] ( unspecified ) . Wayland-devel mailing list (February 21, 2017). Date of appeal April 30, 2017.
  44. ↑ Harrington, Bryce [ANNOUNCE weston 2.0.0] (unspecified) . Wayland-devel mailing list (February 25, 2017). Date of appeal April 30, 2017.
  45. ↑ Weston 2.0 release - OpenSource - linux.org.ru news
  46. ↑ Bryce Harrington. [ANNOUNCE wayland 1.14.0] ( unspecified ) (August 8, 2017). Date of appeal April 10, 2018.
  47. ↑ Bryce Harrington. [ANNOUNCE weston 3.0.0] (unspecified) (August 8, 2017). Date of appeal April 10, 2018.
  48. ↑ OpenNews: Release of Wayland 1.14 and Weston 3.0 Composite Server (Neopr.) . www.opennet.ru. Date of appeal April 10, 2018.
  49. ↑ Derek Foreman. [ANNOUNCE wayland 1.15.0] ( unspecified ) (April 9, 2018). Date of appeal April 10, 2018.
  50. ↑ Derek Foreman. [ANNOUNCE weston 4.0.0] (unspecified) (April 9, 2018). Date of appeal April 10, 2018.
  51. ↑ OpenNews: Release of Wayland 1.15 and the Weston 4.0 composite server (unopened) . www.opennet.ru. Date of appeal April 10, 2018.
  52. ↑ Wayland Backend DRM | IVI Layer Management (English) (inaccessible link) . GENIVI Alliance. Date of treatment July 15, 2013. Archived February 1, 2014.
  53. ↑ Maliit Status Update (unspecified) . Posterous (April 2, 2013). Date of treatment October 14, 2013. Archived May 17, 2013.
  54. ↑ More Maliit Keyboard Improvements: QtQuick2 ( unopened ) . Murray's Blog (April 2, 2013). Date of treatment October 14, 2013.
  55. ↑ Maliit under Wayland (unopened) (inaccessible link) . Date of treatment September 14, 2013. Archived June 11, 2013.
  56. ↑ Richard Hillesley. Wayland - Beyond X The H Open . Heise Media UK ( February 13, 2012 ).
  57. ↑ The First Jolla Smartphone Runs With Wayland . LinuxG.net (July 14, 2013). Date of treatment October 8, 2013.
  58. ↑ sailfishos main components diagram .
  59. ↑ our first Jolla will ship with wayland, yes .
  60. ↑ IVI / IVI Setup . Tizen Wiki. Date of treatment April 8, 2013.
  61. ↑ [IVI] Tizen IVI 3.0-M1 released . Tizen.org Date of treatment July 15, 2013.
  62. ↑ Sam Spilsbury. A bright new future for Compiz (English) (November 25, 2010). - "... I was also hired by Canonical Ltd ...". Archived on April 8, 2012.
  63. ↑ Sam Spilsbury. Compiz in a strange new land (English) (November 7, 2010). Archived on April 8, 2012.
  64. ↑ deebeeoh. I am an Ubuntu Unity Developer, AMA - "We are going to be helping compiz port to OpenGL ES." Date of treatment January 12, 2010. Archived on April 8, 2012.
  65. ↑ Package wayland . Fedora Project. Date of treatment July 15, 2013.
  66. ↑ Wayland and Fedora . Lists.fedoraproject.org. Date of treatment July 15, 2013.
  67. ↑ You Can Now Run GNOME Shell Wayland On Fedora 20 . Phoronix (October 3, 2013). Date of treatment October 8, 2013.
  68. ↑ GNOME / Wayland in Fedora ( October 3, 2013). Date of treatment October 8, 2013.
  69. ↑ Larabel, Michael GNOME Will Move Full-Speed ​​With Wayland Support . Phoronix (March 13, 2013). Date of treatment April 8, 2013.
  70. ↑ GNOME 3.10 Has Been Officially Released . Phoronix (September 25, 2013). Date of treatment October 8, 2013.
  71. ↑ 3.10 Released! (eng.) . GNOME (September 25, 2013). Date of treatment October 8, 2013.
  72. ↑ Grässlin, Martin KWin runs on OpenGL ES (English) (November 28, 2010). - “It does not only help, it is a must have to start working for Wayland. So to say it's the first part of the KWin port to Wayland. "
  73. ↑ Grässlin, Martin On the Road to Modern OpenGL (ES) (English) (19 January 2011). Date of treatment July 31, 2013.
  74. ↑ Grässlin, Martin KWin Hacking ++ . Date of treatment April 8, 2013.
  75. ↑ Larabel, Michael KDE 4.11 Beta Released, Works On Wayland (Neopr.) . Phoronix (June 14, 2013). Date of treatment June 16, 2013.
  76. ↑ Raspberry Pi Case Study . Collabora. Date of treatment August 9, 2013.
  77. ↑ Wayland preview . Raspberry Pi. Date of treatment August 9, 2013.
  78. ↑ Clutter on Wayland (inaccessible link) . Date of treatment March 28, 2012. Archived November 24, 2012.
  79. ↑ Wayland - Enlightenment (inaccessible link) . Date of treatment March 6, 2013. Archived March 29, 2013.
  80. ↑ GTK + 3.10 release mail (English) (September 23, 2013). Date of appeal September 24, 2013.
  81. ↑ Documentation of the Wayland support in GTK + (inaccessible link) (September 3, 2013). Archived June 22, 2013.
  82. ↑ Lantinga, Sam SDL 2.0.2 RELEASED! (English) (Mar 08, 2014). - "Added experimental Wayland and Mir support, disabled by default." Date of treatment March 15, 2014.
  83. ↑ Toolkits on Wayland (Neopr.) . Date of treatment March 28, 2012.

Links

  • Official website
  • Wayland Facts and How Better It Is Xorg
  • Evgeny Zolotov. Farewell to Mr. X (Rus.) (November 10, 2010). Archived on April 8, 2012.
Source - https://ru.wikipedia.org/w/index.php?title=Wayland&oldid=101299441


More articles:

  • Koshelokhov, Boris Nikolaevich
  • Their Kremlin
  • Baranov, Alexander Evstafievich
  • Flagler (Borough)
  • Flag of the German Democratic Republic
  • Frian, Louis
  • 2012 at the cinema
  • Velikozakhodsky rural settlement
  • Filarets
  • Karsava

All articles

Clever Geek | 2019