# A Summer with Mobian: The Story of Tweakster (GSoC '25)

DevFeed: [A Summer with Mobian: The Story of Tweakster (GSoC '25)](<https://devfeed.tech/articles/a-summer-with-mobian-the-story-of-tweakster-gsoc-25-34241.md>)

Original publisher: [Read original article](<https://blog.mobian.org/posts/2025/08/a-summer-with-mobian/>)

Author: Mobian team

Published: 2025-08-23T08:34:47Z

Content type: opinion

Language: en

Sources: [Mobian's Blog](<https://devfeed.tech/sources/mobian-s-blog.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [systemd](<https://devfeed.tech/topics/systemd.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [boot](<https://devfeed.tech/tags/boot.md>), [debian](<https://devfeed.tech/tags/debian.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [systemd](<https://devfeed.tech/tags/systemd.md>)

## AI overview

A Google Summer of Code 2025 contributor describes refactoring tweakster for the Mobian project. The revised system daemon identifies a device, reads device-specific configuration, builds and installs a Debian package containing the required tweaks, and runs as a systemd service on first boot.

## Source excerpt

This summer, I had the incredible opportunity to work with the Mobian project for Google Summer of Code 2025. My goal was to continue the work on tweakster to a point where it could integrate smoothly with the Mobian ecosystem. This post is a summary of my work, the challenges I faced, and what's next for tweakster. The Root Problem Since the start of Mobian in 2020, the goal has always been clear: have one bootable image for all kinds of non-x86 devices. That's much harder than it sounds. There are subtle but crucial hardware differences across devices that require specific tweaks, making the mission of achieving a Universal Kernel on a system level very difficult. Another pain point is the significant number of new non-x86 Linux-capable devices that have hit the market in the past few years, especially ARM64 laptops, mobile phones, and tablets. Maintaining a device-specific package for each one is impractical. It would take us far away from the "universal system" dream and make Mobian devs' jobs even harder! How It All Started After a lot of thought from the team and my mentor, Arnaud (@a-wai), they came up with tweakster, the hero of our story. Simply put, tweakster is a system daemon that identifies the device it's running on by checking the device-tree compatible property. It then determines the necessary tweaks by reading a pre-prepared config file, processes tweaks files, then creates symlinks to the resulting files into the system. The first attempt in 2022, packaged for Debian, saw some improvements over the years, leading to its latest form in 2024. A Change in Plans It turned out the first attempt was a bit over-engineered. It needed a complete refactoring, following the philosophy of starting simple and growing methodically. This is where I came in. Working hand-in-hand with my mentors, Arnaud (@a-wai) and Jarrah (@Undef), we forged the new vision of tweakster, so it will eventually make it easier to ship Mobian to new devices. The new approach is simple