-
Notifications
You must be signed in to change notification settings - Fork 0
00 from zero to gaming
A linear step-by-step guide from purchase to first game running. Each section links to the detailed document — use this as your main roadmap.
- Before Buying
- Receiving the Board
- Assembly: Power Supply
- Assembly: Cooler
- Assembly: Storage and Case
- BIOS: Flash
- BIOS: Configuration
- First Boot + OS Selection
- OS Installation
- Post-Install: Governor and Drivers
- Display and Audio
- WiFi and Peripherals
- Steam and Games
- 40 CU Unlock (Optional)
- Benchmarks
- Quick Troubleshooting
- Next Steps
| Item | Essential? | Notes |
|---|---|---|
| BC-250 board | Essential | AliExpress or eBay, BIOS P2.00-P3.00 or P5.00 (avoid P4.00 — unstable) |
| 12V PSU with PCIe 8-pin | Essential | FSP500-30AS (~$15 eBay, search 389522369783) is the gold standard |
| 120mm high-pressure fan | Essential | Arctic P12 Pro (~$25/5-pack) |
| DisplayPort cable | Essential | Native DisplayPort is the best output |
| USB WiFi (if needed) | Recommended | No onboard WiFi — TP-Link TX10UB Nano |
| M.2 NVMe SSD | Recommended | Any drive, slot is PCIe 2.0 x2 (~1 GB/s max) |
| Thermal paste or PTM7950 | Recommended | Stock paste is dried out — MX-4, Kryonaut, or PTM7950 |
| Thermal pads for VRAM | Recommended | 1.5mm front, 2.0mm back (8x GDDR6 chips with no temp sensor) |
| Case/mount | Recommended | 3D printed case, GPU enclosure, or DIY mount |
Recommended purchase order: Board first (AliExpress takes longer), then everything else.
See Prerequisites (elektricM) for a complete checklist.
- APU: 6x Zen 2 + 24 CU RDNA 2 (gfx1013), 16 GB GDDR6 shared
- TDP: ~220W (235W peak)
- Video output: 1x DisplayPort 1.4 (no native HDMI)
- Storage: 1x M.2 2280 PCIe 2.0 x2
- Network: 1x Gigabit Ethernet (no WiFi)
- IOMMU: Broken — always disable in BIOS
See 01 — Hardware Specs for full details.
- Heatsink with no visible physical damage
- Fans (if included) with no broken blades
- PCIe 8-pin connector pins straight
- BIOS_A1 chip with no signs of damage (near the M.2 slot)
- Q11 transistor near the Nuvoton chip (top-right area) — can get knocked off during shipping
The heatsink is held by 4 spring-tensioned screws through the back of the board. Under each screw head there is a clear or black nylon washer. These prevent short circuits and ensure proper contact pressure.
Do NOT lose them. If reassembled without them, the heatsink won't make full contact with the APU die, causing 90-100°C at idle. Keep track of them during disassembly — they're small and easily lost.
- Remove the 4 screws and take off the heatsink
- Open the center fins — they are crushed from the factory (5-10°C difference)
- Use fine-nose pliers or the "BC-250 Scooper" tool (Printables)
- Clean old thermal paste with isopropyl alcohol
See 04 — Cooling Guide for heatsink preparation techniques.
The BC-250 requires 12V only with a PCIe 8-pin (6+2) connector.
| Option | Verdict | Price |
|---|---|---|
| FSP500-30AS (Flex ATX) | Gold standard | ~$15 eBay |
| MeanWell LOP-300-12 | Great for ultra-compact builds | ~$40 DigiKey |
| Any ATX 400W+ | Works if you already have one | ~$0 (reused) |
| Server PSU + breakout board | Works but VERY loud | ~$20-30 |
- ATX PSU: connect the PCIe 8-pin cable directly to the board
- FSP500-30AS (10-pin): bridge PS_ON (green wire, pin 3) to GND (black wire, any adjacent pin) — use a paperclip or jumper wire. This tells the PSU to turn on.
- Board powers on automatically when 12V is applied (jumper AUTO_PWRON1: pins 1-2, located near the PCIe power connector)
- NEVER use SATA-to-PCIe adapters — fire hazard (SATA = 54W, board = 235W)
- NEVER use cheap 6-pin to 8-pin PCIe adapters — they will melt
- Use 16 AWG wire minimum (silicone, not PVC/nylon) — 18 AWG has melted under load testing
- 20-22 AWG is dangerous — BC-250 current exceeds these cables' rating
- FSP500-30AS is the standard because of its high-quality cables
See 03 — Power Supply Guide for pinouts, wiring, and more PSU options.
| Product | Conductivity | Verdict |
|---|---|---|
| PTM7950 (phase change pad) | Excellent (4-15°C improvement) | Best, but requires thermal cycles to "cure" |
| Thermal Grizzly Kryonaut | 12.5 W/mK | Excellent traditional paste |
| Arctic MX-6 | 10.0 W/mK | Great value |
| Arctic MX-4 | 8.5 W/mK | Good and affordable |
Application (PTM7950):
- Clean the die and heatsink copper with isopropyl alcohol
- Remove plastic from one side, apply to the die
- Remove the second plastic
- Tighten screws in a cross pattern
- First boot will show 80-90°C — normal, the pad needs to "cook in"
- Position a 120mm high static pressure fan (Arctic P12 Pro) over the center of the heatsink
- Secure with zip ties — simplest and safest method
- Connect to header J1 (4-pin PWM, located near the PCIe power connector — small white connector)
- Recommended configuration: push (blowing into the heatsink)
- Front: 1.5mm thickness
- Rear (GDDR6): 2.0mm thickness — CRITICAL, no temperature sensor
- Alternative: Thermal putty (Fehonda LTP81) — self-adjusting
See 04 — Cooling Guide for fan selection, push-pull, 3D printed shrouds, and water cooling.
- Any NVMe works (PCIe 2.0 x2 = ~1 GB/s max, not worth spending much)
- Minimum 256GB, recommended 1TB
- SATA SSDs also work in the slot
| Option | Description |
|---|---|
| 3D printed | 145+ designs on Printables — see elektricM Case Gallery |
| GPU enclosure | Some enclosures fit the BC-250 |
| DIY | Standoffs + acrylic/wood |
| 4U server case | Original ASRock, noisy fans — replace them |
- Install the SSD in the M.2 slot
- Mount the board in the case/enclosure
- Connect the PCIe 8-pin cable from the PSU
- Connect the fan to header J1
- Connect the DisplayPort cable to the monitor
- Connect USB keyboard/mouse
- (Optional) Connect Ethernet cable for installation
See 13 — Case Mods & Custom Enclosures for community case designs. See 09 — WiFi & Peripherals for storage and accessories.
Flashing the modified BIOS is MANDATORY. Without it, you cannot configure dynamic VRAM, fan control, and other essential options.
- Modified BIOS: bc250-bios (GitLab)
- USB flash tool: 4U12G BIOS Update (GitHub)
- Recommended BIOS file:
BC250_3.00_CHIPSETMENU.ROM
- Format a USB drive as FAT32
- Extract the ZIP and copy the contents to the root of the USB drive
- Rename the downloaded BIOS to
Robin5.00(capital R, no extension) - USB drive should contain:
AfuEfix64.efi,Flash.nsh,Robin5.00 - Remove the SSD from the board — this forces the board to boot from USB into EFI Shell instead of the OS. Reinstall the SSD after flashing.
- Connect the USB drive, power on the board
- At the
Shell>prompt, typeblk0:(typeb,l,k,0,:, then spacebar, then Enter) — this selects the USB drive - Type
Flash.nshand press Enter. Note: some keyboard layouts may cause typos (e.g., French keyboards typeFlqsh.nsh) — check the screen before pressing Enter. - WAIT. The screen may freeze or go blank. Do NOT interrupt for at least 15 minutes — interrupting during flash will brick the board.
- System reboots — shut down immediately (hold the power button), remove the USB drive, reinstall the SSD
After ANY BIOS flash, settings won't persist without this:
- Shut down, unplug the PSU from the wall
- Remove the CR2032 battery for 60 seconds
- With the battery out, press the power button 5 times
- Reinsert the battery, power on, enter BIOS (Del)
- Verify CMOS was cleared (clock will be wrong)
- Reconfigure BIOS settings and save with F10
See 02 — BIOS & Firmware for alternative methods (CH341A, internal flash), pinouts, and troubleshooting.
Enter the BIOS by pressing Delete during boot and configure:
Chipset → GFX Configuration:
Integrated Graphics Controller = [Forces]
UMA Mode = [UMA_SPECIFIED]
UMA Frame Buffer Size = [512M] ← Dynamic VRAM (recommended)
Advanced → CPU Configuration:
IOMMU = [Disabled] ← REQUIRED — IOMMU is broken on BC-250
Boot → Boot Mode:
Boot Mode = [UEFI]
| Mode | VRAM | RAM | Best for |
|---|---|---|---|
| 512MB (Dynamic) | Auto (~11.5 GB) | Auto | General use |
| 6 GB fixed | 6 GB | 10 GB | AAA gaming without OOM risk |
| 8 GB fixed | 8 GB | 8 GB | Balanced workload |
| 4 GB fixed | 4 GB | 12 GB | Light gaming, more system RAM |
512MB dynamic is best for most users. Linux allocates more VRAM automatically when needed.
- Connect everything, power on the PSU
- Board should power on automatically (AUTO_PWRON1)
- Press Del to enter BIOS
- Can't see BIOS? Switch to a native DisplayPort cable (adapters may not initialize fast enough)
| Distro | Difficulty | Verdict |
|---|---|---|
| CachyOS | Intermediate | Community default — best stability + performance, kernel 6.19+ out of box |
| Bazzite | Easy | ⚠ Needs testing branch (stable is kernel 6.17.7 — too old for 40 CU). See rebase instructions below. |
| Fedora 43+ | Easy | Most documented, Mesa 25.1+ native |
| Nobara | Intermediate | Fedora-based, non-immutable, easy governor setup |
| Arch Linux | Advanced | Full control, requires manual configuration |
| Ubuntu 26.04+ | Easy | Works with Mesa PPA |
| Manjaro | Easy | Boots out-of-box |
Community recommendation (July 2026): CachyOS. Bazzite stable ships kernel 6.17.7 which causes 40 CU instability — only use Bazzite if you rebase to the testing branch immediately after install.
6.15.0-6.15.6 and 6.17.8-6.17.10 cause GPU failure. Use 6.19.x (recommended), 6.18.18 LTS (stable fallback).
Bazzite stable ships 6.17.7 — too close to broken range and too old for 40 CU stability. Immediately rebase to testing branch after install (see below).
See 05 — OS Installation for complete installation guides for each distro.
- On another PC, download the ISO for your chosen distro
- Write it to a USB drive with Ventoy (recommended), balenaEtcher, or Rufus
- Connect the USB drive to the BC-250, power on
⚠ Important: Bazzite stable ships kernel 6.17.7 which is too old. After install, immediately rebase to testing branch:
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:testing- Use the non-live installer image (live image has login bugs)
- Boot from USB — no special parameters needed
- Normal installation (~10-15 min)
- Default password (if asked):
bazzite - Reboot
- After reboot, run the rebase command above to get kernel 7.0 + Mesa 26
- Download CachyOS ISO
- Flash to USB and boot — standard install works, no special parameters
- Complete installation (~10-15 min)
- Handheld Edition recommended for Game Mode + Gamescope + FSR
- Boot from USB
- In GRUB, select "Basic Graphics Mode" (enables nomodeset automatically)
- Normal installation
- Reboot — screen may go black (nomodeset still active, normal)
See 05 — OS Installation for installation on CachyOS, Arch, Debian, Ubuntu, Manjaro, and Nobara.
The governor is ESSENTIAL. Without it the GPU is stuck at 1500 MHz and idle power is 85-105W.
SMU governor (recommended — no kernel patch needed):
CachyOS / Arch (community default):
paru -S cyan-skillfish-governor-smu
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceFedora / Nobara:
sudo dnf copr enable filippor/bazzite
sudo dnf install cyan-skillfish-governor-smu
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceBazzite (rpm-ostree — requires testing branch):
sudo dnf copr enable filippor/bazzite
rpm-ostree install cyan-skillfish-governor-smu
systemctl reboot
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceDebian / Ubuntu:
wget https://github.com/Magnap/cyan-skillfish-governor/releases/latest/download/cyan-skillfish-governor-smu_amd64.deb
sudo dpkg -i cyan-skillfish-governor-smu_amd64.deb
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceFedora / GRUB:
sudo nano /etc/default/grub
# Mude: GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
# Para: GRUB_CMDLINE_LINUX_DEFAULT="quiet"
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo rebootBazzite (rpm-ostree):
rpm-ostree kargs --delete-if-present="nomodeset"
systemctl rebootEnables C-States (idle) and P-States (CPU frequency scaling 800-3200 MHz):
git clone https://github.com/bc250-collective/bc250-acpi-fix.git
cd bc250-acpi-fix
# Follow the README for your distroThis reduces idle power consumption and allows the CPU to scale frequency.
File: /etc/cyan-skillfish-governor-smu/config.toml
Recommended config (general use):
safe-points = [
[1000, 700], # idle
[1500, 900], # medium load
[2000, 1000], # gaming
[2100, 1025], # light overclock
[2175, 1050], # moderate overclock
[2300, 1075], # max overclock (requires good air cooling)
]After changing: sudo systemctl restart cyan-skillfish-governor-smu
# Mesa version (26.x recommended, 25.1+ minimum)
glxinfo | grep "OpenGL version"
# GPU driver (should show RADV GFX1013, NOT llvmpipe)
vulkaninfo | grep deviceName
# Governor running
systemctl status cyan-skillfish-governor-smu
# GPU frequency (should show multiple frequencies)
cat /sys/class/drm/card1/device/pp_dpm_sclkSee 06 — GPU Governor for detailed config, overclocking, SMU profiles, and troubleshooting.
- Best option: Native DisplayPort cable (up to 4K@120Hz, HDR10, audio works)
- Second option: Passive DP-to-HDMI adapter (~$5-10, 1080p60/1440p60 with audio)
- Avoid: Active DP-to-HDMI adapter (audio broken on BC-250)
| Solution | Quality | Works? |
|---|---|---|
| Audio over native DP | Great | Yes (kernel 6.19.10+ fixed bugs) |
| DP-to-HDMI passive | Good | Yes |
| USB Sound Card | Great | Most reliable — Sabrent AU-EMCB or generic USB dongle (~$10) |
| DP-to-HDMI active | Poor | Audio dropouts |
Kernel 6.19.10+ includes the DP audio fix by TheFloW (PS5 Linux developer).
Works natively on CachyOS kernel 6.19+ and via custom image on Bazzite.
See 08 — Display & Audio for more details on VRR, multi-monitor, adapters, and NullVRS.
| Adapter | Chipset | WiFi | BT | Price |
|---|---|---|---|---|
| TP-Link Archer TX10UB Nano | MT7921AU | AX900 (WiFi 6) | BT 5.3 | ~$20 |
| Fenvi FU-AX1800 | MediaTek | AX1800 | BT 5.0 | ~$20 |
| EDUP AX3000M | MT7921AU | AX3000 (WiFi 6E) | BT 5.0 | ~$25 |
| TP-Link Archer T2UB Nano | — | WiFi 5 | BT 4.2 | ~$15 |
Adapters with RTL8822BU chipset have better in-kernel support (Linux 6.12+). Custom kernels (e.g., Bazzite performance mode) may not include your adapter's driver — have Ethernet as a fallback.
- TP-Link UB500 Plus (BT 5.3, ~$10-15)
- EDUP B3536 (BT 5.0, ~$5 AliExpress)
The BC-250 has Realtek RTL8111H Gigabit Ethernet — plug and play on all distros.
- Power button: The board has no standard power button header — it powers on automatically when 12V is applied (AUTO_PWRON1 defaults to pins 1-2). To add a physical button: solder two wires to the onboard push button (small black button on the back edge), then move AUTO_PWRON1 jumper to pins 2-3.
- Standard USB keyboard works for BIOS
See 09 — WiFi & Peripherals for storage, USB accessories, cases, and mounting.
Fedora / Nobara:
sudo dnf install steam mangohud goverlayBazzite: Steam comes pre-installed.
CachyOS / Arch:
sudo pacman -S steam mangohud goverlay- Open Steam → Settings → Compatibility
- Enable "Enable Steam Play for all other titles"
- Select Proton Experimental (or the latest version)
For games with graphical artifacts:
RADV_DEBUG=nohiz %command%For games with 640x480 resolution (broken VRS):
ENABLE_VK_NULLVRS_1=1 %command%MangoHud overlay:
mangohud %command%sudo systemctl disable --now hhd
sudo systemctl mask hhdThe Handheld Daemon (HHD) on Bazzite restarts constantly if it doesn't find expected functionalities.
Unlocks 16 harvested CUs — 24 CU → 40 CU. ~60% more compute performance.
No kernel patch, no reboot. Works on any distro:
git clone https://github.com/WinnieLV/bc250-cu-live-manager.git
cd bc250-cu-live-manager
# Follow the README — interactive TUI to toggle CUs individuallydmesg | grep active_cu_number # Expected: 40
RADV_DEBUG=info vulkaninfo --summary 2>&1 | grep num_cu # Expected: 40- Reduce the governor max clock to ~1850 MHz (40 CU generates more heat)
- Test stability — some boards have defective CUs (visual artifacts)
- Use
bc250-cu-live-managerto enable CUs individually and test
See 02 — BIOS & Firmware for health testing, selective masking, crash behavior, and 40 CU troubleshooting.
After everything is configured, test your board:
# Temperaturas
sensors
# GPU load
cat /sys/class/drm/card1/device/gpu_busy_percent
# Current GPU frequency
cat /sys/class/drm/card1/device/pp_dpm_sclk
# Vulkan info
vulkaninfo --summary| Tool | Installation | What it tests |
|---|---|---|
| Unigine Superposition | Steam (free) | General GPU |
| 3DMark | Steam (paid) | GPU + CPU |
| Geekbench 6 | Official site | CPU + GPU |
| FurMark | Official site | GPU stress + thermals |
| 7zip benchmark | 7z b |
CPU compression |
| pp512 (LLM) | Python script | AI inference |
See 07 — Game Benchmarks for FPS of 80+ community-tested games.
- Clear CMOS (battery 60s)
- Try a different PSU (bad PSU is cause #1)
- Check Q11 transistor (may have been knocked off during shipping)
- Flash BIOS via CH341A
- Use native DisplayPort cable (not adapter)
- Disable IOMMU in BIOS
- Check kernel (avoid 6.15.0-6.15.6 and 6.17.8-6.17.10)
- Boot with
nomodeset, install governor, remove nomodeset
- Check Mesa 25.1+:
glxinfo | grep "OpenGL version" - Check kernel:
uname -r - Check if nomodeset was removed
- Confirm IOMMU is disabled
- Governor running?
systemctl status cyan-skillfish-governor-smu - Minimum voltage >= 700 mV? (below this locks to 1500 MHz)
- Reinstall the governor
- Thermal paste replaced? (stock is dried out)
- Heatsink fins opened? (opening center = 5-10°C improvement)
- High static pressure fan? (P12 Pro > common case fan)
- Rear VRAM cooled? (no sensor, silent overheating)
-
RADV_DEBUG=nohiz %command%in Steam launch options - If persistent: reduce governor overclock
- If only in specific games: install Vulkan_NullVRS
See 10 — Troubleshooting for a complete guide with all known errors.
Your BC-250 is running. Now you can:
- Optimize cooling — water cooling, 3D printed fan shrouds, push-pull
- Tune the governor — GPU overclock, perf profiles, undervolt
- Run CU health test — if unlocking 40 CU
- Run benchmarks — compare with the community leaderboard
- Set up AI inference — Ollama, pp512, ROCm
- Print a custom case — 145+ designs on Printables
- Join the community — Discord for support, tips, and new projects
See 11 — Community & Resources for Discord, GitHub, and community project links.
See 12 — AI Inference for a guide on setting up LLMs and local inference.
Guide generated from Revised/01-13 documents, export/elektricM-docs, and BC-250 Discord community data. Last updated: June 2026.
BC-250 Unofficial Community Guide — maintained by katzzero. Discord · GitHub · elektricM Docs
BC-250 Unofficial Community Guide
Start Here
Hardware
Software
- 02-bios-and-firmware
- 05-os-installation
- 06-gpu-governor
- 08-display-and-audio
- 09-wifi-and-peripherals
Performance
Help