시몽

Status update, December 2019

I’ve stopped writing status updates for a while, because I had too little time while working at Intel. Now that I’ve joined SourceHut and I’m working full-time on open-source software, I have much more things to talk about when it comes to monthly contributions!

wxrc

I’ve spent my first month at SourceHut working on virtual reality. Together with Drew, we added GLES support to Monado and built wxrc, a wlroots-based compositor for VR.

htop terminal window blended in a 3D scene

We’ve got pretty far: you can use wxrc to spawn windows in a 3D space, interact with them, manipulate them, change the scenery and spawn 3D objects. The result is pretty cool!

New project: koushin

This month I’ve started building a new webmail called koushin. The goal is to write a simple, secure and fast webmail:

  • Easy to deploy: written in Go, almost zero-configuration, single binary
  • Extensible & customizable: themes allows to change how koushin looks, plugins allows to change how it behaves
  • JavaScript is optional (for the default themes and plugins)

Plugins are designed to be pretty powerful, they can add additional functionality to existing pages and add new ones. They can be written in Go or in Lua, each language having its own upsides. Things like contacts, calendar, e-mail filters can be implemented via plugins. In fact, all of the current pages are already bundled in a plugin and don’t live in the core.

Drew contributed a SourceHut theme, see the cool screenshots below. Of course the project is very young so everything is still pretty barebones, but it should be easy to build upon the current architecture. Thanks Migadu for sponsoring this work!

The mailbox view

The mesage view

Replying to a message

libliftoff & glider

I’ve made good progress on the libliftoff front as well. I’ve focused on glider, an experimental libliftoff-based Wayland compositor. I want to prove that libliftoff’s design works and incubate future wlroots APIs.

I’ve got to the point where glider can render a surface, either by compositing it or by displaying it in a hardware plane if supported. I’ve made some early power consumption benchmarks and it seems like libliftoff does help improving battery life!

The next steps include adding support for multiple outputs to glider, performing more benchmarks (e.g. while playing a video or browsing the web) and make libliftoff smarter.

My FOSDEM libliftoff talk has been accepted, so if you’re interested in an introduction to KMS planes and a detailed status update, make sure to come watch it!

mrsh

Regarding mrsh, I’ve mostly fixed bugs this month. Almost all of the hard problems have been fleshed out and I think we’re not too far from a first unstable release. Thanks to everyone who reported their issues and sent patches! I’ll continue to focus on fixing more bugs and testing more shell scripts.


I’ve done a lot of other things as well. The new wayland-protocols governance document has been accepted, which means there are now clear processes to introduce new protocols and make changes to existing ones. GitLab merge requests are now used and CI is in place.

I’ve also worked on python-emailthreads, the library that powers SourceHut’s patch review UI. I fixed the unit tests, introduced new tests and fixed the bugs discovered by tests.

I figured out what caused quite a few crashes on output hotplug in wlroots. In Sway, I’ve added auto-detection of output scale, so your laptop’s HiDPI monitor should just work without any configuration.

In the next few weeks I’ll continue working on koushin, libliftoff and mrsh. Thanks to a generous contributor I also got my hands on a FreeSync monitor, so expect some updates in this area as well!


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

M2dir: treating mails as files without going crazy

Sometime recently in the past I complained about Maildir. You can go read the post, but the executive summary is that I think Maildir uses an actively user-hostile directory structure and extremely convoluted filenames that do not convey any meaning at all. …

via blogfehler!

Quick Post

Super Fast

via Mike Blumenkrantz

The xz attack shell script

A detailed walkthrough of the xz attack shell script.

via research!rsc

Generated by openring