Hi all, happy to contribute to Bazzite! I’ve been using it as my daily driver for the past ~2 years, and its fun to help out with something I use daily. Here’s what I worked on for Bazzite 45:
ujust check-anticheat
Epic has announced that it’s bringing Fortnite to Linux and rebuilding its anti-cheat as Easy Anti-Cheat Linux v2 with Fortnite as the first pilot before it opens up to other developers.
EAC has supported Linux for years, but many games never opted in because the Linux version couldn’t offer the same protection as the Windows one. To close that gap, v2 will require a set of security features Linux already has: a signed kernel and modules, TPM 2.0, Secure Boot and measured boot, IOMMU, kernel lockdown in integrity mode, kexec disabled, and BPF LSM.
To make sure your system is compatible, Bazzite 45 adds ujust check-anticheat, which runs through each of Epic’s requirements and prints a pass or fail, along with a hint on how to fix anything that failed.
It only reports, so it won’t change anything on your system, and any fixes, like kernel arguments, are yours to run. We’ll keep updating this once EACv2 goes live and is formally documented.
Build Process Updates
Behind the scenes, our image builds got a big cleanup. All the build logic that used to be scattered across workflow bash and helper scripts now lives in a single Python tool, build.py which CI and local builds both use.
- Run
./build.py doctorto make sure you have all the requirements to build Bazzite. - Run
./build.py buildto build the base Bazzite image. You can also pass in other image types, likebazzite-deck-nvidia, to build those instead.
Alongside work by @kylegospo and @SmallsOnline we were able to make various optimizations to the build pipeline!
- We stopped resetting timestamps on files that didn’t need it, which took a
bazzite-deck-nvidiabuild from about 24 minutes to 14.5. - SBOM generation now runs a couple of minutes faster, and spending some spare runner disk on speed saves about 3.5 minutes per image.
- The release job also went from about 5 minutes to 38 seconds by letting the release notes generation step parse a subset of the full SBOM.
All told, this means a CI run of Bazzite went from 50 minutes to 30 minutes, which helps fixes and improvements reach you faster!