I’m happy to finally introduce the third alpha release of carbonOS: 2022.2!
What is carbonOS?
carbonOS is an independent Linux distribution that focuses on UX and robust system design more than it does on compatibility with Linux tradition. It is an atomic distribution, which means that OS updates are always safe. The system’s layout ensures the integrity of system files. Unlike other atomic distros, carbonOS does not attempt to keep around traditional package management features: carbonOS is Flatpak-first for your apps and container-first for everything else.
carbonOS’s end goal is to be a distro that uses Linux’s unique capabilities to provide a secure, stable, and robust environment for users’ apps. I want it to be a general-purpose OS that the user doesn’t have to think about. Users should be able to game on it, work on it, program on it, and do whatever else they want without ever having to worry about the technical details of their operating system.
If you’d like a more detailed explanation of the project, including its development history, please see the original release announcement!
What’s New?
- Updated software: Including the latest 5.19 kernel, Mesa 22, glibc 2.36, and various security fixes.
- Desktop Environment Updates: Upgrade to GNOME 43 platform brings many improvements to preinstalled apps, built-in support for web apps, and numerous other improvements.
- Reconfigured kernel: A much more sensible kernel configuration, which enables missing drivers, disables extra/unused drivers, and better utilizes various other kernel features.
- Improvements for Intel platforms: We’ve enabled some Intel-specific
features that were previously missing:
- Microcode updates
- Thermal management using thermald
- Upgraded font selection: The set of system fonts is now unified, takes up less space, and supports many more Unicode characters. carbonOS can now display text in CJK scripts! You should see much less tofu
- Downloadable debuginfo: Debugging tools on carbonOS (on the development builds) will now download debuginfo on-demand using debuginfod. This allows for a good debugging experience without wasting space on disk with unused debug metadata.
- Split out system bootstrap: The bootstrap module is responsible for providing a basic build environment that can be used as a jumping-off point to build an OS. We have separated the bootstrap module out of carbonOS, allowing for reuse for other projects, more efficient builds, and easier porting to new architectures.
We’ve also got a few features that are still work-in-progress:
- Fingerprint scanner support: The settings app should detect and configure supported fingerprint scanners, but the lock screen has no explicit support for them yet.
- Dual-GPU support: You can launch programs on a specific GPU from the command-line, but this is not integrated into the desktop environment yet
- NVIDIA support: It should work, except the cursor will be invisible and we
don’t manage GPU power out of the box. You can work around this for now by
writing
WLR_NO_HARDWARE_CURSORS=1
into/etc/environment
. You will also need to run the commandssystemctl enable nvidia-{suspend,resume,hibernate}
andsystemctl enable --now nvidia-powerd
to enable power management.
There’s also a significant known issue:
- “Installation Failed” Error during installation: At the very end of OS installation, you might see an “Installation Failed” error. This is a known issue, and the installation has actually succeeded. You can ignore that error and reboot the system.
I’d like to thank Alex Fuller for their contributions to carbonOS this cycle!
What’s Next?
Loads more work needs to be done before carbonOS will be ready for everyday, production use. For the next few releases, I’m planning on focusing on these areas:
- Switch to GNOME Shell: Currently, carbonOS is using a custom desktop environment called Graphite. However, I have been unable to keep up with the quality and development speed of GNOME Shell, which means that Graphite would cripple carbonOS’s overall quality and experience. In the next release, I plan on replacing Graphite with GNOME shell, and I will refocus my DE development efforts on direct contributions to GNOME and adjacent projects. For more info on the motivations behind this change, and to follow development, check out the issue on GitLab
- System integrity and data protection: Using technologies like Secure Boot, TPM, systemd-homed, and many others, carbonOS will verify the integrity of every bit of operating system data at boot and during runtime. carbonOS will also fully encrypt all user data. Of course, you own your device so you will be able to disable this integrity check. For more info, and to follow the development of this feature, check out the issue on GitLab
- Build Enhancements: There’s still lots of work to do to improve the build process of carbonOS, including (but not limited to) setting up CI/CD, creating shared build artifact caches, and porting to the new BuildStream 2. These changes combined should allow me to fall into a faster release cycle.
- Incomplete features: Finish up the incomplete features listed in the “What’s New” section.
For more detail on these changes and to track progress, check out the milestone on GitLab!
Contributing
If you’re interested in contributing, there are many different ways you can! If you’d like to test out carbonOS, you can download it here. If you’d like to contribute code or translation, check out the source code and join the development channel: #carbonOS on Matrix. Thank you!