Guide to Set up Full Wayland with Arch Linux

5 min


Is it possible to go full Wayland in Arch Linux using mainstream desktop environments or window managers? Let’s find out.

Wayland is a modern and efficient protocol for displaying graphical applications on Linux. It offers several advantages over the older X.Org display server, such as improved security, stability, and graphical performance.

While X.Org has been the go-to display server for many years, its age and complexity have led to various issues, including security vulnerabilities and compatibility problems with newer hardware. Wayland addresses these concerns by offering a more streamlined and secure display protocol.

However, it’s been almost a decade since the Wayland transition is going on, and it is understandable. Major Linux distributions, such as Ubuntu and Fedora – already defaulted to Wayland sessions since 2021. The primary reason is the protocol is now stable enough.

However, Arch Linux users may find setting up a custom install with Wayland complex. Only KDE Plasma and GNOME have up-to-date Wayland support among all the mainstream desktop environments. Xfce, LXQt and other desktops are developing Wayland support, but they are not ready yet.

On the window manager front, Sway has full Wayland support in Arch Linux. That being said, I wanted to test how Wayland is performing in Arch and want to give you a status check as of today.

Let’s try to set up KDE Plasma & GNOME in Arch Linux with full Wayland support.

Set up Wayland in Arch Linux

Ideally, you should have the base wayland package installed already. Open a terminal and verify running the below command.

pacman -Qi wayland

If it is not installed, install it using:

sudo pacman -S --needed wayland

KDE Plasma Desktop

The following steps assume you have a basic Arch Linux installation without any desktop environment or window manager. You can install a basic version of Arch Linux using the great archinstall script.

Standard KDE Plasma setup in Arch Linux requires a few changes for Wayland. A few packages are needed from AUR, hence make sure to set up Yay or any other AUR helper.

Firstly, install a custom sddm display manager Wayland package from AUR using the following command. This is a different sddm package than the one available in the Arch “Extra” repo. As per ArchWiki, only GDM and sddm-git have the proper Wayland support in Arch Linux at the moment.

yay -S sddm-git

Once installed, use the below command to install a few Wayland packages.

  • xorg-xwayland: For running xclients under Wayland
  • xorg-xlsclients: List client applications running on a display (optional)
  • qt5-wayland: Qt APIs for Wayland
  • glfw-wayland: GUI app dev packages for Wayland
pacman -S --needed xorg-xwayland xorg-xlsclients qt5-wayland glfw-wayland

Second, install the plasma and associated apps with Wayland sessions using the below set of commands. Execute them in the order mentioned below.

pacman -S --needed plasma kde-applications
pacman -S --needed plasma-wayland-session

Note: If you are using NVIDIA, you may want to install egl-wayland package. However, I have not tried it.

Let’s install Firefox and Chromium as well, so that you can test Wayland is working properly.

pacman -S --needed firefox chromium

Once done, enable the display manager and NetworkManager service.

sudo systemctl enable sddm
sudo systemctl enable NetworkManager

The sddm display manager needs a little more tweaks. Using any text editor, open the sddm configuration file and add Current=breeze under [Theme].

sudo nano /usr/lib/sddm/sddm.conf.d/default.conf
[Theme]
# current theme name
 Current=breeze

Once done, save and close the file. And reboot.

reboot

And in the login screen, you should see the Wayland option. Select and log in to the Wayland session of KDE Plasma in Arch Linux.

Plasma Wayland session during login
Plasma Wayland session during login

You can also verify whether you are running Wayland using $XDG_SESSION_TYPE variable.

KDE Plasma with Wayland in Arch Linux
KDE Plasma with Wayland in Arch Linux

If you want to force Firefox to use Wayland, then open /etc/environment and add the following line.

MOZ_ENABLE_WAYLAND=1

Then, reboot or run below to take effect.

source /etc/environment

Open Firefox and go to about:support to verify the value against “Window protocol”. You can also run xlsclients from the terminal to see which external apps are running under Wayland.

