See the BlueBuild docs for quick setup instructions for setting up your own repository based on this template.
All images are built with a selection of common packages, flatpaks as well as some configuration.
It is a flavor of Bazzite Stable for ASUS Laptops with NVIDIA dGPU.
Bazzite Stable for either desktop or laptop gaming.
Bazzite Deck Stable for Steam Deck clone(s).
Fedora (Sericea/)Sway Atomic suitable for low resource footprint devices (e.g. netbooks).
The podman.service
is enabled on Buttgenbachit.
- KeepassXC
- LibreOffice
- LibreWolf
- Signal
- SynologyDrive
- Warehouse
- Mozilla Firefox
- Discord
- OpenRGB
- AusweisApp2
- BoxBuddy
- Calibre
- Codium
- HandHeldDaemon
- Libation
- MediaWriter
- Obsidian
- Ptyxis
- Weasis
- byobu
- htop
- kitty
- neovim
- firefox
brew install pdfgrep
Fedora packages clatd to translates flows from an IPv6-only client to IPv4 hosts via NAT46, so it can be transmitted and translated back via NAT64 in a PLAT device, e.g. at the edge in a CPE or in an ISP network.
This feature likely is not functional, yet.
Fedora uses Swap on ZRAM by default on all Spins, the systemd-zram-generator is available to configure compressed drives, including setting it up as swap.
Starting with v1.2.1 the zram-generator supports (via systemd/zram-generator#178 and systemd/zram-generator#200) configuring secondary compression algorithms and associated parameters to recompress pages on a zram drive triggering it by touching a knob in sysfs. This allows for some flexibility.
A first scenario would've only compressed huge pages once every three minutes, now a second but more generic use case lets zram absorb swapped out pages quickly but over time would try to recompress every single one of them in batches.
It is important to know that in zram terms incompressible pages are called huge; the Memory Management subsystem also knows huge pages
but means something different.
zram is configured to use lz4
as a fast, low-latency compression algorithm and both zstd
and lz4hc
were selected for recompression. A default to recompress both huge
and idle
pages is used and a maximum of 4096
pages (up to 16 MiB) was selected to not produce unduly burden on the CPU.
The system uses a zram-recompression.timer to orchestrate the one-off execution of zram-recompression.service which in turn calls recompress-zram script. It has grown quite a bit, most functionality exists for debugging purposes. It will first mark all
pages as idle, then trigger recompression and finally memory compaction.
On a severely memory constrained device with only 4 GiB, I've observed ratios of roughly 30..40% during normal usage scenarios (Browser, Electron Shells, E-Mail, Password Databases, Synchronization, ...) while the system stays mostly reactive. With this configuration I try to achieve a good user experience, but the capabilities of it are still limited.
- Free vs. Available Memory in Linux; August 30, 2024 by Hayden James, in Blog Linux
- Linux Performance: Almost Always Add Swap Space – Part 2: ZRAM; September 25, 2023 by Hayden James, in Blog Linux
- Tales from responsivenessland: why Linux feels slow, and how to fix that
- Tuning ZRAM in Fedora for Better Performance and Get Rid of OOM Crashes; Tue, Dec 12, 2023
- Zram can be configured more optimally by using lz4 instead of zstd1 #1570
- fix: General ZRAM Optimizations #2202
Warning
This is an experimental feature, try at your own discretion.
To rebase an existing atomic Fedora installation to the latest build:
- First rebase to the unsigned image, to get the proper signing keys and policies installed:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/blue-build/template:latest
- Reboot to complete the rebase:
systemctl reboot
- Then rebase to the signed image, like so:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/blue-build/template:latest
- Reboot again to complete the installation
systemctl reboot
The latest
tag will automatically point to the latest build. That build will still always use the Fedora version specified in recipe.yml
, so you won't get accidentally updated to the next major version.
If build on Fedora Atomic, you can generate an offline ISO with the instructions available here. These ISOs cannot unfortunately be distributed on GitHub for free due to large sizes, so for public projects something else has to be used for hosting.
These images are signed with Sigstore's cosign. You can verify the signature by downloading the cosign.pub
file from this repo and running the following command:
cosign verify --key cosign.pub ghcr.io/blue-build/template