Skip to content

Repository files navigation

Project Ariel

Liberating the ASRock BC-250.

Project Ariel is Cachenetics' open-source effort to reverse engineer and liberate the ASRock BC-250 - a Zen 2 + RDNA accelerator on a harvested AMD console-class APU (codename Ariel, PCI 1002:13FE), built by the tens of thousands for a crypto workload that evaporated and now sold as e-waste: 16 GB of unified memory and a real GPU, locked down and underclocked as shipped.

We tear down the firmware and the silicon - mapping SMU mailboxes, freeing the full GPU, retraining memory, and lifting the factory clock and power limits - to unlock hardware the vendor left crippled. The result is a board that punches well above its throwaway price: console-class compute for the cost of e-waste. All open, all reproducible, all documented.

Tools

  • arieltune - the unified BC-250 tuning suite. One tabbed TUI + CLI (WIKI / BIOS / APU / MEM): browse the firmware surface, tune GDDR6 memory timings, unlock and tune the APU (40-CU liberation, CPU/GPU/CU control), and read the hardware-verified BC-250 manual. Built on reverse-engineered SMU mailboxes and a liberated amdgpu.

Get it running

Runs on a BC-250 (or an Ariel-APU board) under Linux x86-64. You need a Rust toolchain to build (rustup.rs) and root for any actuation.

git clone https://github.com/cachenetics/project-ariel.git
cd project-ariel
./install.sh                 # build (release) + install to /usr/local/bin
arieltune                    # launch the TUI (opens on WIKI)

install.sh installs one binary (arieltune), a short at alias, and aputune/memtune/biostune/wikitune compat symlinks. Jump straight to a tab with arieltune apu (or bios / mem / wiki); everything is also scriptable from the CLI. See arieltune/README.md for the full build/usage guide.

Safety

These tools write hardware - SMU registers, CMOS/NVRAM, SPI flash, memory training. A bad value can fail to POST and need a power-cycle or CMOS-clear. Read each tool's SECURITY.md and its inline safety notes first; firmware and memory tuning are done at your own risk, on hardware you own.

Credits

This suite is the work of the BC-250 community. It exists because people did the hard measurement on real hardware and shared it.

Core of this release:

  • nightcarnage - the liberation suite, end to end: the amdgpu kernel patch series (13-28), the 8-core CPU unlock with its safety gates and Core Map UI, the out-of-tree driver fixes (nct6687, smiflash), and the userland tuning tools, plus the C refactors of the KIQ/GFXOFF work and the clean-blade validation behind every patch.
  • GabriWar (Gabriel Duarte Guerra) - the compute-TLB fix (patch 25, flush-by-runlist), the only invalidation measured to actually work on this silicon; the SMU core-mask unlock primitive; the ROCm kernel hardening series; and the MEC firmware disassembly / fault corpus.
  • Fabian (with Dani) - the original GFXOFF-disable and KIQ-bypass fixes (patches 13/14/15) and the production research repo they stand on.
  • FilippoR - the 8-core telemetry / core-count helper (patch 28) and the userspace gfxclk-query work.
  • neoney - the KIQ bypass discovery and PASID-flush investigation (patch 21).

Standing on prior BC-250 community work, with thanks:

  • the bc250-collective - mrfrakes and dantistnfs - who started it all: the original board bring-up, SMU mailboxing, and enablement groundwork everything here builds on.
  • duggasco - the 40-CU enumeration/dispatch research on Cyan Skillfish.
  • WinnieLV - the live CU manager whose apply_target_masks register sequence this ports.
  • ethkey, the ASRock bc250_memcfg / RobinMemTiming work - the memory-timing tooling the MEM tab is built on; and walkjivefly for taking the first plunge.
  • anrp, wtfuzz - additional findings; and humvee and the wider BC-250 Discord community for the testing, reports, and momentum that keep this effort moving.

Full license attribution is in THIRD_PARTY_NOTICES and the per-subtree NOTICE files; see arieltune/README.md for the detailed technical acknowledgments.

Licensing

The whole project is GPL-2.0-only, matching upstream cachenetics/project-ariel. Kernel-derived parts (the amdgpu liberation patch series and kernel modules, under arieltune/) inherit the Linux kernel's GPL-2.0 — the same license, no conflict. Third-party attribution: see THIRD_PARTY_NOTICES and the per-subtree NOTICE files under arieltune/crates/.

About

Reclaiming the ASRock BC-250 as a real, tunable PC - Cachenetics' open-source firmware liberation + tuning suite.

Topics

Resources

Stars

19 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages