AMD BC-250 Steam Machine: Every Step From Mining Board to Bazzite
tutorialsFeature article

AMD BC-250 Steam Machine: Every Step From Mining Board to Bazzite

The ASRock BC-250 is a cut-down PlayStation 5 APU on a mining board that now sells for the price of a game. With a 300W 12V supply, two fans, a modded BIOS and Bazzite, it boots straight into Steam's Big Picture and runs Cyberpunk 2077 at 70–90 FPS. Here is every step, from the community that documented it.

Oct 13, 2026
10 min read

Pocket Retro Gamer takeaway

This article is part of our editorial coverage for people choosing handhelds, curating game libraries, and figuring out what is actually worth playing or buying right now.

An AMD BC-250 becomes a Steam machine in six steps: a 12V power supply and two fans, a BIOS flash that unlocks the memory split, four BIOS settings, a Bazzite Deck install, a GPU governor, and Steam's own game mode on first boot. The board is a cut-down PlayStation 5 APU (six Zen 2 cores, 24 RDNA 2 compute units, 16GB of GDDR6) sold off from mining racks; the AMD BC-250 how-to on GitHub put the going rate at $60 to $100 on eBay in November 2025, and the community compatibility table has it running Cyberpunk 2077 at 70–90 FPS at 1080p. Budget about $150 to $250 for the board, supply, fans, SSD and case, and an afternoon.

We have not built one. This tutorial is assembled from the AMD BC250 Documentation (CC BY-SA 4.0, last updated March 2026, built from 9,716 Discord messages), the bc250-documentation repository it grew from, the bc250-buddy Bazzite scripts (MIT, updated 18 September 2026) and NexGen3D's DIY Steam Machine, all read on 13 October 2026. Every figure below is theirs; where they disagree, both are given.

AMD BC-250 Steam Machine: every step from mining board to Bazzite

What the BC-250 is

ASRock / AMD BC-250
APU AMD "Ariel" (GPU codename Cyan Skillfish), a cut-down PS5 SoC
CPU 6 Zen 2 cores, up to about 3.49GHz (the PS5 has 8)
GPU 24 RDNA 2 compute units, 1,536 shaders (the PS5 has 36 CUs)
Memory 16GB GDDR6 shared by CPU and GPU; split fixed by firmware until you flash it
Storage 1x M.2 2280, NVMe at PCIe 2.0 x2 or SATA 3
Ports 1x DisplayPort, 1x gigabit Ethernet, 2x USB 2.0, 2x USB 3.0
Power 12V via a PCIe 8-pin (J1000); 220W TDP; idle 65–105W, heavy gaming 160–200W, 235W peak
Wireless None; a USB adapter is needed
Video encode/decode None; the VCN firmware is blocked, so streaming hosts must use software encoding
Windows Boots, but the GPU has no driver and is unlikely to get one

The boards were sold twelve to a 4U chassis (the ASRock 4U12G) for mining. Any BIOS revision is fine to buy (P2.00 through P5.00); the documentation says to avoid boards missing their heatsink or showing physical damage. Sellers are on eBay and AliExpress; no handheld retailer we work with carries them, so there is no affiliate link on this page.

Parts list

Part What the documentation specifies Notes
Power supply 12V, PCIe 8-pin (6+2), 300W+ (250W minimum) FlexATX 500W (FSP FSP500-30AS), ATX 400W+ with its PCIe cable, or Mean Well LOP-300-12 (custom wiring). Not Dell D220P-01 / D250AD-00, not 6-to-8-pin adapters, not SATA-to-PCIe adapters. 16 AWG wire.
Cooling 1x 120mm minimum, 2x 120mm push-pull recommended, 3+ mmH2O static pressure Arctic P12 Max (6.9 mmH2O, 73.3 CFM, 65–75°C in games), Arctic P14 PWM, Noctua NF-A12x25. Zip ties or a printed shroud; do not drill the fins.
Thermal paste and pads Repaste (the stock paste is dried out); 2mm pads for the backplate GDDR6 Arctic MX-4 or Thermal Grizzly Kryonaut named
Storage M.2 2280 NVMe; 256GB minimum, 1TB for a library PCIe 2.0 x2, so a cheap drive loses nothing
Display DisplayPort cable, or a passive or active DP-to-HDMI adapter Some TVs cannot show the BIOS screen's resolution
Network Ethernet, or a USB Wi-Fi adapter on the Realtek RTL8822BU chipset (in-kernel driver since 6.12)
Case One of 146 community designs, a GPU enclosure, standoffs on a sheet, or a rack See the case section
USB stick 8GB+ for the installer, plus a FAT32 stick for the BIOS flash
Optional CH347 programmer (native 3.3V) for BIOS recovery The docs warn that black-PCB CH341A units often output 5V and can destroy the chip

