No, this is not an April Fool’s joke! After a busy couple months of development, I’m happy to announce that I’m releasing carbonOS 2022.1
What is carbonOS?
carbonOS is a 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 apps an 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?
- Latest upstream software: Including the stable Linux 5.16 series kernel, the GNOME 42 platform, and the latest security fixes.
- Desktop environment updates: There has been huge progress on making the
desktop environment easier to use and smoother, including:
- Official dark-mode support!
- Keyboard language selection
- A visual indicator for volume and brightness adjustments
- A visual refresh of the Graphite shell, to make it match GNOME 42’s theme changes
- Certain desktop components can now request high-priority scheduling from the system. This should increase overall desktop responsiveness.
- The Software app can now install and manage system updates!
- All of the latest GNOME 42 apps, many of which have been ported to GTK4!
- Easy system rollbacks: carbonOS’s system update manager,
os-updated, now provides an easy way
to undo and uninstall system updates. Just open a terminal and run
updatectl rollback
and it’ll uninstall the latest update (even if you’re currently booted into it!) - Standard codec support: carbonOS now provides a stable list of video and audio codecs provided by the system. To see the full compatibility list, check the wiki
- Docker compatibility: carbonOS now provides support for Docker containers via Podman
- Centralized privilege escalation: carbonOS now manages all privilege
escalation through Polkit, meaning that
pkexec
is now the standard (and only!) way to run commands as root. Note that even thoughsudo
support was dropped, it will continue to function innsbox
containers - Better hardware support: carbonOS now supports thunderbolt devices. It has also gained support for Vulkan graphics and Gallium Zink (OpenGL-on-Vulkan). This allows full compatibility with GPUs that only provide the Vulkan API, and may help with NVIDIA compatibility.
I’m happy to announce that, for the first time in project history, I’ve accepted code contributions from other people! I’d like to thank Alex Fuller and Kyle Rosenberg for their contributions this cycle! I’d also like to thank GitLab for Open Source for granting the project free access to GitLab Ultimate!
Future
A lot of work needs to be done before carbonOS is ready for prime time. For the next few releases, I’m planning on focusing on these areas:
- System Integrity & Data Protection: Using technologies like Secure Boot, TPM, systemd-homed, and fs-verity, carbonOS will verify every bit of system binaries and data at boot and during runtime. carbonOS will also fully encrypt all user data, including /var, /etc, and all the home directories. Of course, disabling secure boot in your firmware will allow modifications to be made to the system, however it will force carbonOS to behave more like a traditional full-disk-encrypted Linux distro (i.e. prompt for a password at boot). For more info, check out the issue on GitLab
- Graphite Desktop: Various parts of GDE still need to be implemented, like the overview screen. Also, missing/broken features like screen recording and configurable keyboard shortcuts will be corrected
- Build Improvements: There’s lots of small improvements that can be done to the build system to make the build process faster and overall better, including (but not limited to) redesigning debuginfo stripping, splitting out the whole-system bootstrap into its own module, and setting up CI/CD.
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!