Wayland (display server)
Encyclopedia
Wayland is a display server protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 for the Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 operating systems and a library for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 implementing that protocol.

Wayland provides a method for compositing window manager
Compositing window manager
A compositing window manager is a type of window manager. A window manager is software that draws a graphical user interface on a computer display – it positions windows, draws additional elements on windows , and controls how windows interact with each other, and with the rest of the desktop...

s to communicate directly with applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 and to communicate directly with video and input hardware. Applications render graphics to their own buffers, and the window manager becomes the display server, compositing those buffers to form the on-screen display of application windows. This is a simpler and more efficient approach than using a compositing window manager with the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

.

Background

Kristian Høgsberg (krh), a software engineer who works on the GNU/Linux graphics stack, started Wayland as a spare-time project in 2008, while working for Red Hat
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....

; he is now at Intel. His earlier work on X included AIGLX
AIGLX
Accelerated Indirect GLX is an open source project founded by Red Hat and the Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to the X.Org Server and DRI drivers...

, and involvement in the creation of DRI2
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...

. His stated goal was a system in which "every frame is perfect, by which I mean that applications will be able to control the rendering enough that we'll never see tearing, lag, redrawing or flicker."

Wayland is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

, and the libraries (libwayland-server and libwayland-client) were released under the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

, with the demo compositor and clients originally under the GPLv2 license. Moving the whole project to LGPLv2 was planned but did not occur and the project is now switching fully to the MIT License
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

. , Wayland only works with free and open source drivers for Intel
Intel GMA
The Intel Graphics Media Accelerator, or GMA, is a series of Intel integrated graphics processors built into various motherboard chipsets....

, AMD (previously known as ATI) and Nvidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 (nouveau driver
Nouveau (graphics)
In computing, nouveau is a software project aiming to develop free software drivers for Nvidia graphics cards, by reverse engineering Nvidia's current proprietary drivers for Linux. This project by X.Org Foundation and freedesktop.org was initially based on the obfuscated 2D-only free and...

) graphics cards. , Nvidia has no plans to support it in their proprietary drivers.

The name "Wayland" comes from Wayland, MA. Høgsberg was driving through that town when the concepts behind Wayland "crystallized".

Planned adoption

Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

: Mark Shuttleworth
Mark Shuttleworth
Mark Richard Shuttleworth is a South African entrepreneur who was the second self-funded space tourist. Shuttleworth founded Canonical Ltd. and as of 2010, provides leadership for the Ubuntu operating system...

 announced plans to eventually replace X
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 with Wayland as the primary Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...

 display server with their Unity desktop.

Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

: Adam Jackson (ajax) said that Fedora is likely to eventually use Wayland by default, “…because it's a serious win for a lot of things, and the downsides are pretty negligible despite the fear from the peanut gallery
Peanut gallery
A peanut gallery is an audience that heckles the performer. The term originated in the days of vaudeville as a nickname for the cheapest seats in the theater; the least expensive snack served at the theater would often be peanuts, which the patrons would sometimes throw at the performers on stage...

.”

KDE
KDE
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

: KWin
KWin
KWin is a window manager for the X Window System. It is an integral part of the KDE Software Compilation, although it can be used on its own or with other desktop environments.- History :- Look and feel :...

, the KDE window manager, added support for OpenGL ES output. It shipped with KDE SC 4.7. So far KWin
KWin
KWin is a window manager for the X Window System. It is an integral part of the KDE Software Compilation, although it can be used on its own or with other desktop environments.- History :- Look and feel :...

 has received its initial port to Wayland. In January 2012 KDE hopes to support Wayland under X with release KDE SC 4.8 and to run directly on Wayland in summer 2012 in the KDE SC 4.9 release.

Compiz
Compiz
Compiz is one of the first compositing window managers for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management. The effects, such as a minimization effect and a cube workspace are implemented as loadable plugins...

:Canonical Ltd.
Canonical Ltd.
Canonical Ltd. is a private company founded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu Linux and related projects. Canonical is registered in London and employs staff around the world...

, owner of Ubuntu, hired Sam Spilsbury, primary Compiz developer. He has been moving Compiz dependencies on X into a plugin. This will make it easier to enable Compiz to become a Wayland display server. Canonical is planning to help port Compiz to OpenGL ES, currently a requirement for Wayland display servers.

Design

In recent years, GNU/Linux desktop graphics has moved from having "a pile of rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...

 interfaces... all talking to the X server, which is at the center of the universe" towards putting the Linux kernel "in the middle", with "window systems like X and Wayland ... off in the corner". This will be "a much-simplified graphics system offering more flexibility and better performance".

Høgsberg could have added an extension to X as many recent projects have done, but preferred to "[push] X out of the hotpath between clients and the hardware" for reasons explained in the project's FAQ:
Wayland consists of a protocol (largely complete) and some demonstration code. Currently, the Wayland code uses OpenGL ES
OpenGL ES
OpenGL for Embedded Systems is a subset of the OpenGL 3D graphics application programming interface designed for embedded systems such as mobile phones, PDAs, and video game consoles. OpenGL ES is managed by the not-for-profit technology consortium, the Khronos Group, Inc.- Versions :Several...

, rather than the more traditional (in desktops) OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

. "Longer term we'll need an answer for apps that need full [OpenGL], but the problem is that libGL pulls in GLX and all the X dependencies." The project is also developing versions of GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 and Qt that render to Wayland instead of to X. Most applications are expected to gain support for Wayland through one of these libraries without modification to the application.

Wayland does not currently provide network transparency
Network transparency
Network transparency in its most general sense refers to the ability of a protocol to transmit data over the network in a manner which is transparent to those using the applications that are using the protocol....

, but it may in the future.

Adam Jackson has envisioned providing remote access to a Wayland application by either 'pixel-scraping' (like VNC
Virtual Network Computing
In computing, Virtual Network Computing is a graphical desktop sharing system that uses the RFB protocol to remotely control another computer...

) or getting it to send a "rendering command stream" across the network (as in RDP
Remote Desktop Protocol
Remote Desktop Protocol is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to another computer. The protocol is an extension of the ITU-T T.128 application sharing protocol. Clients exist for most versions of Microsoft Windows , Linux, Unix, Mac OS...

 and SPICE
SPICE (protocol)
In computing, SPICE is a remote-display system built for virtual environments which allows users to view a computing "desktop" environment - not only on its compute-server machine, but also from anywhere on the Internet and using a wide variety of machine architectures.Qumranet originally...

).

Because it requires Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

-specific features such as udev
Udev
udev is the device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load.-History:udev was new in Linux...

,
and KMS, Wayland only works with the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

.

Backward compatibility with X

X11
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 applications are supported through an X server, optionally rootless, running as Wayland client, although currently it only supports Intel X.org drivers.

Qt applications can switch between graphical backends like X and Wayland at run time with the -platform command line option. In January 2011, Wayland support was moved into the Lighthouse branch of the upstream Qt repository.

In December 2010, GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 added preliminary support for switching backends at run time, saying "interesting combinations are X11+Wayland or Quartz
Quartz (graphics layer)
Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card...

+X11". In January 2011, the GTK+ Wayland backend was updated to support the multiple-backends feature and moved to the gdk-wayland-backend branch of the upstream GTK+ Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...

 repository.
In April 2011, the gdk-wayland-backend branch was merged in the GTK+ master branch.

See also

  • Cairo (graphics)
    Cairo (graphics)
    cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...

  • Windowing system
    Windowing system
    A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...

  • X Window System
    X Window System
    The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

  • MicroXwin
    MicroXwin
    MicroXwin is a windowing system similar to the X Window System . By a different architecture, it provides a faster graphical user interface backend than the original X Window System, while still preserving the compatibility with standard X11 applications...

  • Fresco (windowing system)
  • OpenWF
    OpenWF
    OpenWF is a royalty-free, cross-platform API that provides a low-level hardware abstraction interface for composited windowing systems to make use of composition and display hardware. OpenWF is targeted primarily at handheld devices that require portable acceleration of composition whilst...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK