Further thoughts on Wayland

Previously on The Cat Fox Life, I wrote an accidentally now-infamous article on what I felt were lies/misconceptions that Wayland users were spreading about the Wayland system.

One of the Wayland community’s more prolific developers wrote a rebuttal to my article, then directly responded to me on HN. I hadn’t yet gotten around to properly responding to this in earnest, because I had a lot of personal IRL drama to deal with in February. I’m feeling a little under the weather today, with a minor head cold and sore throat, but Drew has reached out to me personally and the time to write this is now.

Before I begin, I feel like the original introduction to my previous article may have been worded slightly incorrectly. This was never an indictment of the developers of Wayland, but rather the rabid fanboys who spread BS on Reddit, forums, IRC, and such. There are rabid fanboys of systems I actually like, too; musl, s6, KDE, and Firefox come to mind. I don’t like those fanboys either, and I could probably write articles about lies they come up with, too. (Welcome to the Internet, I suppose.)

Drew wrote: LD_PRELOLAD hacks don't work if the compositor launches the programs - some simple .bashrc trick won't work, and getting the LD_PRELOAD into .bashrc requires being unsandboxed, which itself opens up a wealth of side channel attacks. None of this is a mark against Wayland - it's only one part of a secure system, and the other parts are mandatory.

That’s perfectly correct, and I noted in my previous article: “I’ve been told that mentioning something that uses LD_PRELOAD is cheating and that you could own any application, not just Wayland. That is true! But this is being sold as “impossible to keylog”. It isn’t.”. This isn’t a mark against Wayland, but again, a mark against dumb people saying things they shouldn’t be and generating buzz. There have been multiple people on IRC and Reddit that have said that Wayland is immune to keylogging without clarifying that it’s the protocol, not the implementation. The developers of Wayland know that you need to secure the whole system, but these fanboys don’t.

Drew wrote: many implementations are widely supported by older hardware. wlroots, which is the dominant Wayland ecosystem with over 75% of all compositors using it for their rendering, requires only GLESv2, which is the most broadly supported OpenGL standard.

I said in my article: “Wayland compositors universally require OpenGL profiles that older hardware, less expensive hardware, libre hardware, and most embedded chipsets do not provide.” GLESv2 is still not going to work on framebuffers, libre FPGAs, or embedded chipsets. At least, not without LLVMPipe, which would use a lot of CPU time and power on the hardware where it’d be relevant. That said, Drew wrote in his response: “writing an fbdev backend is totally possible and I’d merge it in wlroots if someone put in the time.” This gives me hope that perhaps it may be possible to run Wayland compositors on framebuffers some day. Additionally, I was too harsh when I said that Wayland is “designed” to “require” blobs. Of course it isn’t, and I shouldn’t have said that.

I would also like to note that although wlroots is used by “over 75% of all compositors”, there are four main compositors that I would suggest people think of when they think of Wayland: KWin (KDE Plasma), Mutter (GNOME, replacing Metacity), Sway, and Enlightenment. As far as I know, wlroots is only used by Sway out of these four. So while it has high number of market share, I’m not sure it has the same high number of installed user base, which coloured my initial perception on compositor GPU requirements. I am not sure what Mutter requires out of GPUs, but KWin’s Wayland compositor requires more than base GLESv2, and far more than KWin’s X11 compositor, which supports XRender (software) and OpenGL 2.0. Similarly, in my experience Enlightenment runs much better on older hardware using X11 rather than Wayland. It is good to know, though, that not all Wayland developers feel that they should be overutilising GPUs so much. I am glad that if wlroots had to require OpenGL, GLESv2 is the standard they chose.

Drew wrote: For network transparency, it wouldn't be difficult but no one who cares has stepped up to do the work. Multiple clipboards are now supported. Many of the pieces of remote desktop are in place, and again someone who cares needs to step up to implement the rest and tie it together. We are ready and waiting to support anyone who wants to step up to complete this work.

This was actually very nice to hear! Wayland developers seem to want network transparency, but just don’t have the interested parties right now to make it reality. It’s good to know that ideas are not rejected in Wayland like the Wayland proponents in /r/linux said they would be because “that’s legacy X11 garbage”. (I suppose this comes down, again, to fanboys yelling and screeching.)

Drew wrote: A bug in xorg-server will similarly bring down your X session. Driver bugs affect both. Bugs are addressed when they're found, what more do you want from us? Regardless, restart protocols are in the research phase and your comments about the security holes implicated are blatant speculation.

The difference being I rarely hit driver bugs or Xorg server bugs, but regularly hit compositor bugs. (KWin has crashed 27 times in the past year. Xorg, once, due to – you guessed it – a radeon.ko bug.)

Yes, the security holes are blatant speculation and were phrased in a mean and combative way. It was wrong and I publicly apologise, not only to Drew and other Wayland developers, but to any that may have felt personally attacked. Of course I didn’t mean it to be a personal attack, but it came off that way due to being written poorly. I regret that, and hope to learn from this experience.

As a conclusion, I still personally don’t see myself running Wayland any time soon. However, I would be happy and willing to merge Wayland packages in to Adélie Linux if someone is willing to maintain them.

