Skip to main content
  1. Posts/

OpenBSD and Wayland

·322 words·2 mins· loading · loading ·
Rafael Sadowski
Author
Rafael Sadowski
Shut up and hack

The last few days I jumped into the next rabbit hole and I would like to share some thoughts. With the helpful patches from FreeBSD I was able to quickly achieve success and port the Wayland base applications/libraries:

  • wayland-1.19.0
  • wayland-protocols-1.23
  • wayland-utils-1.0.0

After this quick one I was all excited, “hey this works way too well”. Time to become skeptical. But first let’s jump into the wonderful world of KDE/Qt5. Porting QtWayland, KWayland and plasma-framework with Wayland enabled much easier than thought. I figured even if this whole Wayland construct doesn’t work, fine, just resolving the dependencies is enough for me to port the KDE Plasma Desktop to OpenBSD.

At the point where I wanted to build KWin and SWAY I saw the full extent of the horror. Wayland is a drop in the bucket, we need to port the following libraries/applications:

When I read udev in the context of OpenBSD, my stomach turns. Welcome to the rabbit hole, welcome to hell.

But there seems to be a way out, a shortcut? Maybe: devd(8) from FreeBSD. If we could port devd to OpenBSD or replicate functionality we would have a good chance. We would have that the possibilities to port libudev-devd. This could solve the missing udev problem under OpenBSD, which would be very helpful for porting all other new stuff.

It would be worth a try, wouldn’t it?

You can find my work here: GitHub wip-ports kde-plasma-wip branch

2021-12-16 UPDATE:

The following Wayland applications/libraries were committed. That does not mean that they are useful or you can use wayland. They only serve as a dependency to build certain ports in the first place.

  • wayland-1.19.0
  • wayland-protocols-1.23
  • wayland-utils-1.0.0
  • kwayland-5.88.0
  • qtwayland-5.15.2

This also applies to wayland/xwayland In summary, there will be no Wayland in OpenBSD any time soon. Too few, if any, people are working on a solution here. YOU CAN CHANGE THAT!