Go back
5-4-2025
The Wayland logo

Improving Wayland Support on PCLinuxOS

When I first tried PCLinuxOS in 2022 I quickly discovered that there was no Wayland session at all. There were a lot of packages for Wayland, the KWin 5 package even had its Wayland compositor side, but sessions were not there. This had me curious as someone who had used Wayland in the past and didn't like it so much, but earlier that year had tried the newly released Slackware 15.0 which did come with a Wayland session and was pleasantly surprised by how much better it had gotten on KDE and seemed to be getting better all the way up to the final release of KDE Plasma 5. In fact, the final release of Plasma 5 has a really good Wayland session so long as you're using AMD, Intel, or a relatively new Nvidia card. There are also a lot of other Wayland compositors that are generally considered stable these days, like Hyprland and all the compositors based on Wlroots (Labwc, Sway, Wayfire, etc.)

There is a lot of resistance to Wayland but the arguments are usually "X11 just works" or general despise for the Wayland protocol itself. There's also a lot of falsehoods out there, such as that Wayland is for systemd / Wayland only works on Linux. This is simply not true and is honestly a smear against Wayland considering Wayland has a lot of the "break free" mentality that systemd-free distributions do. Think about it, systemd is the standard these days, as bad as it is. X11 is the standard for desktops, and while it usually works, it has many shortcomings. One that I came across a lot is garbage artifacts on the screen, or that adaptive sync doesn't work the way you expect it to. Like systemd, X11 also has a lot of security vulnerabilities, actually it's one of the least secure parts of a Linux OS between it and web browsers and it's not even close. For that reason, it's good to break free from the bad standards of the past like systemd and X11 and go with simplicity. I'm not saying that if X11 is the only thing that works to stop using it, Nvidia in particular is a massive pain point of Wayland as Nvidia usually is to anything Linux or *nix related. Cards that use drivers newer than 560 or so are considered stable to use on Wayland, but your mileage may vary. Nvidia is not exactly known for being very helpful or compliant with improving the experience for Linux users.

Anyway, whether or not there are people opposed to Wayland does not matter, that is their choice; however former X11 developers have moved on to Wayland and many people who have had issues from X11 have seen those issues disappear by using modern Wayland (me included). I couldn't have said that before a few years ago. X11 doesn't see any significant development anymore, and desktops including KDE have switched their focus to Wayland. Because of all of these factors, I think it's important that PCLinuxOS, my favorite distribution, which has so much potential, should be able to use Wayland sessions. I think it will also help with people coming over to PCLOS who are used to using Wayland compositors from other distributions. I also wanted to prove that PCLinuxOS can have nice things like Wayland.

Contrary to the belief of some, Wayland does not need anything from systemd. The reason people think it does is that Wayland does rely on a concept known as seat management. Most commonly, this is achieved with systemd-logind. However, different seat managers exist, including seatd. Seatd does just what the name implies, unlike logind which focuses on session tracking and other factors as well. ConsoleKit2, the native PCLinuxOS session tracker, does that job just fine, while seatd (which I had to port initially) does the seat management. This way you can have Wayland without the need for systemd, and the aforementioned ConsoleKit2 and seatd combo is used so that you can use Wayland just fine on FreeBSD as well. After porting seatd, Plasma on PCLinuxOS could now be launched by invoking

ck-launch-session dbus-run-session startplasma-wayland
with no strings attached, either. Everything was there for it to work, except the component for seat management and the Plasma workspaces package had to be updated in order to invoke that instead of startplasma-wayland by itself, as invoking Wayland compositors by themselves doesn't work. They must be attached to ConsoleKit2, dbus, and seatd (which runs as a service to watch for seats) to launch. It worked great, except because of a bug in systemd-first SDDM (which took over a year to find out), Wayland sessions were treated like a shell command which could be exited with Ctrl + C, which meant anytime you copied something to your clipboard, your session would crash. Eventually we figured out that this was in fact a problem with SDDM and other display managers such as greetd just worked. Greetd itself has a lot of greeters which rely on Wayland compositors to draw the login screen itself, and I've managed to use greeters such as ReGreet successfully with the Cage kiosk compositor. There's a few bugs, primarily with how the service starts, none of which can't be solved methinks. Reminder, all of this is without systemd. So take that all the distros out there who use elogind "for Wayland support". PCLinuxOS is a living example you can have nice things without another init system determining the way you manage seats or track sessions.

With Plasma out of the way, I decided that it would be interesting to port Labwc to PCLinuxOS. Labwc is talked about a lot as a stable wlroots-based stacking compositor to scratch the itch of lightweight stacking window managers like Fluxbox/Openbox, IceWM (although it uses Openbox configurations), and others. In fact, Labwc is tossed around by the other desktop environments like Xfce, MATE (although they are eyeing the Compiz clone Wayfire as well), and LXQt for their upcoming Wayland sessions. The latest LXQt and Xfce can already use Labwc. As expected and much like the Plasma Wayland session, it runs fine as long as its attached to ConsoleKit and dbus.

Showing off Labwc on PCLinuxOS.

You can use panels like xfce4-panel and mate-panel with it, but the tray icons are missing at least in xfce4-panel. I believe it's as simple as a build option change when building the package, but I decided to go ahead and port a well-known all-round Wayland-specific panel that is a bit like Tint2 but for Wayland called Waybar. My extent of configuration is IceWM which has the panel and all that under one configuration syntax so I'm probably not the kind of person who will benefit from this but I know many others love this level of customization being available to them and they can do it on PCLinuxOS.

Showing off xfce4-panel and waybar.

In the picture I'm missing a few characters (I believe they're emojis) but hopefully people will like having this. I think it looks nice and I may try to configure it to a way that I like soon myself. You can even use it in the KDE session. There's a few other wlroots compositor tools I brought over like grim and xdg-desktop-portal-wlr to improve the experience. With all of this in mind, there's still work to be done, but at least we can say PCLinuxOS can run Wayland and run it well, no systemd needed. This is radical simplicity.