Skip to main content

Dakota

Dakota (Dakotaraptor steini) is Bluefin built on GNOME OS, assembled entirely from source with Apache BuildStream and published as a bootc image. It eschews the traditional Linux distribution model — there are no RPMs — and is designed to deliver software directly from upstream sources.

Alpha

Dakota is in alpha. Filing issues is the whole point — every user running Dakota is part of a structured feedback loop back into upstream GNOME, freedesktop, and the kernel.

Download and install

You cannot rebase to Dakota from another image — if you're not on Dakota already, you need to reinstall from the ISO.

Each image is signed with cosign keyless signing via GitHub Actions OIDC. Verify with:

cosign verify ghcr.io/projectbluefin/dakota:latest \
--certificate-identity-regexp="https://github.com/projectbluefin/dakota/.github/workflows/build.yml" \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com

Image streams

Dakota uses the freedesktop-sdk version as its base version (e.g. 25.08.11 is the 11th release of the August 2025 major update).

TagStreamWhat it is
:stableStableGNOME 50 — production. Mon/Wed/Fri automated promotion from :testing.
:testingDevGNOME 50 — daily builds from the testing branch. Boot-check gated.
:nextRollingGNOME master — the bleeding edge. Tracks gnome-build-meta master daily.
:btwRollingAlias for :next.
# Switch to the rolling stream
sudo bootc switch ghcr.io/projectbluefin/dakota:next

Gaming streams

The game mode images add the Open Gaming Collective kernel (sched_ext, ntsync), Steam with 32-bit compatibility libraries and controller udev rules, gamescope and the Steam Big Picture gamescope session, GameMode / MangoHud / vkBasalt, InputPlumber, and first-boot Flathub installs of Lutris, Heroic, Bottles, ProtonPlus, Protontricks, and GOverlay. The dakota:btw alias is also offered for the gaming kernel stream.

ImageStreamCommand
GamingStablesudo bootc switch ghcr.io/projectbluefin/dakota-gaming:stable
GamingTestingsudo bootc switch ghcr.io/projectbluefin/dakota-gaming:testing
NVIDIA GamingStablesudo bootc switch ghcr.io/projectbluefin/dakota-nvidia-gaming:stable
NVIDIA GamingTestingsudo bootc switch ghcr.io/projectbluefin/dakota-nvidia-gaming:testing

The feedback loop

When something breaks on your hardware, three commands flow the evidence back upstream:

CommandWhat it does
ujust reportCaptures your system state and opens a pre-filled issue.
ujust confirm <issue>Tells the team your hardware hits the same bug — adds a hardware fingerprint, no duplicate filing.
ujust verify <issue>After a fix ships in a nightly, confirms it works on your machine.

No telemetry, no phone-home. Every report is reviewed by you before it leaves your machine, lives in a gist you own, and can be deleted anytime. When three users independently run ujust verify on a fix, that issue closes with real confidence. See the full feedback loop design.

Under the hood

  • Boot: systemd-boot, UKIs, memory-safe defaults (sudo-rs, uutils-coreutils), Ghostty as the terminal.
  • Swap: zswap backed by a disk swapfile at /var/swap/swapfile (sized min(RAM / 2, 8 GiB)), instead of GNOME OS's zram device. Kernel arguments live in /usr/lib/bootc/kargs.d/20-zswap.toml so bootc applies them on image switches and upgrades: zswap.enabled=1, zswap.compressor=zstd, zswap.max_pool_percent=20, zswap.shrinker_enabled=1, vm.swappiness=100.
  • Architecture: the build is defined declaratively in BuildStream elements; see oci-assembly.md and patches.md in the dakota repo.

Current versions

sbom · 45 releases in Dakotaraptor · updated Aug 23, 2026
KernelMesaGNOME
latest-20260823Aug 23, 2026
KernelN/A
NVIDIAN/A
MesaN/A
GNOMEN/A
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260823"
latest-20260613Jun 13, 2026
Kernel7.0.7
NVIDIA610.43.02
Mesa26.0.6
GNOME50.2
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260613"
latest-20260612Jun 12, 2026
Kernel7.0.7
NVIDIA610.43.02
Mesa26.0.6
GNOME50.2
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260612"
latest-20260611Jun 11, 2026
Kernel7.0.7
NVIDIA610.43.02
Mesa26.0.6
GNOME50.2
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260611"
latest-20260610Jun 10, 2026
Kernel7.0.7
NVIDIA610.43.02
Mesa26.0.6
GNOME50.2
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260610"
latest-20260609Jun 9, 2026
Kernel7.0.7
NVIDIA610.43.02
Mesa26.0.6
GNOME50.2
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260609"
latest-20260608Jun 8, 2026
Kernel7.0.7
NVIDIA610.43.02Major bump
Mesa26.0.6
GNOME50.2Minor bump
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260608"
latest-20260530May 30, 2026
Kernel7.0.7
NVIDIA595.71.05
Mesa26.0.6
GNOME50.1
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260530"
latest-20260529May 29, 2026
Kernel7.0.7
NVIDIA595.71.05
Mesa26.0.6
GNOME50.1
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260529"
latest-20260528May 28, 2026
Kernel7.0.7
NVIDIA595.71.05
Mesa26.0.6
GNOME50.1
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260528"
latest-20260527May 27, 2026
Kernel7.0.7
NVIDIA595.71.05
Mesa26.0.6
GNOME50.1
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260527"
latest-20260526May 26, 2026
Kernel7.0.7
NVIDIA595.71.05
Mesa26.0.6
GNOME50.1
Rebase to this release
sudo bootc switch --enforce-container-sigpolicy "ghcr.io/projectbluefin/$(jq -r '."image-name"' /usr/share/ublue-os/image-info.json):latest-20260526"

Final Step: Reboot

  1. After running one of the per-release rebase commands above, reboot to activate the deployment:
    sudo systemctl reboot

Known gaps

  • The installation path is still being worked on.
  • Upgrades and rollbacks need more hardening.

See the open issues for where things stand. ISO-specific issues go to projectbluefin/dakota-iso.

Further reading