These are my notes from experimenting with building Wayland bits on OpenBSD during g2k23 in Tallinn… Thanks to the OpenBSD foundation for organizing this event.
This is still far from a complete running system as there are many issues on the road, but it’s a good start and it shows that it’s definitely not impossible to get Wayland running on OpenBSD.
This is one of the very few valid criticisms of Wayland: it’s designed and developed entirely for Linux, with no regard for BSD or other platforms. Now, I find this an entirely valid choice and completely understandable choice to make from the developers’ perspectives, but it’s still unpleasant that the BSD world is stuck with archaic, unmaintained X.org while the Linux world has moved on.
In that light, it’s great to see that Wayland may, in fact, not be as married to Linux as we think.
Haiku has a currently unaccelerated “in process” wayland port, Android works with hybris drivers. The BSD’s also have partial ports on top of libDRM.
The issue isn’t so much it not being portable, as nobody has done the work do port it… the code itself is portable enough from what I gather
Windows also has a port of weston as part of WSL… no idea on how well it works but it is there.
> The issue isn’t so much it not being portable, as nobody has done the work do port it… the code itself is portable enough from what I gather
This article shows the contrary. Wayland programs expect some Linuxisms: udeb, libinput, evdev.
The irony here is that OpenBSD has actually forked X.org into Xenocara, its own, much improved and more secure variant. OpenBSD doesn’t actually *need* Wayland but it’s nice to see someone working on it as an alternative to Xenocara. There is also the Arcan project which is a (relatively) BSD friendly analog to Wayland.
No morgan you need to watch “The Real Story Behind Wayland and X” the reality here is Xenocara does not fix the fundamental problems with X11.
Arcan does support Wayland clients with X11 support done with Xwayland. So you want X11 under Arcan you need some Wayland support in the host OS like it or not. Yes Arcan has it own protocol but the parts that you need to make a Wayland composer on BSD run make Arcan simple to port and work..
“Linux can converge towards Wayland + systemd + GNOME/KDE + Flatpak/Snap and the BSDs can stick with X11 + rc + Xfce + traditional packages.”
This idea is not workable. Few hard realities. Graphics drivers for BSD the upstream is basically Linux. Why BSD does not have the resources any more to code graphics drivers from scratch.
You move on to applications you find the same thing. There is limited developer time. Flatpak and Snap are attempts in the Linux world to reduce developer time usage porting applications.
It is a matter of time until we have Wayland only applications appear.
PS check the link the person doing Wayland on OpenBSD this is a developer of Xenocara.
I actually from an “ecosystem” perspective would rather have the BSDs keep using Xorg or Xenocara. It should remain distinct from Linux and offer a more traditional Unix system. If the BSDs copy everything Linux does, just years later, what’s the point?
Linux can converge towards Wayland + systemd + GNOME/KDE + Flatpak/Snap and the BSDs can stick with X11 + rc + Xfce + traditional packages.
The point may be that the BSDs are not trying to do something purely old-style Unix. BSD systems also intend to present users with a friendly, modern user interface — the way to achieve it, though, is different. And yes, the Linux ecosystem has adopted large pieces of functionality that are not native to the BSD world, as the ones you mention and many others… But many (right, not all) BSD developers will be interested in keeping and growing their user base (and their own enjoyment) by providing alternative routes to achieve what needs to be done in order to have a modern, attractive desktop system, better daemon supervision, more expedite available device enumeration, more easily connected desktop events/notification/interaction tools, and whatnot.
“Linux can converge towards Wayland + systemd + GNOME/KDE + Flatpak/Snap and the BSDs can stick with X11 + rc + Xfce + traditional packages.”
This plan cannot work. The reality here is that BSDs don’t make their own graphics drivers from scratch and most of the applications you have on BSD are developed first for Linux.
Wayland support is need on BSD to make porting applications from Linux to BSD cost effective. Xfce even has a Wayland plan so at some point even Xfce is going to be a Wayland compositor.
There is a problem as well systemd on Linux does not just replace the service management it also replaces the desktop session manager. Yes gnome and kde use systemd in place of their old script based session manager and more are following.
Yes XFCE on Linux user session management is systemd as well.
There have been fundamental changes on Linux. Historically each desktop environment under X11 provided their own session management solution systemd on Linux changes this. BSD need to come up with what is their generic user session management solution that all desktop environment can share.
Why is the shared bits user session management solution important. The reality here the Linux and BSD developers world are not unlimited resources.
There is going to come the time where application user want to run on BSD only has Wayland version. There is going to be the need for resource management and the like around users applications.
Yes as I noted the work to run Wayland on OpenBSD here was done by a Xenocara developer because he can see the writing on the wall. Like wayland or not is not the reason here. The important thing is users can run the application they want and in future you can bet some of them will be wayland only.