This post is about a change in display server from X to wayland on a couple of machines here. The project was to run wayland to satisfy the needs of a user like me who was previously running X. The installations used minimalist tiling window managers such as dwm, and were running debian forky and sid (testing and unstable respectively). These systems I'm referring to don't use or need Desktop Environments like Gnome, KDE, Cinnamon etc., so this post is likely of quite limited interest. Since the "conversion" to wayland was successful with minimalistic systems, it may of interest to some who are more inclined that way.
Some inspiration to move to wayland was the advocacy by @dos2unix over a few years as seen here from 2024: https://www.linux.org/threads/advantages-of-wayland-over-x11.49441, and here in January 2026: https://www.linux.org/threads/why-do-people-hype-up-wayland.61907. There have been sundry other posts in a similar vein which have also been part of the mix.
Some issues I had with wayland were outlined in this post: https://www.linux.org/threads/why-do-people-hype-up-wayland.61907/post-294431. There were apps of interest to me that were either unavailable or limited in wayland, and also apps I was unaware of until more focused investigation. I set about trying to compensate or replace what I'd been using in X so that I could get to a point where I could make a purely wayland system work for me.
A second inspiration for this post was a post by @JasKinasis here: https://www.linux.org/threads/a-way-to-change-window-title-colors.62914/post-297257, who mentioned that he ran the minimalist dwm window manager, which he had mentioned in previous posts as well some time ago. The dwm window manager has been the default window manager here in X on a number of machines used by a number of people.
For many users, the straightforward way to run wayland has been to install a distro that runs it natively like fedora where the Desktop Environment of Gnome or KDE can run in wayland, and the whole underlying display serving system is opaque to the user. The use of minimalist tiling window managers in the case here is not so much to do with saving space or being frugal with resources, but rather about the ways in which the installations are used. Apps are called from the command line which obviates the need for a more elaborate GUI. It's about usage rather than economy here, though a lot of minimalist enthusiasts are more concerned with the economical use of resources.
Here goes.
There have been three parts to the change:
1. Install the wayland software.
2. Replace window management of dwm with wayland apps dwl, or sway.
3. Identify the apps that work with wayland that can satisfy current needs obviating the need for X apps.
The details for each step follow.
1. Wayland software packages installed for the wayland environment:
wayland-protocols
libinput-dev
libwlroots-0.19
libwlroots-0.19-dev
libfcft-dev
libxkbcommon0
libxkgcommon-dev
pkg-config
2. Installation of dwl and/or sway:
dwl
===
To build dwl the installation needs tools like gcc installed. They are available in the build-essential package.
The dwl installation was made in the following order:
Make a directory to hold dwl code.
Change into that directory and run:
Change into the directory: dwl.
Read the README file and have the dependencies satisfied.
Whilst in the dwl directory, create a new directory named: patches
Change into the patches directory.
Download the bar.patch whilst in the patches directory by running:
Change back to the dwl directory.
If wishing to change the behaviour of dwl, make the changes to the code in the file: config.def.h.
Patch the bar code into the dwl code from the dwl directory by running:
Compile the dwl code with the command:
When the dwl executable is built one can copy it to a directory in the PATH, and then it can be commanded in a console terminal to bring up the wayland display environment.
For the time and date to appear in the bar, one can use the slstatus app available from here:
Download the tarball and decompress it.
Enter its directory and compile it with
Copy the resulting executable in the PATH and then when calling dwl, call it thus:
Then the date and time appears on the right side of the bar when bring up dwl.
sway
====
An alternative to using dwl is the sway compositor. Sway doesn't need to use C code to configure it. One installs it through the apt package manager and then it's usable. It includes a bar similar to dwm, which is similar to the bar that was installed with dwl outlined above. Sway has a well commented configuration file for user's alterations if they wish to make them. One copies it from /etc/sway/config to ~/.config/sway/config.
3. Wayland apps to cover some X apps:
The above is an on-going project, so there's going to be more to it all, but for now, the basics are all in place to cover usage here.
Some inspiration to move to wayland was the advocacy by @dos2unix over a few years as seen here from 2024: https://www.linux.org/threads/advantages-of-wayland-over-x11.49441, and here in January 2026: https://www.linux.org/threads/why-do-people-hype-up-wayland.61907. There have been sundry other posts in a similar vein which have also been part of the mix.
Some issues I had with wayland were outlined in this post: https://www.linux.org/threads/why-do-people-hype-up-wayland.61907/post-294431. There were apps of interest to me that were either unavailable or limited in wayland, and also apps I was unaware of until more focused investigation. I set about trying to compensate or replace what I'd been using in X so that I could get to a point where I could make a purely wayland system work for me.
A second inspiration for this post was a post by @JasKinasis here: https://www.linux.org/threads/a-way-to-change-window-title-colors.62914/post-297257, who mentioned that he ran the minimalist dwm window manager, which he had mentioned in previous posts as well some time ago. The dwm window manager has been the default window manager here in X on a number of machines used by a number of people.
For many users, the straightforward way to run wayland has been to install a distro that runs it natively like fedora where the Desktop Environment of Gnome or KDE can run in wayland, and the whole underlying display serving system is opaque to the user. The use of minimalist tiling window managers in the case here is not so much to do with saving space or being frugal with resources, but rather about the ways in which the installations are used. Apps are called from the command line which obviates the need for a more elaborate GUI. It's about usage rather than economy here, though a lot of minimalist enthusiasts are more concerned with the economical use of resources.
Here goes.
There have been three parts to the change:
1. Install the wayland software.
2. Replace window management of dwm with wayland apps dwl, or sway.
3. Identify the apps that work with wayland that can satisfy current needs obviating the need for X apps.
The details for each step follow.
1. Wayland software packages installed for the wayland environment:
wayland-protocols
libinput-dev
libwlroots-0.19
libwlroots-0.19-dev
libfcft-dev
libxkbcommon0
libxkgcommon-dev
pkg-config
2. Installation of dwl and/or sway:
dwl
===
To build dwl the installation needs tools like gcc installed. They are available in the build-essential package.
The dwl installation was made in the following order:
Make a directory to hold dwl code.
Change into that directory and run:
Code:
git clone https://codeberg.org/dwl/dwl.git
Read the README file and have the dependencies satisfied.
Whilst in the dwl directory, create a new directory named: patches
Change into the patches directory.
Download the bar.patch whilst in the patches directory by running:
Code:
wget https://codeberg.org/dwl/dwl-patches/raw/branch/main/patches/bar/bar.patch
Change back to the dwl directory.
If wishing to change the behaviour of dwl, make the changes to the code in the file: config.def.h.
Patch the bar code into the dwl code from the dwl directory by running:
Code:
patch -i patches/bar.path
Compile the dwl code with the command:
make.When the dwl executable is built one can copy it to a directory in the PATH, and then it can be commanded in a console terminal to bring up the wayland display environment.
For the time and date to appear in the bar, one can use the slstatus app available from here:
Code:
https://dl.suckless.org/tools/slstatus-1.1.tar.gz
Enter its directory and compile it with
make.Copy the resulting executable in the PATH and then when calling dwl, call it thus:
Code:
slstatus -s | dwl
sway
====
An alternative to using dwl is the sway compositor. Sway doesn't need to use C code to configure it. One installs it through the apt package manager and then it's usable. It includes a bar similar to dwm, which is similar to the bar that was installed with dwl outlined above. Sway has a well commented configuration file for user's alterations if they wish to make them. One copies it from /etc/sway/config to ~/.config/sway/config.
3. Wayland apps to cover some X apps:
Code:
wayland-utils...This package includes the command `wayland-info`
which provides lots of info including the protocols
supported by the installation. Basically,
wayland apps need supported protocols to run and
this command provides that info.
wlr-randr.......Provides the screen info and configuration that
xrandr does for X. Other wayland apps are needed
to cover xrandr capability for gamma and
brightness manipulations.
wev.............Shows wayland events. It's similar to mouse and
keyboard movements shown by xev in X.
wtype...........The wayland equivalent of xdotool which can
simulate keyboard input.
wdisplays ......Adjusts dpi, position (geometry), resolution,
refresh rate covering some xrandr functionality.
qpdfview........Displays both ps (postscript), and pdf files
without needing xwayland.
foot............Basic wayland terminal. Others that work are:
labwc, kitty, alacritty, lxterminal, tmux.
There are others too.
waybar..........A separate configurable bar alternative for
minimalist compositors.
gammastep.......Similar in function to xcalib in X for altering
the red, green, blue proportions of color on
the screen to control color temperature.
wlsunset........Gamma adjustment.
grim............Screenshot tool.
slurp...........Cropping tool.
imv.............Image viewer.
wmenu...........Similar functionality to dmenu in X bringing up
app list for selection.
Last edited:

