19 KiB
Power Management Guide
Complete power management reference for the BC-250, covering consumption characteristics, PSU requirements, power tuning, and optimization strategies.
Power Consumption Overview
Measured Power Draw
The BC-250's power consumption varies significantly based on workload and configuration:
| Scenario | Power Draw | Notes |
|---|---|---|
| Idle (No Governor) | 105W | Stock configuration, no optimization |
| Idle (With Governor) | 85W | 20W savings with GPU governor |
| Idle (Optimized) | 55W | Debian + governor + undervolting |
| Desktop Use | 60-85W | Light browsing, system tasks |
| Gaming (Standard) | 150-200W | Most games at 1080p |
| Gaming (RT Enabled) | 235W | Cyberpunk 2077, high settings + RT |
| Benchmark (Furmark) | 250-320W | Stress test, not realistic workload |
| Full Load (Typical) | 195W | Sustained heavy workload |
Component Breakdown (from hardware testing):
- CPU + GPU at idle: ~31W
- RAM + Memory Controller: ~35W+
- Other board components: ~27W
- Total idle: ~93W (without optimization)
TDP Specifications
Official TDP: 220W
Realistic Ranges:
- Normal gaming: 150-200W
- Maximum practical: 235W
- Theoretical maximum: 300W+ (requires extreme cooling, not recommended)
PSU Requirements
Minimum Requirements
Power Capacity:
- Minimum 12V rail: 220W (18.3A @ 12V)
- Recommended: 250W+ on 12V rail for headroom
- Heavy users: 300W+ for overclocking
Connector:
- PCIe 8-pin (6+2) connector required
- Some users report 6-pin works but not recommended
- Ground and sense pins important for stability
Calculating PSU Capacity
Watts = Volts × Amps
Required Amps = 220W ÷ 12V = 18.3A minimum
Recommended Amps = 25A for safety margin
Multi-Rail PSU Warning: If your PSU has multiple 12V rails, ensure a single rail can provide the full wattage. A 300W PSU split across three 100W rails will NOT work.
Recommended PSU Options
Budget Options:
-
FSP FSP500-30AS (Flex ATX)
- 500W total, sufficient 12V rail
- Compact form factor
- ~$50-60 new, $10-30 on eBay
- Coil whine reported on some units
-
Mean Well LOP-300-12
- 300W @ 12V (25A)
- Open frame design
- Requires custom cabling
- Silent operation
-
Dell 220W-330W Bricks (repurposed)
- Available cheap from surplus
- Requires barrel to 8-pin adapter
- Some units insufficient for peak loads
Standard ATX Options:
- Any quality 450W+ ATX PSU with single 12V rail
- Seasonic, EVGA, Corsair, Be Quiet recommended
- Ensure 12V rail provides 20A+
Server PSU (Advanced):
- 1200W+ server PSUs available cheap
- Require fan modification (very loud stock)
- Breakout boards needed
- Best for multi-board setups
PSU Safety Warnings
DO NOT use these adapters:
- SATA to 8-pin (SATA limited to 55W - fire hazard)
- Molex to 8-pin (unless PSU explicitly rated for it)
- Cheap no-name adapters from marketplace sellers
Signs of insufficient PSU:
- Random shutdowns under load
- Fan speed fluctuations
- Crashes during demanding games
- OCP (overcurrent protection) trips
Power Limit Configuration
Using GPU Governor
The governor is essential for power management and efficiency.
Cyan Skillfish Governor TT Configuration (recommended):
Default location: /etc/cyan-skillfish-governor-tt/config.toml
min_frequency = 1000 # MHz
max_frequency = 2000 # MHz (safe for most boards)
min_voltage = 700 # mV
max_voltage = 1000 # mV
Power Savings Configuration (Lower Consumption):
min_frequency = 1000
max_frequency = 2000
min_voltage = 700
max_voltage = 950 # Lower max voltage
Apply changes:
sudo systemctl restart cyan-skillfish-governor-tt
Oberon Governor Configuration (legacy):
Default configuration file: /etc/oberon-config.yaml — see Governor page for details.
More Granular Control:
Cyan Skillfish Governor TT supports multiple voltage/frequency points.
Default location: /etc/cyan-skillfish-governor-tt/config.toml
# Multiple safe-points for precise voltage control
[[safe-points]]
frequency = 350
voltage = 700
[[safe-points]]
frequency = 1000
voltage = 700
[[safe-points]]
frequency = 1500
voltage = 850
[[safe-points]]
frequency = 2000
voltage = 1000
# Load targets (70-95% default)
[load_target]
min = 70
max = 95
Apply changes:
sudo systemctl restart cyan-skillfish-governor-tt
Manual Power Limiting (Advanced)
Set specific frequency and voltage:
# Stop governor first
sudo systemctl stop cyan-skillfish-governor-tt
# Set custom values
echo "vc 0 1800 950" > /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
echo "c" > /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
# Test for stability before setting governor config
Undervolting for Power Savings
Benefits of Undervolting
- Reduced power consumption (10-30W savings possible)
- Lower temperatures (5-10°C reduction)
- Quieter operation (fans run slower)
- No performance loss if done correctly
Safe Undervolting Process
Starting Point (Conservative):
| Frequency | Stock Voltage | Undervolt Target |
|---|---|---|
| 1000 MHz | 700 mV | 700 mV (no change) |
| 1500 MHz | 900 mV | 850 mV (-50 mV) |
| 2000 MHz | 1000 mV | 950 mV (-50 mV) |
Testing Procedure:
- Configure governor with lower voltage
- Run stability test (gaming for 30+ minutes)
- Monitor for crashes, artifacts, black screens
- If stable, reduce voltage by another 25 mV
- If unstable, increase voltage by 25 mV
- Repeat until you find stable minimum
Stability Test Commands:
# Run vkmark for GPU stress
vkmark
# Or run demanding game
steam steam://rungameid/1091500 # Cyberpunk 2077
Example Undervolt Results (User Reported):
- 2000 MHz @ 950 mV: Stable, ~163W gaming (Cyberpunk)
- 2230 MHz @ 1000 mV: Stable, ~200W gaming
- 2230 MHz @ 1035 mV: Unstable, required 1050+ mV
Determining Voltage Requirements
Trial and Error Method:
- Start with frequency you want (e.g., 1800 MHz)
- Set voltage to 1000 mV (safe default)
- Test stability
- Lower voltage in 25 mV increments
- When crashes occur, increase 25 mV and mark as stable
Interpolation Method (Advanced):
If you know two stable points, you can interpolate:
- 1000 MHz @ 700 mV = stable
- 2000 MHz @ 1000 mV = stable
- 1500 MHz @ 850 mV = likely safe (linear interpolation)
Note: Voltage curves are NOT perfectly linear. Silicon lottery means every chip is different. Always test thoroughly.
Idle Power Optimization
Reducing Idle Consumption
Step 1: Install Governor
Without governor: 105W idle With governor: 85W idle (20W savings)
# Install cyan-skillfish-governor-tt (Fedora/Bazzite)
sudo dnf copr enable filippor/bazzite
sudo dnf install cyan-skillfish-governor-tt
sudo systemctl enable --now cyan-skillfish-governor-tt
Step 2: Optimize Governor Settings
Edit /etc/cyan-skillfish-governor-tt/config.toml for lower idle power:
min_frequency = 1000 # Allow GPU to idle lower
max_frequency = 2000
min_voltage = 700 # Minimum safe voltage
max_voltage = 950 # Reduced max voltage
Result: 60-70W idle possible
Step 3: CPU Power Management
!!!info "CPU Frequency Scaling — Requires ACPI Fix" By default, the BC-250 does not expose CPU frequency scaling (no cpufreq interface). However, installing the bc250-acpi-fix SSDT-PST table enables standard Linux cpufreq with 8 P-states from 800 MHz to 3200 MHz. With the ACPI fix installed:
```bash
# Set CPU governor (schedutil recommended for balanced power/performance)
echo schedutil | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Available: conservative, ondemand, userspace, powersave, performance, schedutil
```
Without the ACPI fix, `cpupower frequency-set` will not work.
Best Case Scenario:
User report: 55W idle on Debian with governor, undervolting, and proper kernel configuration.
GPU Sleep States (Experimental)
Current Limitation: GPU sleep states are governed by SMU (System Management Unit) firmware, which is locked in current BIOS versions.
Potential Future Improvement:
- Linux amdgpu driver supports SMU sleep messages for BIOS 3.00+
- Requires reverse-engineering or BIOS update
- Could potentially reduce idle below 50W
Community members actively investigating this area.
Power Measurement and Monitoring
Software Monitoring
1. Built-in Sensors
View all power and voltage sensors:
sensors
Example output:
amdgpu-pci-0100
Adapter: PCI adapter
vddgfx: 906.00 mV # GPU voltage
vddnb: 824.00 mV # Northbridge voltage
edge: +63.0°C # GPU temperature
PPT: 55.12 W # Package Power Tracking (GPU power)
nct6686-isa-0a20
Adapter: ISA adapter
VIN0: 832.00 mV
VIN1: 1.02 V
VIN2: 976.00 mV
VIN6: 1.39 V
VIN7: 928.00 mV
VIN16: 896.00 mV
2. Watch Real-Time Power
watch -n 1 'sensors | grep -A 4 amdgpu'
3. GPU Frequency and Voltage Monitoring
Check current GPU state:
cat /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
4. GUI Tools
CoolerControl (Desktop):
# Bazzite/Fedora
ujust install-coolercontrol
# After reboot
coolercontrol
Mangohud (In-Game Overlay):
# Install
flatpak install flathub org.freedesktop.Platform.VulkanLayer.MangoHud
# Enable in Steam
Launch Options: mangohud %command%
Hardware Monitoring
Kill-A-Watt or Smart Plug:
Best method for total system power measurement:
- Sonoff S31 with Tasmota: Smart plug with power metering
- Kill-A-Watt P3: Standard power meter
- TP-Link Kasa Smart Plug: App-based monitoring
Measures actual wall power including PSU inefficiency.
Example Measurements:
- Idle: 85W (governor active)
- Gaming: 150-200W
- Cyberpunk RT: 235W peak
- Furmark: 250-320W (stress test)
Governor Voltage/Frequency Curves
Understanding Voltage Curves
The relationship between frequency and voltage is NOT linear:
Low frequencies (350-1000 MHz): Voltage can stay at 700 mV
Mid frequencies (1000-1500 MHz): Voltage needs to increase slightly
High frequencies (1500-2000 MHz): Voltage scales more steeply
Max frequencies (2000-2300 MHz): Voltage requirements vary by silicon
Example Safe Curves
Conservative (Maximum Stability):
# Cyan Skillfish Governor TT
min_frequency = 1000
max_frequency = 2000
min_voltage = 700
max_voltage = 1000
Optimized (Good Balance):
# Cyan Skillfish Governor
[[safe-points]]
frequency = 350
voltage = 700
[[safe-points]]
frequency = 1000
voltage = 700
[[safe-points]]
frequency = 1500
voltage = 850
[[safe-points]]
frequency = 2000
voltage = 950
Performance (Higher Power):
[[safe-points]]
frequency = 350
voltage = 700
[[safe-points]]
frequency = 1500
voltage = 900
[[safe-points]]
frequency = 2000
voltage = 1000
[[safe-points]]
frequency = 2230
voltage = 1035
Governor Behavior Comparison
Oberon Governor (legacy):
- Binary mode: Switches between min and max frequency
- Set point: 20-40% GPU load (with hysteresis)
- Response time: 100 ms to burst to max
- CPU usage: 0.4% idle, 0.4% under load
- Simple, stable, proven
Cyan Skillfish Governor TT (recommended):
- Continuous adjustment between multiple frequency steps
- Set point: 70-95% GPU load (configurable)
- Response time: 20-24 ms to burst to max
- CPU usage: 0.9% idle, 1.3% under load
- Granular control, more responsive, thermal throttling aware
Which to Choose:
- Cyan Skillfish TT: Recommended default — better power efficiency, smoother performance, thermal throttling support
- Cyan Skillfish SMU: No kernel patches needed — bypasses kernel frequency/voltage limits via SMU firmware
- Oberon: Legacy option — lower CPU overhead, simpler config
Power-Related Stability Issues
Common Problems and Solutions
1. Random Shutdowns Under Load
Symptoms:
- System cuts power during gaming
- Crashes during benchmarks
- No error messages, just power loss
Causes:
- Insufficient PSU capacity
- PSU overcurrent protection (OCP) triggered
- Voltage too low for frequency
Solutions:
# Option 1: Reduce max frequency
# Edit /etc/cyan-skillfish-governor-tt/config.toml
max_frequency = 1800 # Reduced from 2000
# Option 2: Increase voltage
max_voltage = 1025 # Increased from 1000
# Option 3: Upgrade PSU to 300W+ on 12V rail
2. Fan Speed Fluctuations
Symptoms:
- Fans slow down during heavy load
- Fan speed changes unpredictably
Causes:
- PSU unable to maintain stable 12V under load
- Voltage droop on 12V rail
Solutions:
- Verify PSU 12V rail capacity (should be 20A+)
- Upgrade to higher wattage PSU
- Check 8-pin connector seating
- Reduce power consumption via undervolting
3. System Instability (Crashes/Artifacts)
Symptoms:
- Random crashes during gaming
- Screen artifacts, glitches
- Black screen flashes
Causes:
- Voltage too low for set frequency
- Unstable undervolt
Solutions:
# Increase voltage in 25 mV steps
# Edit /etc/oberon-config.yaml
- voltage:
- max: 1025 # Increase until stable
4. High Idle Power (>100W)
Symptoms:
- Board draws excessive power at desktop
- No governor active or not working
Causes:
- Governor not installed or not running
- GPU stuck at max frequency
Solutions:
# Check governor status
systemctl status cyan-skillfish-governor-tt
# If not running
sudo systemctl enable --now cyan-skillfish-governor-tt
# Verify GPU frequency scaling
cat /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_dpm_sclk
# Should show active lower states at idle
5. Performance Throttling at Temperature
Symptoms:
- Performance drops after extended gaming
- Framerate becomes unstable after 30+ minutes
Causes:
- Thermal throttling (>85°C)
- Governor reducing frequency due to temperature
Solutions:
- Improve cooling (see cooling guide)
- Reduce max frequency slightly
- Increase fan speed (BIOS or software)
- Apply better thermal paste
Temporary workaround (not recommended long-term):
# Force governor to maintain frequency even when hot
# Edit /etc/cyan-skillfish-governor-tt/config.toml to set min = max
# min_frequency = 2000
# max_frequency = 2000
Advanced Power Tuning
TDP Modification (Experimental)
Warning: Not officially supported. May void warranty or damage hardware.
Theoretical Options:
- SMU firmware modification (requires reverse-engineering)
- BIOS-level TDP limits (locked in current BIOS)
- Software power capping via kernel modules
Current Status: Community investigating, no reliable method yet.
Memory Power Management
GDDR6 Memory Characteristics:
- Memory draws significant power (~35W+ at idle)
- No dynamic memory clocking in current drivers
- PS5 uses dynamic memory clocking (not available on BC-250)
Potential Future Improvements:
- Driver-level memory clock scaling
- BIOS update to enable dynamic VRAM clocking
- Could save 10-20W at idle if implemented
Power Management Best Practices
Recommended Configuration
For Gaming (Balance Performance/Power):
# /etc/cyan-skillfish-governor-tt/config.toml
min_frequency = 1000
max_frequency = 2000
min_voltage = 700
max_voltage = 950
Expected results:
- Idle: 70-85W
- Gaming: 150-180W
- Temperatures: 65-75°C
For Power Efficiency (Low Consumption):
# /etc/cyan-skillfish-governor-tt/config.toml
[[safe-points]]
frequency = 350
voltage = 700
[[safe-points]]
frequency = 1000
voltage = 700
[[safe-points]]
frequency = 1500
voltage = 850
[[safe-points]]
frequency = 1800
voltage = 950
[load_target]
min = 75
max = 90
Expected results:
- Idle: 55-65W
- Gaming: 140-170W
- Temperatures: 60-70°C
For Performance (Maximum FPS):
opps:
- frequency:
- min: 2000
- max: 2230
- voltage:
- min: 1000
- max: 1050
Expected results:
- Idle: 85-95W (GPU idles higher)
- Gaming: 200-235W
- Temperatures: 75-85°C
Monitoring Checklist
After any power configuration change, verify:
- Idle power draw (should be <85W with governor)
- Voltage scaling (check with
sensors) - Temperature under load (should be <85°C)
- System stability (30+ minute gaming test)
- No PSU issues (fan speed stable, no shutdowns)
Safety Guidelines
DO:
- Start with conservative voltages
- Test stability thoroughly after changes
- Monitor temperatures during stress tests
- Keep max voltage under 1100 mV
- Use quality PSU with sufficient capacity
DON'T:
- Set voltage above 1100 mV long-term
- Run stress tests for hours at max power
- Use inadequate cooling with high power configs
- Ignore throttling or instability
- Mix high voltage with high temperature (>85°C)
Troubleshooting Tools
Power Issue Diagnostics
Check Governor Status:
systemctl status cyan-skillfish-governor-tt
# or if using legacy governor:
# systemctl status oberon-governor
Check Current Power State:
# GPU voltage and frequency
cat /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_od_clk_voltage
# Current GPU power
sensors | grep PPT
# GPU frequency states
cat /sys/devices/pci0000:00/0000:00:08.1/0000:01:00.0/pp_dpm_sclk
Monitor Real-Time:
# Power and temperature
watch -n 1 'sensors | grep -A 5 amdgpu'
# System power (if using smart plug)
# Check plug's web interface or app
Stress Test:
# Lightweight GPU load
vkmark
# Heavy stress test (monitor temperatures!)
glmark2
# Check power during test
sensors | grep PPT
Common Issues Quick Reference
| Issue | Likely Cause | Fix |
|---|---|---|
| >100W idle | No governor | Install and enable governor |
| Random shutdowns | Insufficient PSU | Upgrade PSU or reduce voltage |
| High temps + high power | Undervolt needed | Reduce max voltage by 50 mV |
| Fan speed drops | PSU voltage droop | Upgrade PSU capacity |
| Unstable after undervolt | Voltage too low | Increase voltage by 25 mV |
| Governor not working | Service not running | systemctl enable --now cyan-skillfish-governor-tt |
Additional Resources
Governor Projects:
- Cyan Skillfish Governor TT/SMU (recommended)
- Oberon Governor (legacy)
Power Monitoring:
Community Resources:
- Discord Server: BC-250 Community
- GitHub Documentation: BC-250 Docs
Last Updated: 2026-03-18 Contributors: Community testing and reporting