Step 1: power and cooling

The 8-pin at J1000 is a standard 12V PCIe connector; check its polarity against your supply's pinout before the first power-up, because the documentation's bluntest warning is that reversed polarity permanently damages the board. The board also carries two Micro-Fit headers (J2000, J2001) pinned for 12V, which the rack used.

Powering on depends on the supply. The docs list three ways: the board starts when 12V is applied (there is an auto-start jumper), an ATX supply can be held on by shorting PS_ON (pin 16, green) to ground, and a case-mounted button means soldering to the onboard power button, because there is no front-panel header. The bc250-documentation repository notes power and reset buttons on the rear I/O.

Cooling is not optional. The fin stack is a passive rack heatsink; the docs' line is "The stock heatsink is designed for rack airflow, not desktop use. Add a fan for gaming workloads," and they put the safe GPU range at 70–80°C, with throttling above 85°C and instability above 90°C. The main fan goes on the pump-fan header (fan2/pwm2 in sysfs); PWM control needs the out-of-tree nct6687 module, since the in-kernel nct6683 driver is read-only. The GDDR6 on the back of the board has no temperature sensor: pixel artefacts in games are the documented symptom of hot VRAM, and 2mm pads to a backplate or a second fan are the fix.

Step 2: flash the BIOS

Stock firmware fixes the memory split at 8GB/8GB or 4GB/12GB depending on revision. The community BIOS unlocks the chipset menu so you can set the frame buffer yourself. From the flashing page:

  1. Download BC250_3.00_CHIPSETMENU.ROM (P3.00 with the chipset menu) from TuxThePenguin0's GitLab repository; the docs publish its SHA256 (48fbe5d3…6c940b5) so you can verify it. A "MeiMeiDXE" variant that unlocks two more CPU cores exists and is flagged as higher risk.
  2. Format a USB stick as FAT32 and extract the "4U12G BIOS Update.zip" to its root: AfuEfix64.efi, Flash.nsh, amdvbflash.efi and the EFI/ folder.
  3. Copy the ROM to the root of the stick and rename it Robin5.00.
  4. Unplug every internal drive so the board drops into the EFI shell from the stick.
  5. At the yellow Shell> prompt type blk0: and Enter, then Flash.nsh and Enter, and do not interrupt the AMI utility.
  6. Clear the CMOS: remove the CR2032 battery for at least 60 seconds and press the power button a few times while unplugged, or move the clear-CMOS jumper for 20 seconds. Enter the BIOS and confirm the clock has reset; a flash without a CMOS clear is the documented cause of freezes when games load levels.

Two more warnings from the same page. The board has two SPI chips; a hardware programmer must target BIOS_A1 (16MB) and never SIO1_R (the 512KB Super I/O chip), or fan control is lost. And these boards are sold as-is: there is no manufacturer support to fall back on.

Step 3: BIOS settings

Press Del at startup and set:

Setting Path Value
Integrated Graphics Controller Chipset → GFX Configuration Forced
UMA Mode Chipset → GFX Configuration UMA_SPECIFIED
UMA Frame Buffer Size Chipset → GFX Configuration 512MB
IOMMU Advanced → CPU Configuration Disabled
Fan control — Set your own curve or full speed; stock settings are called insufficient
Boot mode — UEFI

Press F10 to save. The 512MB dynamic allocation is what every source recommends for gaming; the one documented exception is Company of Heroes 3, which needs a fixed 4GB split to stop crashing. IOMMU is described as broken on this board and must stay off.

Step 4: install Bazzite

Bazzite is the recommendation for a Steam machine because its Deck image boots into Steam's game mode. From the Bazzite page:

  1. Download the Bazzite Deck image from bazzite.gg. The GNOME and KDE images are fine desktops, but the docs note that a desktop image rebased to Deck cannot "Return to Game Mode"; start on the Deck image if you want the console experience.
  2. Write it to the 8GB stick with Fedora Media Writer or balenaEtcher.
  3. Boot from the stick. Bazzite needs no nomodeset parameter on this board (Fedora Workstation does, through Basic Graphics Mode, and you remove it after the drivers are in).
  4. Run the installer: language, timezone, user, disk. The docs put it at 10 to 15 minutes.
  5. After the first boot, update with ujust update (or rpm-ostree upgrade and flatpak update) and reboot.

If you prefer Fedora 43 Workstation instead, the quick-start sequence is the same four governor commands below with dnf in place of rpm-ostree, followed by removing nomodeset from GRUB_CMDLINE_LINUX_DEFAULT and regenerating the GRUB config.

Step 5: the GPU governor and the tuning that matters

