:PROPERTIES: :ID: 4cddd97d-9efc-4182-9e1b-a1ce6e06ab96 :END: #+title: Wayland #+date: 2021-07-20 16:42:09 +08:00 #+date_modified: 2021-07-20 20:31:56 +08:00 #+language: en [[https://wayland.freedesktop.org/][The next iteration to X]], the traditional Unix display server. Wayland, similar to X, is an entirely new protocol leaving to other tools to implement desktop systems. Thus, it needs a new ecosystem of programs to run inside of a Wayland-based desktop sessions. * Ecosystem - [[https://gitlab.freedesktop.org/wayland/wayland][A Wayland core library]]. - [[https://github.com/swaywm/sway/][Sway]] is a compositor and a window manager serving as a drop-in replacement for i3. - [[https://github.com/swaywm/wlroots][wlroots]] is an unopinionated modular compositor library. - [[https://wayland-book.com/][Wayland book]] is a free book showing the basic ropes of working with Wayland-based systems. - [[https://wayland.freedesktop.org/xserver.html][XWayland]] is an implementation of X display server to accept Wayland input. - [[https://github.com/emersion/xdg-desktop-portal-wlr][xdg-desktop-portal-wlr]] is a portal backend for wlroots. - GNOME Shell and KDE Plasma is slowly supporting Wayland. * Application support While Wayland support for various legacy systems are increasing recently, one still have to be cautious with support. - Several [[https://wayland.freedesktop.org/toolkits.html][graphical toolkits]] support Wayland. - Starting at version 27, [[https://obsproject.com/][OBS Studio]] supports Wayland-based systems. - [[https://hg.sr.ht/~scoopta/wlrobs][wlrobs]] is a OBS Studio plugin supporting wlroots-based compositors. - [[https://github.com/emersion/grim][Grim]] is a command-line tool for getting screenshots. - [[https://github.com/ammen99/wf-recorder][wf-recorder]] for recording with wlroots-based compositors. - [[https://github.com/emersion/xdg-desktop-portal-wlr/wiki/Screencast-Compatibility][WebRTC is supported for most browsers]].