시몽

Status update, November 2020

Hi! It’s getting chilly over here, so I’m spending more time reading by the fireplace. Fortunately, the cold doesn’t yet prevent my fingers from typing lines of code, so let’s see what’s new this month!

First off, I’ve worked on a talk about the Kernel Mode-Setting (KMS) interface for the foss-north conference. My goal was to explain what it is, what it’s useful for and how to use it to get an image displayed on screen. It’s just an introduction, but also contains external links and suggestions for next steps if you want to go further.

KMS documentation is sparse, and this is one of my efforts to improve it alongside drmdb, various kernel patches, and recently a libdrm patch as well. I’ve received a lot of good feedback for this talk, so this is pretty motivating to continue these efforts!

In Wayland news, Drew DeVault has decided to hand over the maintenance of wlroots and Sway. In practice this shouldn’t change a lot of things, apart from the fact releases are now signed with my PGP key. Thanks for trusting me!

I’ve released wlroots 0.12, which mostly contains bug fixes and minor improvements. But some exciting stuff is lined up for the next release: the massive renderer v6 refactoring has finally started inside the DRM and headless backends. My plan is to keep renderer v6 an internal detail for now to not break our API, extend it to all backends (X11 and Wayland), move the common bits outside of the backends into wlr_output, then expose the new interfaces to allow compositors to take advantage of them.

I’ve also helped out a little the GPU hotplug pull request by doing some refactoring that should make it easier to implement this new feature.

I’ve worked on Valve’s gamescope as well. I’ve chased down a bug that required completing the TitanFall 2 gauntlet in less than 1 minute, so had a good excuse to play while working :P. I’m still working on making gamescope take full advantage of KMS planes, and that also benefits the rest of the ecosystem since I’ve written some libliftoff and amdgpu patches as well (more are to come!).

I’ve also become a FreeDesktop.Org sysadmin this month. My main goal is to improve our mailing list setup (by setting up ARC for instance), but I’ve also been helping out in some domain name migrations.

I’ve started two new projects this month. The first one is scfg: it’s a simple configuration file format very similar to the ones used by Sway/i3, Caddy, kanshi, tlstunnel and many more. I think it has its uses when you need something more expressive than INI, but less complicated than YAML/TOML/HCL. The format itself should sound familiar to many people. There are already 4 scfg implementations (C, Go, Python and Rust).

I’ve continued my work on tlstunnel, and created a new project designed to be used in tandem with it: kimchi. I really like some parts of Caddy, but dislike Caddy v2 (scope too large and a bunch of bad decisions). I’ve quickly hacked together a minimal HTTP server which supports the PROXY protocol so that it can integrate well with tlstunnel. kimchi now almost fits my personal needs, I’ll migrate to it once I’ve filled the holes.

One last thing worth noting is the renewed activity on basu. The official D-Bus library is a pain to use, so my tools use libsystemd’s D-Bus library instead, which makes it a little bit less painful to deal with D-Bus. However libsystemd’s D-Bus library isn’t available on systems without systemd nor elogind. basu exposes the same API as a stand-alone library. It now compiles fine on Alpine Linux, and I hope we can get FreeBSD support as well at some point. Thanks Kenny Levinsen and Hummer12007 for helping out!

That’s all for this month! See you!


Questions, comments? Please use my public inbox by sending a plain-text email to ~emersion/public-inbox@lists.sr.ht.

Articles from blogs I follow

Reverse-engineering the Mali G78

After a month of reverse-engineering, we’re excited to release documentation on the Valhall instruction set, available as a PDF. The findings are summarized in an XML architecture description for machine consumption. In tandem with the documentation, we’v…

via On Life and Lisp

Status update, July 2021

Hallo uit Nederland! I’m writing to you from a temporary workstation in Amsterdam, pending the installation of a better one that I’ll put together after I visit a furniture store today. I’ve had to slow a few things down somewhat while I prepare for this mov…

via Drew DeVault's blog

Updating the Go Memory Model

What changes should we make to Go's memory model? (Memory Models, Part 3)

via research!rsc

Generated by openring