diff --git a/UPDATE-BRIEF.md b/UPDATE-BRIEF.md deleted file mode 100644 index ef8e345..0000000 --- a/UPDATE-BRIEF.md +++ /dev/null @@ -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) diff --git a/docs/hardware/cooling.md b/docs/hardware/cooling.md index 12a8cc3..642d32c 100644 --- a/docs/hardware/cooling.md +++ b/docs/hardware/cooling.md @@ -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: diff --git a/docs/system/governor.md b/docs/system/governor.md index 50a204c..c6a4dc2 100644 --- a/docs/system/governor.md +++ b/docs/system/governor.md @@ -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