However, in my test Firefox in KDE still runs with X-server emulation layer xwayland.

Firefox is using xwayland in KDE Plasma with Arch
Firefox is using xwayland in KDE Plasma with Arch

So, that completes the KDE Plasma setup with Wayland in Arch Linux.

Performance of Wayland KDE Plasma session in Arch

Overall, the KDE Plasma in Wayland with Arch Linux works well. Nothing show-stopper or any major problems. The spectacle app is able to take screenshots and screencasts. That being said, a few things I noticed while testing the session.

Firstly there is an intermittent flicker in the bottom panel while launching applications such as Dolphin. It’s inside the VirtualBox session.

Secondly, the mouse cursor behaviour is a little strange. The cursor is not changing its state from pointer to handle properly (see below).

Strange cursor behaviour

Third, KWin crashed when returning online from a standby/screen off (in VirtualBox without guest additions). This might be specific to the virtual machine, but it required a hard reboot to go back to the desktop.

The memory consumption is around 2GB in idle Wayland sessions with Arch Linux.

GNOME

The GDM display manager has full Wayland support in Arch Linux. First, install it using the below command:

pacman -S --needed gdm

Once installed, use the below command to install a few Wayland packages.

  • xorg-xwayland: For running xclients under Wayland
  • xorg-xlsclients: List client applications running on a display (optional)
  • glfw-wayland: GUI app dev packages for Wayland
pacman -S --needed xorg-xwayland xorg-xlsclients glfw-wayland

Second, install the plasma and associated apps with Wayland sessions using the below set of commands. Execute them in the order mentioned below.

sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme

Note: If you are using NVIDIA, you may want to install egl-wayland package. However, I have not tried it.

Let’s install Firefox and Chromium as well, so that you can test Wayland is working properly with GNOME.

pacman -S --needed firefox chromium

Once done, enable the display manager and NetworkManager service.

sudo systemctl enable gdm
sudo systemctl enable NetworkManager

Once done, save and close the file. And reboot.

reboot

And in the login screen, you should see the GNOME (Wayland) option. Select and log in to the Wayland session of GNOME in Arch Linux.

GNOME with Wayland running in Arch Linux
GNOME with Wayland running in Arch Linux

Performance of GNOME

If I compare GNOME and KDE Plasma, GNOME performed better with Wayland in Arch Linux. No significant problems or screen flickering in apps. This may be because of the recent changes done on GNOME 44 for Wayland, which landed in Arch Linux.

Also, Firefox runs natively in Wayland in GNOME, not using xwayland wrapper.

Firefox with Wayland in GNOME
Firefox with Wayland in GNOME

Troubleshooting common Wayland issues

While Wayland provides numerous benefits, you may encounter some challenges. Here are a few common issues and potential solutions:

  1. Dealing with incompatible applications: Some older or less commonly used applications may not yet have full Wayland support. Consider looking for alternative applications explicitly designed for Wayland or using XWayland as a compatibility layer.
  2. Addressing performance-related concerns: If you experience performance issues with specific applications, ensure you have installed the latest graphics drivers. Additionally, check if any specific compositor settings or application-specific tweaks can optimize performance.
  3. You can find more tips for troubleshooting on this page.

Conclusion

Setting up Wayland as your default display server in Arch Linux can significantly improve security, stability, and graphical performance. Following this guide’s installation and configuration steps, you can seamlessly transition from Xorg to Wayland and enjoy a more modern and efficient display experience.

However, you may find it a little complex for Arch Linux with Wayland since many items require special attention when things break.

I have not tested gaming on Arch with Wayland as part of this guide. Hence you may need to try that out after setting up. I hope this tutorial helps you to set up Wayland in Arch Linux.

Let me know how it goes for you in the comment box below.


Arindam

Creator and author of debugpoint.com. Connect with me via Telegram, đť•Ź (Twitter), or send us an email.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments