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

Updates in March 2020

This post gives an overview of the recent updates to the Writing an OS in Rust blog and the corresponding libraries and tools. I focused my time this month on finishing the long-planned post about Async/Await. In addition to that, there were a few updates …

via Writing an OS in Rust April 1, 2020

Wayland clipboard and drag & drop

Clipboard and drag & drop are arguably one of the most complicated parts of the core Wayland protocol. They involve a lot of back-and-forth communication between three processes: the application where some content has been copied, the compositor, and …

via emersion March 26, 2020

Go, the Go Community, and the Pandemic

Go always comes second to more basic concerns like personal and family health and safety. Around the world, the past couple months have been terrible, and we are still at the start of this awful pandemic. There are days when it seems like wo…

via The Go Programming Language Blog March 25, 2020

Generated by openring