Matcha Linux
- 9 Devlogs
- 50 Total hours
An Alpine Linux based distribution that comes pre-packed with a nice GUI, shell etc... And, of course, is green!
An Alpine Linux based distribution that comes pre-packed with a nice GUI, shell etc... And, of course, is green!
This post is about everything that recently happened with Matcha Linux
Yes, gnome-console got boring, so I replaced it! With none other than ghostty. It’s great - has hardware rendering support, native integration with Kitty image rendering (so fastfetch renders the logo properly) and MANY color themes, one of which happens to perfectly match Matcha’s look and feel.
Since ghostty is from Alpine’s edge repos, I had to find a native way of tagging the packages both while building the iso, and installing the system.
Previous approach blindly installed every package from live ISO. This works only when every package is designed to be sourced from the stable branch. One edge package and updates (or maybe the whole system) breaks!
Now, a helper file helps install the necessary packages both onto the ISO and later system’s disk. Since packages are installed by their names, not separate files from some medium, the installation can also be way more accurate and, in some cases, more compact.
Ghostty loves OpenGL. But it relies on OpenGL 4.3+, and on hardware that doesn’t support this - crashes. Luckily, if GPU bridge fails, CPU can handle OpenGL operations just as well!
Matcha Linux, starting from today, is expecting hardware to support OpenGL 4.3+ to utilize the GPU for OpenGL APIs. Anything older than 2013-ish (which goes on par with UEFI requirement) would fail. In case of that happening, I added conditional rendering to use the CPU as a fallback.
For now, however, it’s system-wide (to support any other software built with OpenGL 4.3+). OpenGL ES is not supported on the GPU at the moment.
Who doesn’t love when their software just… Works?
The upgraded matcha-calamares installer now has a full cleanup stage, correctly catches errors regarding the install ISO presence, also has fixes for many other mount and install issues that could happen in earlier releases.
I love building this Linux distro. The challenges I have to face and the amount of operation ordering I have to do helps me improve. Structure is one of the skills I think humanity is yet to fully master, and i hope that one day, it can.
As for the future of Matcha, it will continue to grow! Tech never sleeps, new releases need updates, and Matcha mustn’t be left behind. I also have more ambitious stuff planned (like an update manager and distrobox install module for calamares), and they are the only thing I’m afraid of implementing.
For now, I’ll stick to making Matcha Linux as stable as possible, and then focus on something more exciting.
I hope more people find this distro to test, daily drive and share the feedback! Always exciting to engage with communities.
How I managed to achieve 3GB RAM usage in the live environment (but at the same time - break a couple things)
Probably not a surprise to you that Gnome desktop environment is a heavy beast. Well, as it turns out, it bundles a bunch of stuff that’s not technically required to run the system.
Alpine package gnome adds many apps (like calendar, weather and more) that aren’t relevant anymore. However, even though unused, they take up space, and in Alpine, the live environment installs every package onto ram to provide a diskless environment.
At first I tried making a filesystem capable of loading packages from mounted iso as it’s necessary for the install either way, but optimizing package selection turned out to be easier (besides - who has a 64bit system with less than 6GB ram these days?)
The fact that package selection is optimized to reduce Gnome’s bloat wasn’t enough to make the install environment lighter.
Alpine has a file /etc/apk/world in which every package that should be installed is defined. Utilizing it I could control what packages must appear within the live system, and which - not (because you probably don’t need a heavy browser before installing the system).
And they broke for me too. Certain admin functionality (like some polkit integrations) don’t work anymore due to the limited selection (and probably some hidden dependencies) of packages.
I think I have diagnozed the issue though - testing suggests that it could be the missing linux-pam package or some dbus initialization race conditions.
Besides implementing optimizations to the image (consequences of which I can hopefully fix), I also made sure to update extensions, as well as the matcha-calamares package that now has a broader support for systems and reduces crashes. The building pipeline was also slightly tweaked.
Either way, I’m off to fixing the issue, so see you in the next devlog!
Today, when one Hack Clubber pointed out that they wish to try Matcha Linux on Hyper-V, I thought it would work. Turns out I was completely wrong!
Linux, built with the LTS kernel instead of VM-specific (Virt), breaks on Hyper-V due to inability to pass the framebuffer through Hyper-V’s exceptional drivers (or so I think). The minimal terminal works, but flickers due to GDM trying to restart every few ms.
Implementing a dual-ISO build pipeline I fixed this issue and also made Matcha Linux and its packages work on top of a new Alpine (v3.24) release. Thought it would be harder, but both Alpine itself, and Gnome 50 play along very well!
Also added Hyper-V specific instructions to the README.
I was really surprised with how this OS turned out. After what seemed like a rollercoaster of issues that had me stumped for a while, and countless hours of debugging, I STILL managed to deliver a working product this soon. It relieved me, and I can consider myself both lucky and proud.
After fixing all said issues in the previous devlogs, I present Matcha Linux 2026.06.09 - the initial release.
Matcha Linux was made to combat e-waste, hardware pricing increase and provide a beautiful yet customizable experience to absolutely anyone! By being able to run it on any x86_64 UEFI-compatible piece of hardware, using very few resources, Matcha Linux aims to be the primary choice for people trying to escape bloat.
What was fixed since the last devlog:
Additional tweaks:
I consider this experience a lesson not only about Linux, but also the need of doing things sequentally, planning and always going forward, no matter what challenge waits up front.
YES! But these things may be quite difficult:
I hope this project inspires many people to build projects and solve problems for the whole world.
Open source, as it should be.
Several bugs fixed! (And one drawback taken)
First off, with the fixes:
Drawback (the sad part):
What remains broken:
After fixing said issues the project will be ready to ship. Hopefully it shouldn’t take more than a week
I have successfully resolved the issues found in the earlier build, and everything works (almost) flawlessly now!
New things:
However, I have noticed some bugs that are worth taking a look into:
After fixing those, Matcha Linux can finally ship!
Since the last devlog, I put in a LOT of work to make the whole OS build properly
This includes:
Next steps are:
FINALLY did I fix the system running incorrectly
Turns out, the problem was a faulty overlay that kept overwriting user account files, thus revoking the ability for some system services to run!
Now the system installs beautifully, runs even prettier, only thing left is to test whether there is no junk in a fresh system and the user is set up correctly and if the startup times could be improved (unless it’s VirtualBox-specific)
Other goals haven’t changed since the last devlog, but I am starting to question if I really need to write software for this distribution myself (for issuing updates, etc…) because the process should be fairly straightforward
First devlog, and with good news already!
After successfully porting Calamares installer over to Alpine Linux, today I also made it install the system correctly
The issue was bad grub configuration that either did not mount the system or did not load ext4 kernel module
With that resolved (and a bit of a rework on live iso build profile) Matcha Linux is one step closer to being at least usabe post-install
Remaining issues are:
Remaining steps are:
Future plans: