Wayland Desktop Landscape
Wayland has developed into a mature ecosystem over the course of the past few years. Wayland is meant to be a much simpler replacement of the Xorg server, and also being easier to develop and maintain. GNOME and KDE have full wayland support and there are numerous independent compositors for those wishing for a more compact set of tools.
Due to the large amount of efforts expended by the community in creating beautiful applications, it is a good idea to consolidate the list of applications into a single authoritative location inside Gentoo to keep track of the various Wayland projects. The aim of this endeavor is to make Wayland into a well supported system in the current landscape of Gentoo.
In Wayland the task for both compositing and window management is delegated to the same program, which while making the program a bit larger, simplifies the render API by a large extent.
There are three major kinds of window managers:
- Stacking (aka floating): The traditional mode of how window managers are expected to behave, similar to that of Windows or OS X. Windows act like pieces of paper on a desk, and can be stacked on top of each other.
- Tiling: Windows are tiled so that none of them overlap. These usually make very extensive use of key-bindings and traditionally have little to no reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both.
- Dynamic: These window managers can dynamically switch between stacking and tiling configurations.
|Enlightenment||x11-wm/enlightenment||Stacking||Daily driver||Eye candy compositor part of the Enlightenment desktop environment|
|Hikari||gui-wm/hikari||Stacking||Daily driver||Simple, clean compositor inspired by OpenBSD's x11-wm/cwm|
|KWin||kde-plasma/kwin||Dynamic||Daily driver||KDE's compositing window manager/Wayland compositor.|
|Mutter||x11-wm/mutter||Stacking||Daily driver||GNOME's compositing window manager/Wayland compositor.|
|Sway||gui-wm/sway||Tiling||Daily driver||x11-wm/i3 clone|
|Wayfire||gui-wm/wayfire||Stacking||Daily driver||Beautiful, eye candy compositor inspired by Compiz|
|Cage||gui-wm/cage||Kiosk||Beta||Kiosk based compositor for displaying a single fullscreen application (in GURU)|
|Cagebreak||gui-wm/cagebreak||Tiling||Beta||Tiling compositor inspired by RatPoison (in wayland-desktop)|
|DWL||gui-wm/dwl||Tiling||Unstable||DWM clone (in GURU)|
|Kiwmi||gui-wm/kiwmi||Stacking||Unstable||Fully programmable compositor configurable with Lua (in wayland-desktop)|
|LabWC||gui-wm/labwc||Stacking||Unstable||OpenBox clone (in wayland-desktop)|
|Liri||gui-liri/liri-shell||Stacking||Unstable||QT shell from Liri OS (in wayland-desktop)|
|River||gui-wm/river||Tiling||Unstable||Dynamic tiling compositor, inspired by DWM and BSpWM (in wayland-desktop)|
|Taiwins||gui-wm/taiwins||Dynamic||Unstable||Modular and extendable compositor configurable with Lua (in wayland-desktop)|
|Waybox||gui-wm/waybox||Stacking||Unstable||OpenBox clone (in wayland-desktop)|
|Weston||dev-libs/weston||Stacking||Not for general use||reference compositor implementation for developers|
A display manager(DM), sometimes known as login manager, presents the user with a graphical login screen to start a GUI session.
The display managers listed here support starting both X and Wayland sessions, the type represents the platform that the display-managers use for being drawn.
|GNOME/GDM||gnome-base/gdm||Wayland||Daily driver||The flagship display manager from GNOME|
|LightDM||x11-misc/lightdm||Xorg||Daily driver||Lightweight display manager, customizable via greeters|
|SDDM||x11-misc/sddm||Xorg||Daily driver||Highly customizable, eye candy display manager from KDE|
|GtkGreet + greetd||gui-apps/gtkgreet||Wayland||Daily driver||GTK frontend for greetd|
|TUIGreet + greetd||gui-apps/tuigreet||Console||Daily driver||TUI frontend for greetd|
|QTGreet + greetd||gui-apps/qtgreet||Wayland||Daily driver||QT frontend for greetd (in wayland-desktop)|
|bemenu||dev-libs/bemenu||Daily driver||demenu clone|
|Fuzzel||gui-apps/fuzzel||Daily driver||Application launcher similar to rofi's 'drun' mode (in wayland-desktop)|
|j4-dmenu-desktop||x11-misc/j4-dmenu-desktop||Daily driver||i3-desktop-menu replacement|
|lavaLauncher||gui-apps/lavalauncher||Daily driver||simple, static, launcher|
|nwg-launchers||gui-apps/nwg-launchers||Daily driver||GTK based static-bar + logout + grid (in GURU)|
|Wofi||gui-apps/wofi||Daily driver||rofi clone (in GURU)|
|wl-clipboard||gui-apps/wl-clipboard||Daily driver||Simple command-line programs|
|Dunst||x11-misc/dunst||Daily driver||Customizable and lightweight notification-daemon|
|Mako||gui-apps/mako||Daily driver||Lightweight wayland notification daemon|
|Notification Daemon||x11-misc/notification-daemon||Daily driver||Notification daemon from GNOME project|
|Tiramisu||gui-apps/tiramisu||Daily driver||Minimalistic desktop notifications provider (in GURU)|
|i3status-rust||x11-misc/i3status-rust||Daily driver||Very resource friendly and feature-rich replacement for i3status (in GURU)|
|SFWBar||gui-apps/swfbar||Daily driver||Sway Floating Window Bar (in GURU)|
|Waybar||gui-apps/waybar||Daily driver||Highly customizable Wayland bar for Sway and Wlroots based compositors|
|Yambar||gui-apps/yambar||Daily driver||Modular status panel for X11 and Wayland, inspired by polybar (in wayland-desktop)|
|Alacritty||x11-terms/alacritty||Daily driver||GPU-accelerated terminal emulator|
|Kitty||x11-terms/kitty||Daily driver||A modern, hackable, featureful, OpenGL-based terminal emulator|
|Mlterm||x11-terms/mlterm||Daily driver||A multi-lingual terminal emulator|
|foot||gui-apps/foot||Daily driver||A fast and lightweight terminal emulator for Wayland (in GURU)|
|Azote||gui-apps/azote||Daily driver||Wallpaper and color manager for X and wlroots based compositors (in GURU)|
|MPVPaper||gui-apps/mpvpaper||Daily driver||Video wallpaper program for wlroots based compositors (in GURU)|
|Oguri||gui-apps/oguri||Daily driver||Wallpaper daemon supporting animated wallpapers for Wayland compositors (in wayland-desktop)|
|SwayBG||gui-apps/swaybg||Daily driver||Wallpaper utility for all Wayland compositors|
Screenlock and idle management
|Swayidle||gui-apps/swayidle||Daily driver||Idle management daemon for all wayland compositors|
|Swaylock||gui-apps/swaylock||Daily driver||Screen locker for all wayland compositors|
|Swaylock-effects||gui-apps/swaylock-effects||Daily driver||Swaylock fork with fancy effects (in GURU)|
Multiple display configurators
|Kanshi||gui-apps/kanshi||Daily driver||Dynamic display configuration, like autorandr, for all wayland compositors|
|wdisplays||gui-apps/wdisplays||Daily driver||GUI display configurator for all wayland compositors (in GURU)|
|wlr-randr||gui-apps/wlr-randr||Daily driver||Xrandr clone for all wayland compositors (in GURU)|
Screenshots and recording
|Grim||gui-apps/grim||Daily driver||Screen image grabber for all wayland compositors|
|Slurp||gui-apps/slurp||Daily driver||Screen region selector for all wayland compositors|
|Swappy||gui-apps/swappy||Daily driver||Screenshotting and editing tool for all wayland compositors, inspired by OS X snappy|
|wf-recorder||gui-apps/wf-recorder||Daily driver||Screen recorder for all wayland compositors|
|Wayvnc||gui-apps/wayvnc||Beta||VNC server for wlroots based compositors|
|Waypipe||gui-apps/waypipe||Unstable||Transparent proxy for all wayland compositors|
- The wayland-desktop overlay.