Wednesday: Photos around Tulsa

No tech today. Haven’t been out on the open road for far too long. I took a few nice photos in the passenger seat as we were heading westward. (It was far too dark to take any photos when we went back east.)

[Cute cat, lounging on window sill]
Mr Gaz on his perch in my home office, just before we left
[Clouds over a shopping centre]
I believe these are Stratocumulus clouds, which had a rather striking appearance over Southroads today
[Clouds with a sunset on the horizon, offset by a highway exit sign]
A beautiful sky around twilight, taken from westbound I-44.
[Tulsa skyline with Arkansas River in front]
The downtown Tulsa skyline, as seen from the I-44 bridge over the Arkansas River.
[Adorable cat, but not as adorable as Mr Gaz]
As a bonus, this lovable four month old tabby is Shelby, and she’s currently available for adoption at the Tulsa Hills PetSmart. She is bubbly and loves scritches!

A day in the life of a PowerPC user

By extremely popular request, I’m going to blog my entire computing experience from yesterday (Saturday, the 24th of November, 2018). All of the events written here are real, and actually happened yesterday on my Talos II running Adélie Linux. Names have not been changed to protect the innocent.

When I walk in to my office, the first thing I do is open Konsole and switch to WeeChat, which runs in tmux. I read the backlog for the Adélie Linux and Talos Workstation channels, and view highlights I have from anywhere else. Then, I open Pidgin and catch up on what people have been saying in XMPP conversations (if any). By this time, I’m ready to put on my music for the day, so I switch to Audacious and load up a CD in the Blu-Ray drive connected to my Talos via USB 3.0.

After that, it’s on to Thunderbird 52 ESR, where I sift through my email. Occasionally I’ll copy a few interesting tidbits into KWrite, a simple text editor, to share with others later. (Sometimes I will think of new blog article ideas and will write them in KWrite as well, but that didn’t happen Saturday).

Then it’s on to Firefox, where I check the Adélie BTS, GitLab, and GitHub for any notifications. Depending on how many emails, messages, and notifications I’ve had, it may be time to change CDs — weekends are usually lighter, so I’m still listening to the same Pet Shop Boys album when I finish with that.

I caught up with a few friends on XMPP (via Pidgin) and Mastodon (via Firefox). After having some pleasant conversation, I left my office at this point to help my grandmother. When I came back, I went back to WeeChat and we discussed documentation layouts. Then I went into Firefox and edited the Adélie MediaWiki with status updates on the 1.0-BETA2 roadmap.

After that, I used OpenSSH in Konsole to connect to the new x86_64 builder and set it up with the proper configuration to start building x86_64 packages again. A very boring half hour later I went and played a game of Spider Solitaire using KPat on my Talos while the builder ran rsync for the package cache and cloned necessary Git repositories.

Now were a few fixes to our Web site, which I accomplished using a mixture of vim and Kate on the Talos. Then I used TigerVNC to connect to a remote VM, our European mirror, to inspect its status for a potential hardware upgrade.

KDE packaging is up next. We still had a few packages left from the KDE Applications Suite, so I brought up KDE’s home page in Firefox and copied the URLs into Konsole for newapkbuild. I packaged a few more KDE Applications using my Talos, and once I was satisfied they were working correctly, I signed my commits with GPG and then pushed them via Git so that they could be built on our builders.

Then I wrote more documentation in Kate and talked with some people in WeeChat, until I was satisfied with the progress made. Then I opened VLC and watched a few videos from YouTube before heading off to bed.


Wasn’t that the single-most boring blog post you ever read, just as I said it would be? I don’t know why so many people wanted me to write this out …

Happy Workaholic Day!

I’ve never been a big fan of stores being open on Thanksgiving Day, because I feel that American culture already emphasises consumerism and unhealthy obsessions with work enough. However, I rarely say anything, because what are you going to do with big-box retailers? They want some of that Black Friday money, and they typically don’t open until 9 PM or later on Thanksgiving — that’s late enough that I could see a reasonable amount of relaxation or family time being spent.

That is, until I opened my email yesterday afternoon and received this email from our local, “Oklahoma Proud” grocer, Reasor’s:

Open Thanksgiving - Regular Store Hours

I was definitely not Oklahoma Proud. I was Oklahoma Ashamed. I was also appalled and disgusted. They aren’t even treating Thanksgiving as a holiday. It’s just another work day in another work week. Some of their stores are open 24 hours — they won’t close at all for this holiday!

And it just kept coming. I received this email shortly after picking up our family’s meal package at The Fresh Market:

Open until 3pm Thanksgiving

That’s slightly better, but still doesn’t allow employees much freedom to spend Thanksgiving morning and afternoon the way they want to be able to.

American culture already penalises people enough for wanting to have a holiday outside of the federally-recognised ones. Some workplaces do not even allow you holidays (or “vacation days”), and the ones that do typically require you to work for a certain amount of time before receiving any. This is the next level, and in my opinion, going too far. When you start taking away the ability of people to have holidays at all, even when they are federally recognised, that is where I draw the line and say something is wrong. This is unhealthy for all involved, and will only lead to problems.