Warning: Some posts on this platform may contain adult material intended for mature audiences only. Viewer discretion is advised. By clicking ‘Continue’, you confirm that you are 18 years or older and consent to viewing explicit content.
bcachefs; I currently use zfs and am not a huge fan of btrfs. Having another filesystem mainlined will be fun.
eBPF, particularly if somebody picks up after the presumably abandoned bpfilter.
Improved/matured support for rust written drivers. I’m not so fussed about in-tree work, but future third party drivers being written in a safer language would be a nice benefit.
long term: the newly introduced accelerator section of the kernel might make SoCs with NPUs and the like have better software support.
very hyped for plasma 6, and Cosmic both. I’ve got a lot of confidence in KDE devs, and Cosmic previews look very nice.
NixOS has been a really cool distro for a while, but it also looks to have a solid build system from which interesting derivatives will show up.
I don’t think that will happen and hope it won’t because NixOS can handle the usual preferences people might have internally.
Don’t like glibc? pkgsMusl is the entire package set but with musl instead of glibc.
Want static compilation? pkgsStatic.
Afraid of systemd? Well okay, we don’t have that right now but I don’t think anyone would be opposed to optional support for worse service managers. It’d just be an opt-in toggle that we could support with enough people interested in it.
Garuda only exists because the only way to distribute a set of default configuration in regular distros is to create a whole new distro/installer. We don’t have that problem in NixOS because all configuration is declarative and composable.
In the NixOS world, Garuda would be a NixOS base config which users would import in their own config and extend with their own configuration. You’d still be using NixOS though.
If you’re packaging enough changes that somebody would say it’s a different experience, calling it the “X configuration” vs “X distribution” based on how it’s packaged is just splitting hairs.
kernel integration is iffy; I don’t want to attach a module to my system every time I compile the kernel and prey that the difference in pace between the release schedules of openZFS and Linux hasn’t caused issues, and because of the licencing issues my options of having a distro with zfs built in are very limited.
it’s performance isn’t excellent from a NVME standpoint. It’s not terrible, but it could be better.
it has a massive code base, making introducing things like performance improvements and new features quite a challenge (Though the openZFS team are doing a bang-up job despite this).
Ultimately if I was still holding on to 40+TB of important data, I’d be using ZFS and be happy about it. I want snapshots on my workstation, without all the strange issues I’ve had with btrfs. I’m sure bcachefs will have its own issues but it’s better to have options.
Sure, I understand the part about having to compile the ZFS module every time alongside the kernel. But that must be some heavy-lifting you’re doing if you’re regularly compiling your own kernel. I’d be interested in what you’re running that requires such efforts.
I don’t understand why you would need NVMe for ARC. Doesn’t it run in RAM only? Isn’t L2ARC what runs on storage devices?
Not really heavy lifting, I’m just running the Xanmod kernel, and need to turn on some features I need for eBPF development. I’m also keeping up to date with kernel releases, so every 6 weeks or so I need to rebuild.
The ARC runs in RAM, but is generally best when it’s given:
A consistent amount of memory.
An easily predictable workload.
Long periods of time between restarts.
Conditions great for a server but not so much for a workstation. I don’t intend for my cache misses to go to spinning rust, so I have 2 2TB NVME drives. SSDs are cheap as chips currently.
The L2ARC is a victim cache of the ARC, and while it is persistent it’s still much more effective for me to just use a NVME drive for my pool.
Just went through Xanmod’s page: the list of features provided seem exciting, although I don’t really know much about some of them. Do you need these features for eBPF development?
Well, you’re right: ARC is best used in a server. What problems did you have with BTRFS that prompted you to switch?
I use Xanmod for gaming (fsync & related tweaks), but need other flags for development on the same machine.
My issues with BTRFS were mainly in their userspace tooling; ZFS volume management is just glorious, it felt like a significant downgrade to use BTRFS.
It’s a technology that lets you run code through the kernel’s JIT compiler. It’s an extremely flexible way to run code in kernel space; the typical example is using it to build XDP programs for networking, which can deeply analyse network packets without having to incur the performance penalty for changing context to userspace.
bcachefs; I currently use zfs and am not a huge fan of btrfs. Having another filesystem mainlined will be fun.
eBPF, particularly if somebody picks up after the presumably abandoned bpfilter.
Improved/matured support for rust written drivers. I’m not so fussed about in-tree work, but future third party drivers being written in a safer language would be a nice benefit.
long term: the newly introduced accelerator section of the kernel might make SoCs with NPUs and the like have better software support.
very hyped for plasma 6, and Cosmic both. I’ve got a lot of confidence in KDE devs, and Cosmic previews look very nice.
NixOS has been a really cool distro for a while, but it also looks to have a solid build system from which interesting derivatives will show up.
I don’t think that will happen and hope it won’t because NixOS can handle the usual preferences people might have internally.
Don’t like glibc? pkgsMusl is the entire package set but with musl instead of glibc.
Want static compilation? pkgsStatic.
Afraid of systemd? Well okay, we don’t have that right now but I don’t think anyone would be opposed to optional support for worse service managers. It’d just be an opt-in toggle that we could support with enough people interested in it.
Nah, people always want to put their own spin on things and I welcome the diversity.
Arch can bring in all the necessary packages yourself, but Garuda exists and people enjoy using it. Horses for courses.
Garuda only exists because the only way to distribute a set of default configuration in regular distros is to create a whole new distro/installer. We don’t have that problem in NixOS because all configuration is declarative and composable.
In the NixOS world, Garuda would be a NixOS base config which users would import in their own config and extend with their own configuration. You’d still be using NixOS though.
If you’re packaging enough changes that somebody would say it’s a different experience, calling it the “X configuration” vs “X distribution” based on how it’s packaged is just splitting hairs.
Just to be sure, what’s wrong with ARC and L2ARC?
My issue is not with the ARC, it’s a few things:
kernel integration is iffy; I don’t want to attach a module to my system every time I compile the kernel and prey that the difference in pace between the release schedules of openZFS and Linux hasn’t caused issues, and because of the licencing issues my options of having a distro with zfs built in are very limited.
it’s performance isn’t excellent from a NVME standpoint. It’s not terrible, but it could be better.
it has a massive code base, making introducing things like performance improvements and new features quite a challenge (Though the openZFS team are doing a bang-up job despite this).
Ultimately if I was still holding on to 40+TB of important data, I’d be using ZFS and be happy about it. I want snapshots on my workstation, without all the strange issues I’ve had with btrfs. I’m sure bcachefs will have its own issues but it’s better to have options.
Sure, I understand the part about having to compile the ZFS module every time alongside the kernel. But that must be some heavy-lifting you’re doing if you’re regularly compiling your own kernel. I’d be interested in what you’re running that requires such efforts.
I don’t understand why you would need NVMe for ARC. Doesn’t it run in RAM only? Isn’t L2ARC what runs on storage devices?
Not really heavy lifting, I’m just running the Xanmod kernel, and need to turn on some features I need for eBPF development. I’m also keeping up to date with kernel releases, so every 6 weeks or so I need to rebuild.
The ARC runs in RAM, but is generally best when it’s given:
Conditions great for a server but not so much for a workstation. I don’t intend for my cache misses to go to spinning rust, so I have 2 2TB NVME drives. SSDs are cheap as chips currently.
The L2ARC is a victim cache of the ARC, and while it is persistent it’s still much more effective for me to just use a NVME drive for my pool.
Just went through Xanmod’s page: the list of features provided seem exciting, although I don’t really know much about some of them. Do you need these features for eBPF development?
Well, you’re right: ARC is best used in a server. What problems did you have with BTRFS that prompted you to switch?
I use Xanmod for gaming (fsync & related tweaks), but need other flags for development on the same machine.
My issues with BTRFS were mainly in their userspace tooling; ZFS volume management is just glorious, it felt like a significant downgrade to use BTRFS.
What’s eBPF?
It’s a technology that lets you run code through the kernel’s JIT compiler. It’s an extremely flexible way to run code in kernel space; the typical example is using it to build XDP programs for networking, which can deeply analyse network packets without having to incur the performance penalty for changing context to userspace.