# August and September 2021 round-up

DevFeed: [August and September 2021 round-up](<https://devfeed.tech/articles/august-and-september-2021-round-up-32475.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-10-05-august-september-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-10-05T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [mruby](<https://devfeed.tech/topics/mruby.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [library](<https://devfeed.tech/tags/library.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>)

## AI overview

This Mobile NixOS project update covers merged work from August and September 2021, including automated validation of kernel configurations and a rewrite of early user-interface bindings using native code bindings. The changes improve build-time error reporting and debuggability.

## Source excerpt

This update is the nineteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 11 pull requests were merged. This report is not a report of flashy new features. Foundational work to make it possible to finish work on flashy new features had to be made. Validated kernel configurations One of the hardest tasks with doing a port, whether it's your first or your tenth, is figuring out the kernel configuration options that needs to be set, and those that should not be set. With the changes in #410, it is now entirely automated and part of both the normalization step, and the usual build steps. It means that when you normalize a kernel configuration with the tooling, the options that are required to be set or unset are set or unset accordingly automatically for the developer. Since it is also validated at build time, it means that any changes in the configurations that has not been handled by the maintainer will cause an obvious build failure with appropriate error messages. Hopefully this means that future ports are this much more trivial. Rewritten early user interface bindings While working on an upcoming feature requiring further use of the early user interface for Mobile NixOS, it was found that the FFI bindings for them were a dead-end. These bindings worked seemingly well enough, but had issues. The more easily observable issue was the lack of proper ownership tracking for the FFI object, which meant that anything made through the mruby bindings needed to be tracked manually or else garbage collection would free up resources it shouldn't have freed. The workarounds seemed enough. They were not, when tested against more and more complex applications. Further causing issues, the FFI bindings were basically not debuggable. Whenever a crash happened, it crashed way too late to allow debuggi