Wayland, and Weston, and FreeBSD – oh my!

KDE’s CI system for FreeBSD (that is, what upstream runs to continuously test KDE git code on the FreeBSD platform) is missing some bits and failing some tests because of Wayland. Or rather, because FreeBSD now has Wayland, but not Qt5-Wayland, and no Weston either (the reference implementation of a Wayland compositor).

Today I went hunting for the bits and pieces needed to make that happen. Fortunately, all the heavy lifting has already been done: there is a Weston port prepared and there was a Qt5-Wayland port well-hidden in the Area51 plasma5/ branch.

I have taken the liberty of pulling them into the Area51 repository as branch qtwayland. That way we can nudge Weston forward, and/or push Qt5-Wayland in separately. Nicest from a testing perspective is probably doing both at the same time.

I picked a random “Hello World” Wayland tutorial and also built a minimal Qt program (using QMessageBox::question, my favorite function to hate right now, because of its i18n characteristics). Then, setting XDG_RUNTIME_DIR to /tmp/xdg, I could start Weston (as an X11 client), wayland-hello (as a Wayland client, displaying in Weston) and qt-hello (as either an X11 client, or as a Wayland client). The result is this:

Screenshot with Plasma 5 and Weston

Plasma 5 Desktop from Area51, with Weston running in X as a Wayland compositor, and two sample Wayland clients displaying in Weston.

So this gives users of Area51 (while shufflinig branches, granted) a modern desktop and modern display capabilities. Oh my!

It will take a few days for this to trickle up and/or down so that the CI can benefit and we can make sure that KWin’s tests all work on FreeBSD, but it’s another good step towards tight CI and another small step towards KDE Plasma 5 on the desktop on FreeBSD.

13 thoughts on “Wayland, and Weston, and FreeBSD – oh my!

  1. great progress!!!
    While Wayland still has not taken off on any major Linux distro progressing on FreeBSD front is welcomed.

      • Yeah, Fedora ships it, KDE Neon tried being Wayland-by-default for a week (except the installer isn’t Wayland-compatible due to security restrictions) . Mostly it’s a long road. And don’t expect it to suddenly take off on FreeBSD either, eh.

  2. Next step: running KWin! I just merged a patch for consolekit support, so another issue resolved.

    • It’s really great to see how well we’re now up- and down-streaming things. A next step is trying an all-Wayland Plasma 5 session; I need to do some research on how to actually do that.

  3. Pingback: KDE Plasma 5 avanzando en FreeBSD, con soporte de Wayland / Weston – Maslinux

  4. Well done! How can i help? Not coding 😉

    • Testing, testing, 1 .. 2 .. 3! But right now you won’t escape some serious sysadmin work and building packages yourself. If you’re particularly interested in Weston, get Area51 (https://community.kde.org/FreeBSD/Setup/Area51) checked out, switch to qtwayland/ branch, build mesa-libs, weston, and qtwayland. If you’re interested in Plasma on FreeBSD, use the plasma5/ branch (no wayland, but you do get the whole Plasma desktop).

      Also, just going over the FreeBSD pages on KDE Community and making them better (more examples, better writing, diagrams, whatever) is valuable too.

  5. This all looks interesting, but what about the KDE5 **Apps** landing in the regular ports tree? KDE apps in FreeBSD ports are literally years old, with countless bugs and upstream doesn’t even accept reports for these anymore.

    I don’t want to sound complainy, but the focus on Plasma as a desktop and silly little widgets is what drove a lot of people away from KDE and its former high quality applications (KMail, Kile, Kate, KDevelop..). On FreeBSD the situation is especially dire with the application packages never having shipped.

    • Totally separate issue. As far as Plasma + KDE Applications goes, those have been available, tracking KDE releases, for years now; tracking the plasma5/ branch in Area51 gets you all the modern KDE software. Getting that into official ports is a manpower issue: chasing all the updates, making MOVED and UPDATED entries for everything and ensuring that existing systems don’t break, it a really, really, big task.

      • Yeah, I know its a separate issue, thanks for taking the time to reply!

        I also know that new stuff is in area51, but it is of little help. General FreeBSD packaging has improved so much and port building tools (portupgrade, portmaster..) have degraded so much, that using ports is a real hassle nowadays, especially on productive machines (I need FreeBSD more to do other programming work than I have time to work on FreeBSD :S ).

        I am more than willing to test packages and report any and all issues I find, but I simply don’t have the resources to give up on binary packages and start fiddling different port branches together, rebuilding the whole thing every week and then hoping it doesn’t break a component that I need for work.

        On a sidenote: I think blindly just merging the KDE app ports into the regular ports tree cannot make things worse right now, because the bit-rot of the current ports is so severe. At least you would get feedback, bug-reports and people could complain upstream for stuff that is broken upstream. Right now people are just frustrated and move to different software, because they see no progress at all in years.
        -> push early, push often to the main tree and maybe even new people will get involved, because they see activity.

        OR maybe get trueOS to provide weekly complete package builds of ports/Latest merged with area51… that might also work (I remember that there used to be a mirror, but combining it with the official one broke everything when I tested it).

        • You may have missed the part of the Area51 documentation which points to continuously built packages for 11.0 (11-STABLE) amd64. I’ve blogged about that just now as well.

  6. Pingback: Для FreeBSD реализована поддержка Weston и Qt5-Wayland | Linux-House.ru