https://github.com/mikeroyal/wayland-guide
Wayland Guide
https://github.com/mikeroyal/wayland-guide
gtk linux qt wayland wayland-client wayland-compatibility wayland-compositor wayland-library wayland-protocol weston x11
Last synced: 4 months ago
JSON representation
Wayland Guide
- Host: GitHub
- URL: https://github.com/mikeroyal/wayland-guide
- Owner: mikeroyal
- Created: 2021-08-30T18:17:48.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-30T18:34:42.000Z (almost 5 years ago)
- Last Synced: 2025-05-12T22:54:08.805Z (about 1 year ago)
- Topics: gtk, linux, qt, wayland, wayland-client, wayland-compatibility, wayland-compositor, wayland-library, wayland-protocol, weston, x11
- Homepage:
- Size: 6.84 KB
- Stars: 14
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Wayland Guide
#### A guide covering Wayland a small display server protocol and IPC(Inter-process communication) library. This includes the applications, libraries and tools that will make you a better and more efficient developer with Wayland.
**Note: You can easily convert this markdown file to a PDF in [VSCode](https://code.visualstudio.com/) using this handy extension [Markdown PDF](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf).**
## Wayland Learning Resources
[Wayland](https://wayland.freedesktop.org) is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an [X application](https://www.x.org/wiki/XServer/), or a wayland client itself.
[Wayland Architecture](https://wayland.freedesktop.org/architecture.html)
[Wayland Documentation](https://wayland.freedesktop.org/docs/html/)
[Sotfware Toolkits that have Wayland support right now](https://wayland.freedesktop.org/toolkits.html)
[Contribution instructions for Wayland](https://gitlab.freedesktop.org/wayland/wayland/blob/master/CONTRIBUTING.md)
[Contribution instructions for Weston](https://gitlab.freedesktop.org/wayland/weston/blob/master/CONTRIBUTING.md)
[Reporting Wayland bugs](https://gitlab.freedesktop.org/wayland/wayland/issues)
[Reporting Weston bugs](https://gitlab.freedesktop.org/wayland/weston/issues)
[WSLG: X11 and Wayland Applications in Windows Subsystem for Linux(WSL2)](https://linuxplumbersconf.org/event/9/contributions/611/attachments/702/1298/XDC2020_-_X11_and_Wayland_applications_in_WSL.pdf)
[Qt Wayland Compositor](https://doc.qt.io/qt-5/qtwaylandcompositor-index.html)
[Qt Wayland Compositor Examples](https://doc.qt.io/qt-5/qtwaylandcompositor-examples.html)
[Wayland on ArchWiki](https://wiki.archlinux.org/index.php/Wayland)
[Sway on ArchWiki](https://wiki.archlinux.org/index.php/Sway)
[Wayland on Ubuntu Wiki](https://wiki.ubuntu.com/Wayland)
[Wayland on Debian Wiki](https://wiki.debian.org/Wayland)
[The Wayland Display Server on Fedora Docs](https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/Wayland/)
[Wayland features on Fedora Project Wiki](https://fedoraproject.org/wiki/Wayland_features)
[Wayland on GNOME Wiki](https://wiki.gnome.org/Initiatives/Wayland)
[KWin/Wayland on KDE Community Wiki](https://community.kde.org/index.php?title=KWin/Wayland)
[Wayland Desktop Landscape on Gentoo Wiki](https://wiki.gentoo.org/wiki/Wayland_Desktop_Landscape)
[Wayland in Void Linux Handbook](https://docs.voidlinux.org/config/graphical-session/wayland.html)
[Wayland on Enlightenment DE](https://www.enlightenment.org/about-wayland)
## Wayland Tools, Libraries, and Frameworks
[Weston](https://gitlab.freedesktop.org/wayland/weston) is a lightweight and functional Wayland compositor.
[XWayland](https://wayland.freedesktop.org/xserver.html) is an X Server running as a Wayland client(for backwards compatibility), allowing the [Xorg server](https://www.x.org/wiki/XServer/) can be modified to use wayland input devices for input and forward either the root window or individual top-level windows as wayland surfaces.
[KWayland](https://github.com/KDE/kwayland-server) is a Qt-style API to interact with the wayland-client and wayland-server API.
[Qt](https://www.qt.io/) is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. It is one of the most popular toolkits for the Wayland and X11 windowing.
[GTK](https://www.gtk.org/) is a free and open source cross-platform widget toolkit for creating graphical user interfaces developed by [GNOME Project](https://www.gnome.org/). It is one of the most popular toolkits for the Wayland and X11 windowing.
[NVIDIA Wayland EGL External Platform library](https://github.com/NVIDIA/egl-wayland) is a work-in-progress implementation of a EGL External Platform library to add client-side Wayland support to EGL on top of EGLDevice and EGLStream families of extensions.
[NVIDIA EGL External Platform Interface](https://github.com/NVIDIA/eglexternalplatform) is a work-in-progress specification of the EGL External Platform interface for writing EGL platforms and their interactions with modern window systems on top of existing low-level EGL platform implementations. This keeps window system implementation specifics out of EGL drivers by using application-facing EGL functions.
[Sway](https://swaywm.org/) is an [i3](https://i3wm.org/)-compatible Wayland compositor.
[wlroots](https://github.com/swaywm/wlroots) is a modular Wayland compositor library.
[WayfireWM](https://github.com/WayfireWM/wayfire) is a 3D Wayland compositor, inspired by [Compiz](https://launchpad.net/compiz) and based on [wlroots](https://github.com/swaywm/wlroots).
[SDDM](https://github.com/sddm/sddm) is a modern display manager for X11 and Wayland aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces.
[x11docker](https://github.com/mviereck/x11docker) is an application that you allows to run graphical desktop applications (and entire desktops) in Docker Linux containers.
[Mako](https://github.com/emersion/mako) is alightweight notification daemon for Wayland. It also works on [Sway](https://swaywm.org/).
[Wayland-rs](https://github.com/Smithay/wayland-rs) is a Rust implementation of the wayland protocol (client and server).
[Wine-wayland](https://github.com/varmd/wine-wayland) is an application that allows you to running DX9/DX11 and Vulkan games using pure Wayland and Wine/DXVK.
## Contribute
- [x] If would you like to contribute to this guide simply make a [Pull Request](https://github.com/mikeroyal/Wayland-Guide/pulls).
## License
Distributed under the [Creative Commons Attribution 4.0 International (CC BY 4.0) Public License](https://creativecommons.org/licenses/by/4.0/).