시몽

Status update, May 2019

This month is a little special: it’s been one whole year I’ve started writing status updates!

My list of projects has been growing, little by little, and I now spend a pretty big slice of my “open-source contributions time” doing reviews. While this gives me less time to code, it also allows these projects to grow way faster. Unfortunately this also means I need to prioritize tasks – for instance I cannot reply to all bug reports (leaving it to the reporter or someone else to investigate and send a patch). Of course, having regular contributors helps a lot maintaining these projects!

This month I’ve released new versions of slurp and grim! You can now provide a list of pre-defined regions to slurp, this enables quick selection of outputs and windows (see the README examples). slurp now also supports selecting a single pixel, so combined with grim and ImageMagick you can use it as a color picker. grim can write PPM files, this is useful to speed it up when piping images into another program. Big thanks to the contributors who added these features!

I’ve also re-written kanshi in C. It was written in Rust previously, and this has been an issue for this project1. I want kanshi to be as low-maintenance as possible, but since I’m not a Rust magician it takes time to add features and fix bugs. Rust as a language is complicated, which makes it difficult for new contributors to jump in and send patches. Last, a lot of bugs were due to the Rust parser library used by kanshi, and I wanted to use the new output-management protocol so some re-writing was needed anyway. kanshi is a small utility, so thankfully re-writing it didn’t take a long time.

I’ve contributed to drm_info, a very nice utility written by ascent12 to print information about your GPUs. I’ve added support for JSON output, which makes it possible for a machine to interpret the output… And makes it possible to build a database of GPUs: drmdb. drmdb is useful for Linux graphics developers when they want to know whether a feature is widely supported, or what pixel formats are available on a specific platform for instance. Please contribute by uploading your GPUs’ data!

I’ve volunteered to maintain the go-mbox package, updated the API to prevent mutating messages, and made it so messages aren’t stored in memory before being read/written. I’ve also merged various patches for other my Go e-mail libraries (go-imap, go-maildir, go-message and friends). foxcpp has helped quite a lot and is still actively adding new features to maddy, thanks!

Last, I’ve started mentoring M. Stoeckl for his Google Summer of Code project: Network transparency with Wayland. He already has made good progress with the waypipe proxy. There are still lots of interesting details to fix and optimize, but it’s looking very promising!

That’s all for this month! Thanks for reading!


  1. It doesn’t mean Rust isn’t a good fit for other projects! ↩︎


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

Vulkan 1.4 sur Asahi Linux

English version follows. Aujourd’hui, Khronos Group a sorti la spécification 1.4 de l’API graphique standard Vulkan. Le projet Asahi Linux est fier d’annoncer le premier pilote Vulkan 1.4 pour le matériel d’Apple. En effet, notre pilote graphique Honeykrisp est…

via On Life and Lisp

Display/KMS Meeting at XDC 2024: Detailed Report

XDC 2024 in Montreal was another fantastic gathering for the Linux Graphics community. It was again a great time to immerse in the world of graphics development, engage in stimulating conversations, and learn from inspiring developers. Many Igalia colleagues …

via Wen.onweb

Unleashing Power: Enabling Super Pages on the RPi

Unleashing the power of 3D graphics in the Raspberry Pi is a key commitment for Igalia through its collaboration with Raspberry Pi. The introduction of Super Pages for the Raspberry Pi 4 and 5 marks another step in this journey, offering some performance enha…

via Maíra Canal

Generated by openring