Wayfire

2024/01/13

Are you an advanced Linux user who:

but still wants a stable, performant, mature, customizable, yet minimalistic Wayland compositor?

Look no further than Wayfire, a stacking Wayland compositor.

Ilia Bozhinov, the creator of Wayfire, had this to say on what inspired him to create it:

You might wonder, why start yet another project? Why not use the already existing GNOME, KDE, Enlightenment (all of which support wayland to at least some extent)? In short: Because there is a need of a common base to build a lightweight, but fully-functional wayland-based DE with minimal effort. The long answer: because not everybody is willing to use a huge and resource-intensive (and for some people, bloated) DE…

Hopefully, that gives you a rough idea of what Wayfire is all about.

Other Compositors

If you’ve used Hyprland, you probably felt at times that it was experimental at best and just plain buggy, slow, or finicky at worst.

Now, Hyprland is still somewhat new, so I’ll cut it some slack. But I’m not going to use it, at least in its current state. I generally want to use software that many other people have been using for a while so the bugs get ironed out with time.

Also, in a few performance tests I saw, Wayfire always outperformed Hyprland. And Hyprland in general seems to have a lot of performance complaints from its users.

Sway is usable and cool (it’s relatively performant and bug-free), but the developers have long insisted on feature parity with i3, which makes it somewhat limited in it capibilities IMO.

There are other compositors, like dwl or river, but they’re too obscure, poorly documented, or have too few features for me to seriously consider using them.

Wayfire has been in development for almost 8 years as of the time of writing. This makes it pretty stable and featureful compared to most other compositors.

Configs

On KDE, your configuration is spread across dozens of files in ~/.config and ~/.local/share, which makes transferring your config a nightmare.

This is less of a nuisance on GNOME, where all your options live in ~/.config/dconf/user, but you can’t edit that file in a text editor. You have to manually “dump” your settings into a separate .ini file, edit that, then load them back into ~/.config/dconf/user, or just configure everything in the dconf editor GUI.

Wayfire’s configuration lives in two ordinary text files, ~/.config/wayfire.ini and ~/.config/wf-shell.ini. The first is for the compositor itself and all its plugins, while the second is for the shell which is optional (this includes the panel and its widgets as well as a bottom dock). This makes it easy to modify as well as transfer between systems, or store it in your dotfiles repo. You also get config hot-reloading like in Hyprland, which makes it much easier to get up and going with Wayfire.

Wayfire’s (numerous) options are all documented in this folder on the GitHub. There are also a few links on the GitHub to help you get started: Tutorial, General, Configuration.

Settings are grouped by the plugin they correspond to, with a “core” module devoted to general options. Pretty much any plugin you could want comes preinstalled and is maintained by the Wayfire devs, not by a third party. However, I believe there is still third-party plugin support.

Replicating GNOME

It is very easy to replicate almost all your favorite aspects of the GNOME desktop in Wayfire. Here is a brief overview:

Etc, etc. All of the above plugins are easily and highly configurable. There’s many I didn’t mention, including a few that provide some cool graphical effects if you’re into that.

Conclusion

You can install Wayfire and its official shell from the AUR on Arch Linux with:

yay -S wayfire wf-shell

Give Wayfire a try, you might like it!