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
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] | |||
|---|---|---|---|
| Version | date | Key changes to Wayland | Key changes at Weston |
| 0.85 | Feb 9, 2012 [17] | First release. | |
| 0.95 | Jul 24, 2012 [18] | Start of stabilization API. | |
| 1.0 | October 22, 2012 [19] [20] | Stabilization of the client API. | |
| 1.1 | Apr 15, 2013 [21] [22] | Software rendering [23] . | |
| 1.2 | Jul 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.3 | Oct 11, 2013 [26] | New pixel formats for wl_shm. Support for high-level language binders. | Android support with Hybris. |
| 1.4 | Jan 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.5 | May 20, 2014 [28] | libinput Fullscreen shell. | |
| 1.6 | Sep 19, 2014 [29] | libinput by default. | |
| 1.7 | Feb 14, 2015 [30] [31] | Xdg-shell interface. | |
| 1.8 | June 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.9 | September 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.10 | February 17, 2016 [38] [39] | Support for drag-and-drop events from grouped pointers | Support for Video 4 Linux 2. Input from touch screens. Debugging Tools Improvement |
| 1.11 | June 1, 2016 [40] [41] | New service boot procedure, new installation logic | Proxy wrappers, changing shared memory interfaces, Doxygen-generated HTML documentation |
| 1.12 | September 21, 2016 [42] | Debugging support improvements | Separation into libweston and libwestond-desktop. Capture and restrict the pointer. Relative pointer support. |
| 1.13 | February 24, 2017 [43] [44] [45] | Change ABI Weston. The new version has a serial number of 2.0, not 1.13 | |
| 1.14 | August 8, 2017 [46] [47] [48] | Change of Weston version number to 3.0 due to ABI changes that violate compatibility | |
| 1.15 | April 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
- ↑ https://wayland.freedesktop.org/releases.html
- ↑ https://lists.freedesktop.org/archives/wayland-devel/2019-March/040335.html
- ↑ https://github.com/wayland-project/wayland/releases/tag/1.17.0 - 2019.
- ↑ The wayland Open Source Project on Open Hub: Languages Page - 2006.
- ↑ COPYING // GitHub - 2008.
- ↑ Høgsberg, Kristian EGL and GLES1 / 2 on Linux . Linux Plumbers Conference, 2010.
- ↑ Official site
- ↑ Michael Larabel (November 03, 2008) Wayland: A New X Server For Linux
- ↑ Kristian Høgsberg. Wayland license clarification . Wayland-devel mailing list (November 22, 2010). Date of treatment November 23, 2010.
- ↑ Evan Jenkins. The Linux graphics stack from X to Wayland . Ars Technica (March 2011).
- ↑ README file from the Wayland source code repository
- ↑ Mark Shuttleworth . Unity on Wayland Mark Shuttleworth (November 4, 2010). Date of treatment November 4, 2010. Archived August 24, 2011.
- ↑ Oliver Ries. Taking Unity to the next level . Ubuntu-devel mailing list (Mar 4 2013).
- ↑ Ubuntu Unity is dead: Desktop will switch back to GNOME next year .
- ↑ 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 ....".
- ↑ Wayland . Wayland.freedesktop.org. Date of treatment July 15, 2013.
- ↑ Høgsberg, Kristian [ANNOUNCE Wayland and Weston 0.85.0 released] . Wayland mailing list (February 9, 2011). Date of treatment June 8, 2013.
- ↑ Høgsberg, Kristian Wayland and Weston 0.95.0 released . Wayland mailing list (24 July 2012). Date of treatment July 14, 2013.
- ↑ Høgsberg, Kristian Wayland and Weston 1.0 . Wayland mailing list (October 22, 2012). Date of treatment July 14, 2013.
- ↑ Scherschel, Fabian Wayland's 1.0 milestone fixes graphics protocol . The H - Open . Heinz Heise (October 23, 2013). Date of treatment July 14, 2013.
- ↑ Larabel, Michael Wayland 1.1 Officially Released With Weston 1.1 . Phoronix (April 16, 2013). Date of treatment July 14, 2013.
- ↑ 1.1 Released freedesktop.org. Date of treatment July 18, 2013.
- ↑ Larabel, Michael A Software-Based Pixman Renderer For Wayland's Weston . Phoronix (January 6, 2013). Date of treatment July 14, 2013.
- ↑ Larabel, Michael Wayland 1.2.0 Released, Joined By Weston Compositor . Phoronix (July 13, 2013). Date of treatment July 14, 2013.
- ↑ Wayland and Weston 1.2.0 released . Lists.freedesktop.org (June 28, 2013). Date of treatment July 18, 2013.
- ↑ Wayland and Weston 1.3 release notes (English) (October 11, 2013).
- ↑ Høgsberg, Kristian Wayland and Weston 1.4 is out . Wayland mailing list (24 January 2014).
- ↑ Høgsberg, Kristian Wayland and Weston 1.5.0 is released . Wayland mailing list (May 20, 2014).
- ↑ Høgsberg, Kristian Wayland and Weston 1.6.0 is released . Wayland mailing list (Feb 19, 2014).
- ↑ ANNOUNCE wayland 1.7.0 unopened . wayland-devel mailing list (February 14, 2015).
- ↑ ANNOUNCE weston 1.7.0 unopened . wayland-devel mailing list (February 14, 2015).
- ↑ Harrington, Bryce ANNOUNCE wayland 1.8.0 . wayland-devel mailing list (2 June 2015).
- ↑ Harrington, Bryce ANNOUNCE weston 1.8.0 . wayland-devel mailing list (2 June 2015).
- ↑ Wayland 1.8 - OpenSource - News .
- ↑ Harrington, Bryce [ANNOUNCE wayland 1.9.0] unspecified . Wayland-devel mailing list (September 21, 2015).
- ↑ Harrington, Bryce [ANNOUNCE weston 1.9.0] unspecified . Wayland-devel mailing list (September 21, 2015).
- ↑ Wayland 1.9 - OpenSource - linux.org.ru news
- ↑ Wayland 1.10 Officially Released . Phoronix.com (February 16, 2016). Date of treatment April 17, 2016.
- ↑ Wayland 1.10 - OpenSource - linux.org.ru news
- ↑ Harrington, Bryce [ANNOUNCE weston 1.11.0] unspecified . Wayland-devel mailing list (June 1, 2016). Date of treatment June 1, 2016.
- ↑ Wayland 1.11 - OpenSource - linux.org.ru news
- ↑ Harrington, Bryce [ANNOUNCE wayland 1.12.0] unspecified . Wayland-devel mailing list (September 21, 2016). Date of appeal September 21, 2016.
- ↑ Harrington, Bryce [ANNOUNCE wayland 1.13.0] unspecified . Wayland-devel mailing list (February 21, 2017). Date of appeal April 30, 2017.
- ↑ Harrington, Bryce [ANNOUNCE weston 2.0.0] . Wayland-devel mailing list (February 25, 2017). Date of appeal April 30, 2017.
- ↑ Weston 2.0 release - OpenSource - linux.org.ru news
- ↑ Bryce Harrington. [ANNOUNCE wayland 1.14.0] unspecified (August 8, 2017). Date of appeal April 10, 2018.
- ↑ Bryce Harrington. [ANNOUNCE weston 3.0.0] (August 8, 2017). Date of appeal April 10, 2018.
- ↑ OpenNews: Release of Wayland 1.14 and Weston 3.0 Composite Server . www.opennet.ru. Date of appeal April 10, 2018.
- ↑ Derek Foreman. [ANNOUNCE wayland 1.15.0] unspecified (April 9, 2018). Date of appeal April 10, 2018.
- ↑ Derek Foreman. [ANNOUNCE weston 4.0.0] (April 9, 2018). Date of appeal April 10, 2018.
- ↑ OpenNews: Release of Wayland 1.15 and the Weston 4.0 composite server . www.opennet.ru. Date of appeal April 10, 2018.
- ↑ Wayland Backend DRM | IVI Layer Management (English) (inaccessible link) . GENIVI Alliance. Date of treatment July 15, 2013. Archived February 1, 2014.
- ↑ Maliit Status Update . Posterous (April 2, 2013). Date of treatment October 14, 2013. Archived May 17, 2013.
- ↑ More Maliit Keyboard Improvements: QtQuick2 unopened . Murray's Blog (April 2, 2013). Date of treatment October 14, 2013.
- ↑ Maliit under Wayland (inaccessible link) . Date of treatment September 14, 2013. Archived June 11, 2013.
- ↑ Richard Hillesley. Wayland - Beyond X The H Open . Heise Media UK ( February 13, 2012 ).
- ↑ The First Jolla Smartphone Runs With Wayland . LinuxG.net (July 14, 2013). Date of treatment October 8, 2013.
- ↑ sailfishos main components diagram .
- ↑ our first Jolla will ship with wayland, yes .
- ↑ IVI / IVI Setup . Tizen Wiki. Date of treatment April 8, 2013.
- ↑ [IVI] Tizen IVI 3.0-M1 released . Tizen.org Date of treatment July 15, 2013.
- ↑ Sam Spilsbury. A bright new future for Compiz (English) (November 25, 2010). - "... I was also hired by Canonical Ltd ...". Archived on April 8, 2012.
- ↑ Sam Spilsbury. Compiz in a strange new land (English) (November 7, 2010). Archived on April 8, 2012.
- ↑ 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.
- ↑ Package wayland . Fedora Project. Date of treatment July 15, 2013.
- ↑ Wayland and Fedora . Lists.fedoraproject.org. Date of treatment July 15, 2013.
- ↑ You Can Now Run GNOME Shell Wayland On Fedora 20 . Phoronix (October 3, 2013). Date of treatment October 8, 2013.
- ↑ GNOME / Wayland in Fedora ( October 3, 2013). Date of treatment October 8, 2013.
- ↑ Larabel, Michael GNOME Will Move Full-Speed With Wayland Support . Phoronix (March 13, 2013). Date of treatment April 8, 2013.
- ↑ GNOME 3.10 Has Been Officially Released . Phoronix (September 25, 2013). Date of treatment October 8, 2013.
- ↑ 3.10 Released! (eng.) . GNOME (September 25, 2013). Date of treatment October 8, 2013.
- ↑ 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. "
- ↑ Grässlin, Martin On the Road to Modern OpenGL (ES) (English) (19 January 2011). Date of treatment July 31, 2013.
- ↑ Grässlin, Martin KWin Hacking ++ . Date of treatment April 8, 2013.
- ↑ Larabel, Michael KDE 4.11 Beta Released, Works On Wayland . Phoronix (June 14, 2013). Date of treatment June 16, 2013.
- ↑ Raspberry Pi Case Study . Collabora. Date of treatment August 9, 2013.
- ↑ Wayland preview . Raspberry Pi. Date of treatment August 9, 2013.
- ↑ Clutter on Wayland (inaccessible link) . Date of treatment March 28, 2012. Archived November 24, 2012.
- ↑ Wayland - Enlightenment (inaccessible link) . Date of treatment March 6, 2013. Archived March 29, 2013.
- ↑ GTK + 3.10 release mail (English) (September 23, 2013). Date of appeal September 24, 2013.
- ↑ Documentation of the Wayland support in GTK + (inaccessible link) (September 3, 2013). Archived June 22, 2013.
- ↑ 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.
- ↑ Toolkits on Wayland . Date of treatment March 28, 2012.
Links
- Official website
- Wayland Facts and How Better It Is Xorg
- Evgeny Zolotov. Farewell to Mr. X (November 10, 2010). Archived on April 8, 2012.