Status update, March 2020

Published 2020-03-16 on Drew DeVault's blog

Hi there! I hope you’re reading this post snuggled up comfortably in your quarantine. Since I work from home, it’s not too different for me — I’m just brewing my own coffee instead of going to the coffee shop on the corner. Big thanks to everyone who’s taking their own measures to keep at-risk populations safe, and courage to those who are being hit the hardest. Let’s get that off our minds for a bit and enjoy some cool updates on projects you like.

In the Wayland world, I’ve been impressed with wlroots’ continued momentum post sway 1.0. Many of the latest changes are not immediately user-facing improvements, but are bringing us to a level of technical excellence which is unprecedented in this domain, and will help wlroots be the best solution for almost any use-case. Our legendarily slow renderer rewrite v6 has, for instance, grown legs recently. It’s being taken apart and implemented in a slower, more incremental way. To this end we’ve been teaching wlroots about swapchains, dmabuf fences (explicit synchronization), overhauling our DRM layer (again) to more comfortably map to a broader range of hardware setups, and developing a scene-graph API.

This all sounds very technical, but the thrust of it is that wlroots will have excellent performance even on embedded devices, and take better advantage of future generations of graphics hardware. In other respects, wlroots has been improving as well: on-screen keyboard and IME support, Xwayland support, our X11 and Wayland backends, and more corners of the software have seen marked progress under development recently. I’m very proud of wlroots: it’s the best Wayland system available, and we’re still polishing it to a mirror shine anyway. Great work to all of the contributors, thank you!

In the past week, I also spent some time on the Wayland Book, writing most of the chapter on input — all that remains is to write a section on updating the example code to support input. This is one of the last unwritten chapters for the first draft. I hope to have it finished soon! I also spent some time typesetting the book for print. Here’s a PDF of the first two chapters for print, let me know what you think! If there’s sufficient interest in a print book, my plan is to discount the price you paid for the online drafts from the purchase price of the print book. I’m planning to use the cash from the draft sales to finance the initial print runs. Thanks for your support

aerc has also seen some cool improvements this month, including initial support for PGP! Here’s a demo:

It’s fraught with problems, though, so it will be some time before this becomes stable for regular use. Other recent aerc improvements include pinning and re-ordering tabs, improved Maildir and NotMuch support, and dozens of bugfixes and improvements.

In SourceHut news, quite a lot of operations development has been underway. I spent a lot of time on monitoring improvements, and I wrote up an operations manual which documents everything. A new build box has also been provisioned to improve throughput as the CI service gets more popular with more demanding projects like Nim, NeoVim, and OpenSMTPD. This month also saw the release of git tag artifacts and build artifacts, which is a long requested feature. I’ll go into more details in the coming update on

I’ll leave you with a small teaser of the Big Secret Project:

fn puts (s: str) int;

export fn main int = {
    puts("Hello, world!");
$ [redacted] -o hello [redacted...]
$ ./hello
Hello, world!

Until next time!

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/ [mailing list etiquette]

Are you a free software maintainer who is struggling with stress, demanding users, overwork, or any other social problems in the course of your work? Please email me — I know how you feel, and I can lend a sympathetic ear and share some veteran advice.

Articles from blogs I follow around the net

A Satisfactory Way of Building

With apologies, as usual, to Christopher Alexander. Satisfactory is a first-person factory construction game. COVID-19 has given me license to spend FAR too much time playing it, and I’d like to share a few thoughts that I hope might prove useful, or at le…

via Aphyr: Posts June 21, 2020

Time to upgrade your monitor

A non-comprehensive and opinionated guide to best monitor for programming

via June 17, 2020

Status update, June 2020

Time for a new monthly status update! Let’s start with Wayland stuff. Once again I’ve continued working on wlroots’ DRM backend. I’ve submitted a bunch of bugfixes for all of the atomic refactoring done last month. I’ve also started working on integrating…

via emersion June 17, 2020

Generated by openring