Chimera Linux works toward a simplified desktop
Chimera Linux is a new distribution
designed to be "simple, transparent, and easy to pick up
". The
distribution is built from scratch, and
recently announced its first beta release. While the documentation and
installation process are both a bit rough, the project already provides a
usable desktop with plenty of useful software — one built primarily on
tools adopted from BSD.
Chimera Linux was started by "q66" (who
previously worked on Void Linux)
in 2021 with the goal of creating a modern
distribution that could "eliminate legacy cruft where possible
" to provide
a simple, practical desktop. In service of that goal, the project is based on
BSD tools. Chimera's
frequently asked questions page
explains that unlike other projects that
use those tools for licensing reasons,
project picked BSD tools for their smaller code size and reduced complexity.
Bootstrapping a modern Linux distribution is quite complex, with many packages that
depend on other packages; using BSD tools allowed the project to avoid a lot of
that complexity. For example, Chimera uses
musl as its C library, which cuts out a lot
of dependencies from the
GNU C library.
Some people may also say that the BSD licensing is its own benefit. We do not say that, because as far as core userland goes, the licensing is more or less meaningless for us and we could easily live with the GPL. Therefore, this is largely a technical decision for us. While the benefits may seem small to some, they are there, and they matter to the project.
That same drive for simplicity also motivated the project to eschew
systemd. The project's documentation calls systemd's implementation
"rather messy
", but also acknowledges that "it has been a net
functional improvement for Linux
". Chimera acknowledges that systemd has a
lot of features and tools, but ended up deciding that the cost of maintaining
compatibility with how systemd expects a Linux system to behave is just too
high.
At the same time, the project specifically disavows any association with "the
so-called 'systemd-free community', which tends to spread a lot of
misconceptions and frankly deranged opinions that [end] up hurting any sort of
positive effort.
" Chimera Linux is focused on building a simplified, usable
Linux system — and not on getting into fights about what software the
contributors do or do not use to get there. This pragmatic approach has been
attractive to contributors, and now q66 has been joined by
Isaac Freund (a contributor to Zig and
the author of
waylock) as a co-maintainer, and more
than a hundred other contributors.
But the choice to eschew systemd itself causes a number of problems for the distribution. For example, systemd's logind daemon handles tracking user sessions; without systemd, Chimera needs another solution for that. The project's current approach is a standalone fork of logind called elogind, but the eventual plan is to develop an API that works with both logind and any other session-tracking software. The project's documentation cites this as another benefit of choosing less common software: it presents an opportunity to try to improve the portability of existing programs.
For service management, Chimera uses the Dinit init system, which also has a focus on portability. Dinit offers some of the same core features of systemd — a daemon that supervises system services based on a configuration, including user services — but delegates everything outside that core scope to other programs. Chimera supports several architectures, including x86_64, ppc64, ppc64le, aarch64, and riscv64.
Installation
Chimera Linux does not yet have a graphical installer. The installation process is done mostly by hand, from a live image. People who have previously installed Arch or Gentoo will find the process familiar. The project publishes several live images to use, including a minimal, console-only version, a GNOME version, and a KDE Plasma version. Users who haven't previously had a reason to install a Linux system without the aid of an installer will probably find using the GNOME or KDE version easiest, so that they can refer to the online documentation as they go.
Regardless of which live image is used, the process is the same: configure disk
partitions (with
cfdisk),
set up file systems, mount them in the desired configuration, and then set up
the system inside a chroot.
The installation documentation contains
a section on
partitioning, including suggestions for different architectures. Chimera
supports many different configurations, leaving the user free to carve up their
disk as they please — but does not support having /usr on a
separate partition. Chimera is "fully /usr merged
", and stores some
programs that are needed to mount disks and fully boot the system there.
Once disks and filesystems are set up, the chimera-bootstrap tool sets up the minimum required tooling for the new installation; by default, this consists of packages fetched from Chimera's package repository, but it can also be instructed to copy the packages from the live image for offline installations. Chimera uses Alpine Package Keeper (APK), Alpine Linux's package manager, but its packages are not derived from Alpine's. APK can be used to install additional software — including a kernel and bootloader, at a minimum, since chimera-bootstrap doesn't include either of those, perhaps so that users can have a choice of which kernel package to install. The sections in the installation documentation make a de-facto checklist for what needs to be set up before rebooting into the new installation, but the documentation is really more a list of ways that a user could choose to configure things than a prescriptive set of steps to follow.
Software
Most users will want to install a desktop environment, which also doesn't come by default (although the package for the corresponding desktop environment is available on the live image, for offline installations). Chimera's recommended desktop is GNOME (using Wayland, but X11 is also supported), but several others are packaged for the distribution. When installing GNOME, there isn't much software installed by default. It comes with the Web browser, along with the other basic tools from Apps for GNOME.
More common software, such as Firefox and LibreOffice, is available from the package repository, however, which has nearly 10,000 packages available. Since Chimera doesn't ship the GNU C library, software that relies on it will not work. Most software is able to use musl, but pre-compiled binaries, such as proprietary software, tends to break. If the user needs applications that require it anyway, the documentation recommends installing Flatpak and using that to run such software in a more typical container.
The choice of BSD tools and lack of systemd don't really impact the day-to-day
use of the system; other than substituting
doas for sudo, the other command line software that I use
in a normal day worked just fine. For development, however, some software is
conspicuously missing; Chimera
doesn't package GCC for all its architectures, for example, although it does package
GCC as a cross-compiler for aarch64, arm, and riscv64. The default C compiler is
Clang, and tools such as make and [Edit: GNU make is
now the default] tar use the BSD versions by default, even when
the GNU versions are packaged.
Updates are fairly simple; APK is not a BSD-style system that builds installed software from scratch, but rather a normal Linux package manager. The distribution hosts pre-compiled binary packages, but the packages can also be compiled by hand from the definitions. There are a handful of contributors making sure important software stays up to date, but in my research I wasn't able to find a documented process for security updates — something the distribution will almost certainly need as it grows.
Overall, Chimera Linux seems to have made a good step toward its goal of creating a simplified Linux desktop. The distribution is definitely usable, and offers a good amount of flexibility for experienced users, while still being relatively simple. Still, there are some rough spots. The manual and somewhat idiosyncratic installation process will put some people off — and the people who wouldn't be put off are probably expert users who have their own existing setups.
The future
In 2025, the project plans to focus on smoothing out a handful of sharp edges, mostly related to doing service management without systemd. In particular, making progress toward the goal of removing elogind and replacing it with a custom solution. Planning, discussion about development, and user support all happen on IRC in OFTC's #chimera-linux channel, or in the bridged Matrix channel. There is also a somewhat active Reddit community and an official Mastodon account for the project, which shares progress updates.
Chimera's alpha phase took a year and a half, from June 2023 to December 2024; if the beta takes the same amount of time, it could see a 1.0 release in 2026. On the other hand, the project has grown quickly, so it may reach a stable release sooner rather than later. Where exactly Chimera will be in another 18 months, and whether it will prove useful to more than it's current small yet dedicated community, remains to be seen.
Posted Jan 13, 2025 23:59 UTC (Mon)
by wezm (subscriber, #139623)
[Link] (3 responses)
Posted Jan 14, 2025 12:58 UTC (Tue)
by daroc (editor, #160859)
[Link] (2 responses)
Posted Jan 14, 2025 16:12 UTC (Tue)
by q66 (guest, #175441)
[Link] (1 responses)
there is an actual gcc template for a full linux toolchain in the user/ repository, but it does not get built into binary packages (yet) due to being work in progress (and it fails to bootstrap on ppc64le right now)
that is a complete toolchain, minus libstdc++ (it targets libc++ ootb to generate binaries that are abi-compatible with the rest of the distro)
Posted Jan 15, 2025 8:04 UTC (Wed)
by jmalcolm (subscriber, #8876)
[Link]
Posted Jan 14, 2025 1:26 UTC (Tue)
by proski (subscriber, #104)
[Link] (9 responses)
Posted Jan 14, 2025 5:28 UTC (Tue)
by hmanning77 (subscriber, #160992)
[Link]
Posted Jan 14, 2025 5:54 UTC (Tue)
by raven667 (subscriber, #5198)
[Link]
Now that I'm thinking about it, I'm wondering if some of the rabid anti-*whatever modern system design* are really having feelings about style and aesthetic but think that only technical arguments are respected so instead of describing their feelings on the impersonal nature of operating systems which target a wide (often corporate/professional) audience, they make incoherent/inaccurate arguments about the technology that a lot of people find unconvincing, dancing around the real issue.
Posted Jan 14, 2025 9:48 UTC (Tue)
by ceplm (subscriber, #41334)
[Link] (5 responses)
Otherwise, I am in complete awe of maintainers of truly amateur based distros, knowing how incredible huge amount of work goes into a large distro (being a SUSE employee). It seems to me impossible but these people, Gentoo, and Alpine enthusiast always make impossible things done. Deep respect!
Posted Jan 14, 2025 20:30 UTC (Tue)
by jmalcolm (subscriber, #8876)
[Link] (4 responses)
Chimera will have a 'real' userland ( mostly the FreeBSD one ) whereas Alpine uses Busybox.
Chimera has a nice, custom ports system (cports) and a custom kernel module system (ckms) compared to Alpine.
Chimera replaces the memory allocator used by musl to address performance issues present in Alpine.
Chimera uses Clang/LLVM as the system compiler in place of GCC and has strong technical reasons for this choice including optimization and security.
The similarities between Alpine and Chimera Linux are only that they both use musl and that they both use apk for binary packaging. Ironically, Chimera Linux uses apk 3 while Alpine still uses apk 2.
The similarities between Void and Chimera seem a bit stronger. Chimera Linux started with the cports system first which was originally meant to be a re-write of the XBPS-SRC system.
Posted Jan 15, 2025 12:08 UTC (Wed)
by ceplm (subscriber, #41334)
[Link] (3 responses)
Posted Jan 15, 2025 12:30 UTC (Wed)
by daroc (editor, #160859)
[Link] (1 responses)
Posted Jan 15, 2025 13:03 UTC (Wed)
by ceplm (subscriber, #41334)
[Link]
Posted Jan 20, 2025 2:30 UTC (Mon)
by jmalcolm (subscriber, #8876)
[Link]
Posted Jan 14, 2025 13:41 UTC (Tue)
by q66 (guest, #175441)
[Link]
Posted Jan 14, 2025 8:58 UTC (Tue)
by taladar (subscriber, #68407)
[Link] (1 responses)
> "simple, transparent, and easy to pick up"
dubious at best if they literally change everything about the way Linux systems work in subtle ways that break stuff.
Posted Jan 14, 2025 13:03 UTC (Tue)
by Wol (subscriber, #4433)
[Link]
I know I rail on about all these changes that break my workflow, change my muscle memory (not that I've got much), etc etc. Progress involves breaking things. Unfortunately not all "progress" really is an advance, and some people prefer older systems that work (in ways they understand), rather than "new, improved", that breaks in ways that require relearning everything. Just because you may not notice that much, doesn't mean it isn't extremely painful to those people who do notice.
Cheers,
Posted Jan 14, 2025 20:10 UTC (Tue)
by jmalcolm (subscriber, #8876)
[Link] (1 responses)
Chimera Linux is a small, well designed general purpose Linux distro that avoids many of the pitfalls and compromises made by other small, well designed distros.
Chimera thinks there is a "better way". The stance on Systemd is a great example. Chimera Linux wants to avoid Systemd but does not want to go without its benefits. So it chooses what it sees as better alternatives and, if necessary, writes software to fill in the gaps--like Turnstile.
I moved a machine from Arch Linux to Chimera Linux and am able to do all the same stuff including video processing, container and cloud ops, basic software dev, office apps, some cybersecurity, and basic gaming.
As a pacman fan ( and apt disliker ), I have been quite pleased with apk. The package selection is already fairly decent (even GIMP 3). However, the cports system is really well designed and I have created 12 packages and modified one to get everything I need. Despite all the years I have used Linux, I have never created a package before. Maybe that says something about how well designed Chimera is and perhaps even how fun.
I prefer Clang to GCC. That is just a preference but the fact that everything is built with Clang is a positive for me. There is no GCC in Chimera Linux.
Reading the Internet, you would think nothing works with musl. Everything has built just fine for me. The only problem I had was dotnet as you need to have pre-built binaries to bootstrap it and even the Alpine (musl) binaries were built with GCC and other libs I did not have.
I did not fight the dotnet problem. Instead, I installed a Distrobox image of Arch to get access to the AUR on Chimera. I had dotnet 9 and Jetbrains Rider installed on Chimera Linux in a few minutes. I also installed Burpsuite to do some pen testing. Two of those are Java and could probably become native Chimera packages if I get around to it. I have access to the entire AUR on Chimera Linux this way if I need something quickly and I cannot find or do not want to package something for Chimera Linux. I also created RHEL9 and Amazon Linux distroboxes for testing. Using distrobox for a lot of this stuff would be a good idea even on a glibc based distro. I really think the drama around third-party software is overblown.
As for the FreeBSD userland, I have never been a FreeBSD user. q66 has written quite a lot about how the userland simplifies the distro and build process, especially in containers, and this all makes sense to me. The tools do seem well designed. I have stuck with the Alquist shell but I did install Bash to run third-party scripts. The userland has worked fine with everything so far. The only issue I ran into directly is that 'sed' takes slightly different options. In my research, I can see that RegEx in 'find' is different too. Beyond that, I use things the way I always have and they work. Searching the web for differences, it seems that the BSD utils have added a lot of GNU options in recent years and so there are not as many gotchas for GNU users as before. Perhaps "power users" will bump into more issues than I have.
The biggest downside to Chimera Linux is going to be if you need third-party drivers. The obvious example is that Chimera is not going to be a great choice for users of newer NVIDIA GPU hardware. I do not have that.
For me, the question is no longer "why Chimera?" but "why anything else"? What does any other distro do better? I do not want a dedicated gaming distro. I already liked Arch better than Debian or Fedora. I like Chimera more than Arch except for the AUR, which I can still get from distrobox. I may move my home lab to Kubernetes on Chimera Linux soon.
Posted Jan 15, 2025 14:44 UTC (Wed)
by raven667 (subscriber, #5198)
[Link]
Posted Jan 14, 2025 20:21 UTC (Tue)
by jmalcolm (subscriber, #8876)
[Link] (1 responses)
This means that every single running program on my Linux box is using code written by Microsoft for something as frequent and fundamental as allocating memory. Talk about a true Chimera!
Posted Jan 28, 2025 18:25 UTC (Tue)
by rganesan (guest, #1182)
[Link]
Small correction
and tools such as make and tar use the BSD versions by default
GNU make has been the default for a while now: https://github.com/chimera-linux/cports/commit/de85b12.
Small correction
Small correction
GCC package
Use case
Use case
Use case
Use case
Why not Alpine?
Why not Alpine?
Why not Alpine?
Why not Alpine?
Default shell in Chimera
by popular demand, added a new section to the about page
Use case
Simplicity through doing everything differently?
Simplicity through doing everything differently?
Wol
Happy Chimera Linux user
Happy Chimera Linux user
Nobody talks about mimalloc
Nobody talks about mimalloc