Without a governor the GPU sits at a fixed clock. The documentation's recommended package is cyan-skillfish-governor-smu, which bc250-buddy says takes the GPU from "stuck at ~1000 MHz" to scaling between 350 and 2,230MHz. On Bazzite:

sudo dnf copr enable filippor/bazzite
rpm-ostree install cyan-skillfish-governor-smu
systemctl reboot
sudo systemctl enable --now cyan-skillfish-governor-smu.service

The governor's voltage and frequency points live in /etc/cyan-skillfish-governor-smu/config.toml; restart the service after editing. The other tuning the sources agree on:

  • Swap. Shader compilation on 16GB of shared memory causes out-of-memory crashes. NexGen3D's script and bc250-buddy both create a 16GB or 32GB swapfile with zswap and lz4 compression, set vm.swappiness = 180 and disable zram.
  • Mitigations off. rpm-ostree kargs --append-if-missing="mitigations=off" then reboot; the docs quote "+18 FPS in some games" and bc250-buddy 3–5% in CPU-bound titles. Only for a dedicated gaming box.
  • Handheld Daemon. If you see micro-stutter, sudo systemctl disable --now hhd and mask it.
  • Sensors (optional). Load nct6683 with force=true for read-only temperatures; sensors then works.
  • CPU overclock (optional). bc250-buddy's bc250_smu_oc module takes the cores from 3,493 to 3,842MHz at 1,150mV, which its author calls thermally safe. NexGen3D's script adds a GPU-overclocked governor build and asks you to test with FurMark or Unigine Superposition before enabling it permanently.

bc250-buddy (./install.sh perf) and NexGen3D's Setup-16GB.sh / Setup-32GB.sh script all of this; read a script before running it as root.

Verify with vulkaninfo | grep deviceName (RADV should name the GPU), systemctl status cyan-skillfish-governor-smu and cat /sys/class/drm/card0/device/pp_dpm_sclk, which should show the clock moving rather than parked at 1500MHz.

Step 6: Steam, Proton and game mode

The Deck image boots into Steam's Big Picture game mode; sign in and it behaves like a Steam Deck on a television. Three habits from the compatibility notes: let shader pre-compilation finish before judging a game, keep Proton GE available for titles that need it, and expect nothing from games that depend on Windows-only anti-cheat (Fortnite's Easy Anti-Cheat is the named example, with Valorant in the same category).

What to expect at 1080p

From the documentation's compatibility table:

Game Settings FPS
Cyberpunk 2077 High, FSR Quality, RT lighting only 70–90
Devil May Cry 5 High 100 (the lowest frame latency of the set, 10ms)
Counter-Strike 2 Standard 100+
Rocket League Standard 120+
The Last of Us Part I Medium-High 60
Detroit: Become Human Medium 60 (capped)
Elden Ring Adjusted 60
Red Dead Redemption 2 Maximum 45+
Control With ray tracing 40

For a board that costs less than most of those games, that is the whole argument.

Known problems and the documented fixes

Symptom Fix
Box is dead after sitting idle It auto-suspended and cannot resume from s2idle; mask the suspend targets
Freezes while loading levels CMOS was not cleared after the flash; clear it and redo the settings
Micro-stutter Disable and mask hhd
Artefacts or crashes VRAM temperature (pad the backplate) or governor voltage (raise it in config.toml); test a fixed 10GB/6GB split
GPU locked at 1500MHz sudo systemctl restart cyan-skillfish-governor-smu
Black screen or slow boot Normal: the display initialises late
No DisplayPort audio Needs kernel 6.12.78+, 6.18.20+ or 7.0+
Streaming stutters every 65 seconds iwd roam scanning on Wi-Fi; bc250-buddy's wifi module, or use Ethernet

Kernel notes: the docs say to avoid 6.15.0–6.15.6 and 6.17.8–6.17.10, and recommend 6.18.18 LTS or 6.17.11+; Mesa must be 25.1.3 or newer. bc250-buddy reports Bazzite 44 (August 2026) moved to kernel 7.2 and that its userspace-only approach survived the jump.

Cases

The community catalogue lists 146 enclosures, filterable by supply type. Three with documented builds: NexGen3D's DIY Steam Machine (printable, with a liquid-cooled "Pro" variant and professionally printed copies sold by the designer), the ASRock BC-250 shell case that fits a Mean Well LOP-300-12 inside with one 120mm fan cooling both (the how-to repository notes the supply needs a PCIe connector soldered on and is a 110V mod for the confident only), and a minimal case for a Flex PSU that needs the middle of the fin stack opened for airflow.

Is it worth building?

Yes, if you want a living-room Steam box for the price of a controller and you are comfortable flashing firmware and wiring a supply. No, if you need Windows, hardware video encoding, Wi-Fi without a dongle, or anti-cheat titles. If what you actually want is Steam games in your hand rather than on a TV, our guide to Steam games on Android handhelds covers the Snapdragon route, and the devices page has the handhelds that qualify.

Sources, all read 13 October 2026: AMD BC250 Documentation by elektricM and contributors (CC BY-SA 4.0); bc250-documentation by mothenjoyer69; bc250-buddy by samedayhurt (MIT); NexGen3D DIY Steam Machine; AMD BC-250 how-to by csabakecskemeti. The featured image is this site's own; there is no openly licensed photograph of the board, and the makers' photos are theirs.

Frequently asked questions

What is the AMD BC-250 and why is it so cheap?
The ASRock BC-250 is a mining compute board built around AMD's 'Ariel' APU, a cut-down version of the PlayStation 5 chip: six Zen 2 cores at about 3.5GHz, a 24-compute-unit RDNA 2 GPU (the PS5 has 36) and 16GB of GDDR6 shared between CPU and GPU. They shipped twelve to a 4U rack for crypto mining; when that stopped paying, the boards were sold off. The AMD BC-250 how-to on GitHub put them at $60 to $100 each on eBay in November 2025.
What power supply does the BC-250 need?
A 12V supply with a PCIe 8-pin (6+2) connector, 300W or more; the community documentation lists idle at 65–105W, heavy gaming at 160–200W and a 235W peak. Working options are a FlexATX 500W unit such as the FSP FSP500-30AS, any ATX 400W+ supply using its PCIe cable, or a Mean Well LOP-300-12 with custom wiring. The docs warn against Dell D220P-01 and D250AD-00 bricks, 6-pin-to-8-pin adapters and SATA-to-PCIe adapters, and specify 16 AWG wire.
Do I have to flash the BIOS on a BC-250?
Yes, for gaming. The stock firmware fixes the memory split at 8GB/8GB or 4GB/12GB; the community P3.00 BIOS with the chipset menu unlocked lets you set the UMA frame buffer to 512MB dynamic, which every guide recommends, and disable IOMMU, which is broken on this board. The flash runs from a FAT32 USB stick in the EFI shell and must be followed by a CMOS clear.
Which Linux should I install on a BC-250?
Bazzite or Fedora 43; the documentation says they have the best out-of-the-box support, and Windows has no driver for the GPU at all. For a Steam machine, install the Bazzite Deck image: it boots into Steam's Big Picture game mode like a Steam Deck, and the desktop images cannot switch into that mode afterwards. Avoid kernels 6.15.0–6.15.6 and 6.17.8–6.17.10, and keep Mesa at 25.1.3 or newer.
Does the BC-250 need a case?
It arrives bare with a passive fin-stack heatsink meant for rack airflow, so it needs at least one 120mm high-static-pressure fan and ideally two in push-pull, plus a 2mm thermal pad or airflow over the GDDR6 on the back of the board, which has no temperature sensor. The community case catalogue lists 146 enclosure designs; NexGen3D's DIY Steam Machine is a printable case built around Bazzite, and a compact shell case fits the Mean Well LOP-300-12 inside.
How well does a BC-250 run Steam games?
At 1080p, the community compatibility table lists Cyberpunk 2077 at 70–90 FPS on High with FSR, Devil May Cry 5 at 100 FPS on High, Counter-Strike 2 at 100+, Rocket League at 120+, The Last of Us Part I at 60 on Medium-High, Elden Ring at 60 with adjusted settings and Red Dead Redemption 2 at 45+ on maximum. Games that need Easy Anti-Cheat on Windows, such as Fortnite, do not run.
Keep reading

Related articles

More tutorials coverage from Pocket Retro Gamer.

Browse all
Hardware Matchups

Recommended Devices

A few handhelds that fit the systems and use cases covered in this article.

Anbernic RG34XX
Classic Style

Anbernic RG34XX

Classic Game Boy inspired design with a 3.4-inch 720x480 IPS display. Great build quality and excellent for Game Boy Advance games.

$59.99$69.99
Anbernic RG35XX
Classic Style

Anbernic RG35XX

Classic Game Boy inspired design with a 3.5-inch IPS display. Great build quality and excellent for Game Boy Advance games with GarlicOS support.

$47.99
Anbernic RG35XXSP
Flip Handheld

Anbernic RG35XXSP

Clamshell design inspired by the GBA SP. Features 3.5-inch screen and excellent build quality. Perfect for classic handheld games with GarlicOS.

$57.99

Affiliate disclosure: Pocket Retro Gamer participates in affiliate programs and may earn a commission when you buy through our links, at no extra cost to you. Recommendations are based on editorial judgment, not retailer incentives.