mirror of
https://github.com/elektricM/amd-bc250-docs.git
synced 2026-07-16 01:51:15 +00:00
docs: add verified CPU OC benchmarks, fix CoolerControl install, add fan curve guide
- CPU OC results table (3500-3900 MHz tested with 7zip) - bc250_smu_oc installation and permanent setup guide - Dynamic CPU scaling: 800 MHz idle → 3900 MHz load (schedutil + SMU OC) - Fix CoolerControl COPR repo (codifryed/CoolerControl, not terra) - Add lightweight systemd fan curve script as alternative to CoolerControl - Note about hwmon path changes between kernels
This commit is contained in:
159
UPDATE-BRIEF.md
159
UPDATE-BRIEF.md
@@ -1,159 +0,0 @@
|
||||
# Docs Update Brief — March 2026
|
||||
|
||||
## Sources of Truth (in priority order)
|
||||
1. **mothenjoyer69/bc250-documentation** (GitHub) — the original community docs, maintained by the OG devs
|
||||
2. **BC250 Discord resource channels** — where technical discoveries happen first
|
||||
3. **r/BC250Gaming subreddit** — user-facing questions and builds
|
||||
|
||||
## Critical Issues to Fix
|
||||
|
||||
### 1. Community is calling the docs "AI generated outdated garbage"
|
||||
Discord quotes (March 5-7):
|
||||
- "really wouldn't use that guide it's not only outdated but it's AI generated outdated garbage"
|
||||
- "don't trust anything except the section on BIOS flashing"
|
||||
- "I keep vacillating between making an MR to fix the whole dang thing and not wanting to waste my time on correcting AI slop"
|
||||
- "Problem is that it's SEO'd better than actually truthful resources"
|
||||
|
||||
### 2. Governor Landscape (MAJOR UPDATE NEEDED)
|
||||
|
||||
**Current state (March 2026):**
|
||||
- **cyan-skillfish-governor-tt** — filippor's thermal throttling version. DEFAULT for Bazzite/Fedora via COPR `filippor/bazzite`. Service name: `cyan-skillfish-governor-tt`
|
||||
- **cyan-skillfish-governor-smu** (NEW Jan 18 2026) — filippor's SMU variant. **Bypasses kernel patches entirely.** AUR: `cyan-skillfish-governor-smu`, COPR: `filippor/bazzite`
|
||||
- **oberon-governor** — original by mothenjoyer69. COPR: `@exotic-soc/oberon-governor`. Still works, considered legacy but stable
|
||||
- **NexGen3D setup script** — `github.com/NexGen-3D-Printing/SteamMachine` — installs cyan-skillfish-governor-tt + zram + CPU mitigations. De facto standard for Bazzite beginners
|
||||
|
||||
**filippor service name change (Dec 13 2025):**
|
||||
- Renamed from `cyan-skillfish-governor` to `cyan-skillfish-governor-tt`
|
||||
- Config folder moved from `/etc/cyan-skillfish-governor/` to `/etc/cyan-skillfish-governor-tt/`
|
||||
- Migration: `sudo cp /etc/cyan-skillfish-governor/config.toml /etc/cyan-skillfish-governor-tt/config.toml`
|
||||
|
||||
**Minimum voltage bug:** Setting min voltage below 700mV locks GPU to 1500MHz. Must be ≥700mV.
|
||||
|
||||
### 3. Bazzite Kernel is Pre-Patched
|
||||
- The GPU frequency range kernel patch is **already included in Bazzite's kernel**
|
||||
- Manual kernel patching instructions on the overclocking page are **unnecessary for Bazzite users**
|
||||
- The SMU governor also bypasses the need for kernel patching on ANY distro
|
||||
- For CachyOS/Arch, either patch kernel or use SMU governor
|
||||
|
||||
### 4. ACPI Fix is Essential (not optional)
|
||||
- Required for C-State support
|
||||
- Without it, no proper power management
|
||||
- GitHub: `bc250-collective/bc250-acpi-fix`
|
||||
|
||||
### 5. Mesa 25.1 Upstream Support
|
||||
- Mesa 25.1 has upstream cyan-skillfish support
|
||||
- mothenjoyer says: "should be shipped by most big distros at this point"
|
||||
|
||||
### 6. mothenjoyer's docs say:
|
||||
- VRAM allocation: set to **512MB** for best APU experience (not 4/12 split)
|
||||
- J1000 is standard 8-pin PCIe power (already fixed in our docs)
|
||||
- ttm.pages_limit=3959290 and ttm.page_pool_size=3959290 kernel params needed for >8GB shared memory
|
||||
- nct6683 driver for sensors (force=true needed), NOT nct6686 — check what our docs say
|
||||
- "These boards more or less just work now" — install distro, install governor, done
|
||||
- Windows: "No" — GPU not supported by any drivers
|
||||
- Don't use Smokeless_UMAF — may cause permanent damage
|
||||
- HW encode/decode does NOT work (VCN firmware blocked by Sony)
|
||||
|
||||
### 7. WiFi Drivers Issue (#10)
|
||||
- User reported: installing performance mode killed wifi drivers
|
||||
- Likely related to kernel swap or driver module changes during advanced setup
|
||||
- Need warning on relevant page
|
||||
|
||||
## Specific Factual Errors Called Out by Community
|
||||
1. **PCIe is 2.0 x2, NOT 3.0** — sapoperro flagged this Nov 22. mothenjoyer confirms 2.0
|
||||
2. **"980 MHz is unstable across all boards"** — filippor questioned this Nov 22. Likely AI hallucination. Remove or caveat
|
||||
3. **Case links were broken** — some fixed, verify all remain working
|
||||
4. **Kernel 6.17.8 has a BC250 GPU bug** — fixed in 6.18, NOT backported. Important for CachyOS/Arch users. See https://gitlab.freedesktop.org/drm/amd/-/issues/4721
|
||||
5. **nct6683 vs nct6686** — mothenjoyer says nct6683 with force=true. Check what our docs say
|
||||
6. **HW encode/decode does NOT work** — VCN firmware blocked by Sony. If docs suggest it works, fix it
|
||||
7. **ttm kernel params** — ttm.pages_limit=3959290 and ttm.page_pool_size=3959290 needed for >8GB shared memory
|
||||
8. **Smokeless_UMAF warning** — "Don't try it, you may cause permanent damage" per mothenjoyer
|
||||
|
||||
## Alternative Community Guides (reference, don't copy)
|
||||
- **DeathStalker Grimoire**: https://github.com/DeathStalker471/bc250theGrimoire — community-approved step-by-step guide in grimdark fiction style. Covers heatsink mod, thermal paste, BIOS flash, governor setup
|
||||
- **NexGen3D SteamMachine scripts**: https://github.com/NexGen-3D-Printing/SteamMachine — automated setup for Bazzite
|
||||
- **filippor's instructions** (Dec 15 on Discord): `dnf copr enable filippor/bazzite` → `dnf install cyan-skillfish-governor-tt` → `systemctl status cyan-skillfish-governor-tt`
|
||||
|
||||
## What NOT to Change
|
||||
- BIOS flashing section — was rewritten by deathstalkerjr, considered accurate by the community
|
||||
- Site structure — don't reorganize
|
||||
- Cases catalogue — recently updated (145 designs)
|
||||
|
||||
## Additional Community Criticism (from Discord flex-chat + help threads)
|
||||
|
||||
### Specific pages called out:
|
||||
- **quick-start.md Step 5 "Remove nomodeset"** — user says editing grub directly is outdated on Bazzite, should use user.cfg instead (Jan 8, bearofberlin)
|
||||
- **hardware/power.md** — "outdated infos saying vram can run very hot and needs cooling and power supply needs 8 pins because 6 pins not recommended" (Dec 17, akxfile)
|
||||
- **hardware/cooling.md** — "ram cooling nonsense" flagged (Dec 17, akxfile)
|
||||
- **bios/overclocking.md** — "AI generated outdated garbage", "don't bother with manual patching" (Mar 4-6)
|
||||
- **linux/bazzite.md** — "has issues" (Nov 30, deathstalkerjr)
|
||||
- **getting-started/quick-start.md** — user followed it, couldn't find pp_dpm_sclk (card0 vs card1), empty grub file (Feb 4, ruben2099)
|
||||
- **General sentiment** (Feb 2, big_trov): "It did that because it is ai generated slop"
|
||||
- **General sentiment** (Feb 10, pops1cl): "docs seem a little outdated"
|
||||
|
||||
### GPU governor crash bug (IMPORTANT for troubleshooting)
|
||||
- User reports (Feb 26, nohanmv): cyan-skillfish-governor can cause black screen on GPU reset. If GPU crashes while governor is running, it can't reset properly → stuck black screen. Workaround: disable governor before playing crash-prone games. This NEEDS to be documented in troubleshooting.
|
||||
|
||||
## VRAM Allocation Controversy
|
||||
- mothenjoyer says: 512MB best for general APU use
|
||||
- akxfile (Feb 23): "idk why everyone say 512 is good for gaming" — needed 6-8GB to stop crashes in Expedition 33
|
||||
- Community consensus seems to be: 512MB for most games, but some newer/heavier titles need 4-8GB
|
||||
- Docs should present both options with use cases, not just one recommendation
|
||||
|
||||
## Overclocking Page Issues
|
||||
- FPS numbers (Star Wars Battlefront 2: 80-85→120-130 FPS +50%) — looks AI-generated, unverifiable
|
||||
- Presents kernel patch as essential when Bazzite already includes it
|
||||
- Should lead with "install a governor" not "patch your kernel"
|
||||
- SMU governor (Jan 2026) bypasses all kernel patching — this is the modern approach
|
||||
|
||||
## Quick-Start Grub Issue
|
||||
- Page tells users to edit /etc/default/grub directly
|
||||
- On Bazzite (immutable), this is wrong — should use user.cfg
|
||||
- User bearofberlin (Jan 8) flagged this
|
||||
|
||||
## NexGen3D Setup Scripts (the "just works" approach)
|
||||
- https://github.com/NexGen-3D-Printing/SteamMachine
|
||||
- Setup-16GB.sh — GPU governor + zram + CPU mitigations
|
||||
- Setup-CPU.sh — CPU overclock + ACPI fix
|
||||
- SteamMachinePro/ — full pro setup guide
|
||||
- Community adapts these for CachyOS too (amirseni, Mar 2)
|
||||
|
||||
## CRITICAL: Native Support Status (March 2026)
|
||||
|
||||
The docs were written when BC250 needed lots of workarounds. As of March 2026, support is mostly NATIVE:
|
||||
|
||||
**Mesa:** 25.1+ has upstream cyan-skillfish support (landed May 2025). Fedora 43 ships mesa 25.x/26.x. All major distros have it.
|
||||
**Kernel (as of March 18 2026):**
|
||||
- 7.0-rc4 mainline
|
||||
- 6.19.8 stable
|
||||
- 6.18.18 LTS
|
||||
- Bazzite includes frequency patch in its kernel
|
||||
**Fedora:** 43 is current stable, 44 Beta just released (ships 6.19 + GNOME 50). Fedora 42 is EOL.
|
||||
**CachyOS:** March 2026 release is latest.
|
||||
**mothenjoyer (March 2026):** "These boards more or less just work now, and all you need to do is install a distro, install the GPU governor, and then go to town."
|
||||
|
||||
IMPORTANT: The docs reference old kernel versions (6.12-6.17) and old Fedora (42). Update to reflect current versions.
|
||||
|
||||
What's ACTUALLY still needed beyond a standard distro install:
|
||||
1. Flash modded BIOS (for VRAM allocation + exposed settings)
|
||||
2. Install a GPU governor (cyan-skillfish-governor-tt or -smu)
|
||||
3. ACPI fix for C-States
|
||||
4. ttm kernel params for >8GB shared memory
|
||||
5. nct6683 module with force=true for sensors
|
||||
|
||||
Everything else (mesa, kernel, RADV) should be stock. Remove workarounds for things that are now native.
|
||||
|
||||
## Cross-Reference Map
|
||||
Discord channel → Doc page:
|
||||
- `Bazzite OS for starters` → linux/bazzite.md
|
||||
- `oberon-governor optimization` → system/governor.md
|
||||
- `Script to Install Governor and Fixes` → system/governor.md, linux/bazzite.md
|
||||
- `CPU Overclocking & Undervolting Tools` → bios/overclocking.md
|
||||
- `Increased GPU frequency range kernel patch` → linux/kernel.md
|
||||
- `Making CachyOS work` → linux/cachyos.md
|
||||
- `GPU Control for BC-250` → new tool, mention in governor.md
|
||||
- `BIOS update/flasher program` → bios/flashing.md (DO NOT CHANGE - community approved)
|
||||
- `zswap instead of zram` → could add to system/
|
||||
- `Mem Timing Utility` → could add to bios/overclocking.md
|
||||
|
||||
Discord exports: ~/clawd/data/bc250-discord/ (35 resource channel files, ~8.8MB total)
|
||||
@@ -357,19 +357,53 @@ CoolerControl provides a GUI for creating custom fan curves.
|
||||
ujust install-coolercontrol
|
||||
|
||||
# Fedora
|
||||
sudo dnf copr enable terra/terra
|
||||
sudo dnf install liquidctl coolercontrol
|
||||
sudo dnf copr enable codifryed/CoolerControl
|
||||
sudo dnf install coolercontrol
|
||||
sudo systemctl enable --now coolercontrold
|
||||
|
||||
# Arch
|
||||
yay -S coolercontrol
|
||||
```
|
||||
|
||||
Web UI available at `https://localhost:11987` after installation.
|
||||
|
||||
**Configuration:**
|
||||
1. Launch CoolerControl
|
||||
2. Select BC-250 fan header
|
||||
3. Create custom curve (e.g., 30% at 50°C, 100% at 80°C)
|
||||
1. Open CoolerControl web UI or launch the GUI app
|
||||
2. Select the nct6686 device (BC-250's SuperIO chip)
|
||||
3. Create custom curve on pwm2 (Pump Fan header) using k10temp Tctl as source
|
||||
4. Apply and test
|
||||
|
||||
### Systemd Fan Curve (Lightweight Alternative)
|
||||
|
||||
If you prefer a simple script without a GUI:
|
||||
|
||||
```bash
|
||||
# Create fan curve script
|
||||
sudo tee /usr/local/bin/bc250-fancurve << 'SCRIPT'
|
||||
#!/bin/bash
|
||||
HWMON_PWM=/sys/class/hwmon/hwmon1/pwm2
|
||||
HWMON_ENABLE=/sys/class/hwmon/hwmon1/pwm2_enable
|
||||
TEMP_INPUT=/sys/class/hwmon/hwmon3/temp1_input
|
||||
echo 1 > $HWMON_ENABLE
|
||||
while true; do
|
||||
TEMP=$(($(cat $TEMP_INPUT) / 1000))
|
||||
if [ $TEMP -le 40 ]; then PWM=60
|
||||
elif [ $TEMP -le 50 ]; then PWM=80
|
||||
elif [ $TEMP -le 60 ]; then PWM=120
|
||||
elif [ $TEMP -le 70 ]; then PWM=160
|
||||
elif [ $TEMP -le 80 ]; then PWM=200
|
||||
elif [ $TEMP -le 85 ]; then PWM=230
|
||||
else PWM=255; fi
|
||||
echo $PWM > $HWMON_PWM
|
||||
sleep 3
|
||||
done
|
||||
SCRIPT
|
||||
sudo chmod +x /usr/local/bin/bc250-fancurve
|
||||
```
|
||||
|
||||
!!!note "hwmon numbering"
|
||||
hwmon paths may change between kernel versions or reboots. Verify `cat /sys/class/hwmon/hwmon*/name` to find the correct hwmon for nct6686 (fan control) and k10temp (CPU temperature).
|
||||
|
||||
### BIOS Fan Settings
|
||||
|
||||
The BIOS offers three fan modes:
|
||||
|
||||
@@ -641,11 +641,61 @@ sudo systemctl restart cyan-skillfish-governor-tt
|
||||
# Monitor temperatures
|
||||
```
|
||||
|
||||
**Known Limits:**
|
||||
- **1000 MHz:** Minimum safe frequency on stock kernel
|
||||
**Known GPU Limits:**
|
||||
- **350 MHz:** Minimum with kernel frequency range patch
|
||||
- **1000 MHz:** Minimum on stock kernel
|
||||
- **2000 MHz @ 1000mV:** Safe starting point
|
||||
- **2100-2175 MHz @ 1025mV:** Works on many boards, test thoroughly
|
||||
- **2230 MHz:** Maximum with kernel patch, requires good cooling
|
||||
- **2230 MHz:** Maximum confirmed stable with kernel patch, requires good cooling
|
||||
|
||||
## CPU Overclocking with bc250_smu_oc
|
||||
|
||||
The [bc250_smu_oc](https://github.com/bc250-collective/bc250_smu_oc) tool overclocks the CPU via SMU commands. It raises the boost clock ceiling while keeping dynamic frequency scaling intact.
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
git clone https://github.com/bc250-collective/bc250_smu_oc.git
|
||||
cd bc250_smu_oc
|
||||
pip install --user .
|
||||
```
|
||||
|
||||
### Testing Frequencies
|
||||
|
||||
```bash
|
||||
# Test 3700 MHz (auto-tunes voltage)
|
||||
sudo bc250-detect -f 3700 -v 1231
|
||||
|
||||
# Test with --keep to maintain OC after tool exits
|
||||
sudo bc250-detect -f 3900 -v 1280 -k
|
||||
```
|
||||
|
||||
### Verified CPU Overclock Results (Fedora 43, kernel 6.19.8)
|
||||
|
||||
| Frequency | Auto-Tuned Voltage | 7zip MIPS | Temp (full load) | vs Stock |
|
||||
|-----------|-------------------|-----------|------------------|----------|
|
||||
| 3500 (stock) | auto | 26,062 | 60°C | baseline |
|
||||
| 3600 MHz | 1150 mV | 26,518 | 65°C | +1.7% |
|
||||
| 3700 MHz | 1199 mV | 27,212 | 68°C | +4.4% |
|
||||
| 3800 MHz | 1250 mV | 27,919 | 72°C | +7.1% |
|
||||
| 3900 MHz | 1275 mV | 28,410 | 75°C | +9.0% |
|
||||
| 4000 MHz | — | throttles | 77°C | ❌ |
|
||||
|
||||
!!!note "Cooling Matters"
|
||||
These results were obtained with a fan curve service ramping PWM based on temperature. With the stock fan at PWM 80 (~1400 RPM), 3900 MHz throttles. Good cooling extends the OC headroom.
|
||||
|
||||
### Making CPU OC Permanent
|
||||
|
||||
```bash
|
||||
# Test and generate config
|
||||
sudo bc250-detect -f 3900 -v 1280 -k -c /etc/bc250-overclock.conf
|
||||
|
||||
# Install as systemd service
|
||||
sudo bc250-apply -a -i /etc/bc250-overclock.conf
|
||||
sudo systemctl enable bc250-smu-oc
|
||||
```
|
||||
|
||||
The OC service raises the boost ceiling at boot. Combined with ACPI P-States and the `schedutil` governor, the CPU scales dynamically: **800 MHz at idle → 3900 MHz under load**.
|
||||
|
||||
!!!warning "Overclocking Risks"
|
||||
Overclocking can cause instability, crashes, and potentially hardware damage. Always monitor temperatures and test thoroughly.
|
||||
@@ -736,4 +786,4 @@ echo schedutil | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** 2026-03-18
|
||||
**Last Updated:** 2026-03-21
|
||||
|
||||
Reference in New Issue
Block a user