Funtoo Wayland Project
Funtoo is a user driven distribution. Most active users used only X, and Wayland support was left unattended for some time. Wayland support has not been made a priority. This situation has made Funtoo a distribution less than ideal for Wayland users, which created chicken and egg problem: Funtoo doesn't fully support Wayland because not many people use Wayland on Funtoo; and not many people use Wayland on Funtoo because it's not fully supported.
The first step towards breaking this cycle is to gather the users who would like to see Wayland fully supported on Funtoo and start a coordinated effort towards making that a reality. This project is not only about bringing a minimal level support to Funtoo. It's about bringing and maintaining the best support available in any Linux distribution.
If you would like to take part in this exciting effort, please talk to us on Discord and become a project member! These are some activities you could take part:
- Supporting Wayland on Gnome.
- Supporting Wayland on KDE.
- Adding autogens and ebuilds for other compositors, such as Sway, Wayfire, River, Hikari, etc.
- Adding autogens and ebuilds for tools and utilities, such as wl-clipboard, waybar, dmenu, bemenu, etc.
- Supporting Wayland on individual applications, such as Chrome, Firefox, OBS-Studio, etc.
- Testing and reporting bugs.
- Writing documentation for general configuration, environment variables and so on.
- Writing documentation for individual packages or different compositor stacks.
- Bringing new ideas to the project, looking for quality Wayland-related projects that haven't been packaged yet.
Updated and new ebuilds (xorg-server, xorg-proto, libxcvt, xwayland) are due to be tested in harvester/2024-02 to identify issues and ensure the changes are ready for next-release across desktops and servers. This page will be updated when the changes are in harvester/2024-02, at which point the steps in the subpage Funtoo:Wayland/EnablingWayland should be followed to enable wayland testing.
Our work should progress according to the following order of priority: (1) The major desktop environments, (2) other Wayland compositors, (3) Wayland tools and utilities, (4) major software packages, (5) other desktop environments with optional Wayland support.
Gnome Wayland Support
Gnome is the default desktop environment in Funtoo. It is currently the only one with Grade A support, and it's frequently tested. For this reason, it makes sense that it be the first one to receive Wayland support.
The ebuilds brought over from Gentoo come with Wayland support and Gnome itself supports it out of the box. So, the work here is basically getting Gnome to correctly compile with the
wayland USE flag enabled and setting up the environment variables correctly, so that Gnome can be properly launched and run on Wayland.
KDE Wayland Support
KDE, too, offers Wayland support out of the box. So the work here is very similar to what would be done for the Gnome Desktop. However, QT-based application running on Wayland seem to misbehave outside of KDE. That needs to be properly addressed, as any KDE software should be able to run on a Wayland Gnome environment or any of the various alternative compositors.
Major Software Packages
Make sure that Firefox, Chrome, Libreoffice and other applications that are not part of the Gnome and KDE sets run properly on Wayland. This might include creating wrappers to launch the application with the correct command line arguments or environment variables, and managing those options through an eselect plugin.
Support for other Wayland Compositors
Other standalone compositors should be added, starting with the most popular one, which is Sway, and then progressing, according to the demand to others like Wayfire, River and Hikari.
Wayland Tools and Utilities
There is a constellation of small tools and utilities that can be used from any compositor, like wl-clipboard, waybar, dmenu, etc. There are also many new high quality utilities being created every year, many of which haven't even been packaged by Gentoo or any other distro for that matter. We can potentially have a large assortment of utilities with very little maintenance impact, as most of them are simple packages that can be easily autogenned.
Wayland offers support for X-only packages through XWayland, which is a package that actually belongs to the x11-base set, and whose release scheme follows that of Xorg packages. This means that any Wayland package that needs XWayland will be tied to whatever version of Xorg that is available on the distribution. This means that if we want to have bleeding-edge Wayland compositors, we will also need to have a compatible Xorg stack.
Therefore, it probably makes sense waiting until we have an up to date Xorg version available before diving too deep into supporting Wayland compositors.