Applied comprehensive corrections from Discord community (DeathStalker, Astrocast, and others) to fix inaccuracies, remove outdated procedures, and improve readability. CRITICAL SAFETY FIXES: - IOMMU: Changed from "optional" to "MUST disable" across all docs - Removed dangerous `amd_iommu=on` kernel parameter (causes crashes) - Added danger warnings that IOMMU is broken on BC-250 BIOS & VRAM FIXES: - Fixed BIOS flashing guide: removed fake "ZIP file" references - Added link to actual flasher utility (separate from ROM download) - Removed made-up Windows utility steps, added real ASRock method - Removed AMIBCP/Smokeless section (not used, P5.00_clv has all unlocked) - VRAM docs: reduced verbosity by 40%, emphasized 512MB is DYNAMIC - Added ZRAM conflict warning (crashes in RDR2 with dynamic VRAM) COOLING & HARDWARE: - Removed impractical fin cutting/screwing instructions - Removed J4003 header references (not for normal users) - Added tower cooler downside (must cool VRAMs separately) - Static pressure already correct at 6.9 mm H2O LINUX DISTRIBUTION UPDATES: - Fedora: Removed outdated setup script, Mesa 25.1 now in repos - Fedora: nomodeset no longer needed on 42/43 with working kernels - Bazzite: Removed "on steroids" section (patch included by default) - CachyOS: Simplified from custom ISO to standard installation - Updated KDE vs GNOME: GNOME recommended for stability (6 changes) - SteamOS/Ubuntu: Already added in previous commit (verified) GOVERNOR & DRIVERS: - Prioritized COPR installation over building from source - Added @exotic-soc/oberon-governor and filippor/bazzite repos - Display adapters: Now recommend PASSIVE (audio works) over active IMPOSSIBLE FEATURES REMOVED: - Fortnite: Clarified it cannot run (Easy Anti-Cheat) - ROCm training: Corrected to "experimental/limited" (doesn't work) Desktop Environment: GNOME now recommended over KDE for stability (KDE had Qt RDSEED bug, now fixed but GNOME more tested) Files modified: 14 Community credits: DeathStalker, Astrocast, legodude
9.0 KiB
Kernel Requirements and Configuration
The Linux kernel version and configuration is critical for BC-250 stability and performance.
Kernel Version Compatibility
Recommended Kernels
Best Compatibility:
- 6.15.7 - 6.17.7 - Full BC-250 support, best performance
- 6.16.x - All versions work well
Stable Fallback:
- 6.12.x LTS - Older but reliable
- 6.13.x - Stable
- 6.14.x LTS - Well-tested
Confirmed Working Versions:
- 6.16.5 (Fedora 42/43)
- 6.15.11-1-lts (Arch Linux)
- 6.17.4 (CachyOS)
!!!success "Current Recommendation" Use kernels 6.15.7 through 6.17.7 for the best BC-250 experience. Kernel support was significantly improved starting with 6.15.7.
Broken Kernels
!!!danger "Avoid These Kernel Versions" - 6.15.0 - 6.15.6: GPU initialization fails - 6.17.8 and newer: GPU driver broken again
These versions cause:
- Kernel panics on boot
- GPU fails to initialize
- `amdgpu: Failed to get gpu_info firmware` error
- Black screen after boot
Known Error Messages:
[drm:amdgpu_discovery_init [amdgpu]] *ERROR* amdgpu_discovery_init failed
amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
Required Kernel Parameters
Basic Parameters (All Installations)
Add these to GRUB configuration:
# Edit GRUB
sudo nano /etc/default/grub
# Add to GRUB_CMDLINE_LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.sg_display=0"
Parameter Explanations:
quiet- Reduces boot messages (optional)amdgpu.sg_display=0- Required for kernels < 6.10 - disables scatter-gather display
!!!info "amdgpu.sg_display" This parameter is only needed for kernels older than 6.10. If using 6.11+, it doesn't hurt to leave it, but it's not strictly necessary.
Performance Parameters (Optional)
# For maximum gaming performance
GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.sg_display=0 mitigations=off"
Performance Impact of mitigations=off:
- +18 FPS in Cyberpunk 2077 (60 → 78 FPS at 1080p high settings)
- Reduces CPU overhead from Spectre/Meltdown mitigations
- Security trade-off: Disables CPU vulnerability mitigations
!!!warning "Security vs Performance"
mitigations=off improves performance but reduces security. Only use on gaming-only systems, not for systems handling sensitive data.
Memory Allocation Parameters (Advanced)
For maximum GPU memory access (14.5-14.75GB):
# Add to kernel parameters
amdgpu.gttsize=14750 ttm.pages_limit=3776000 ttm.page_pool_size=3776000
!!! danger "Do NOT Enable IOMMU"
NEVER use amd_iommu=on - IOMMU is broken on BC-250 and causes crashes and display failures. The memory parameters above work WITHOUT enabling IOMMU.
Purpose:
- Allows GPU to access more system RAM
- Useful for VRAM-heavy workloads
- Alternative to increasing BIOS VRAM allocation
Via modprobe (alternative method):
# Create /etc/modprobe.d/increase_amd_memory.conf
sudo nano /etc/modprobe.d/increase_amd_memory.conf
# Add:
options ttm pages_limit=3776000 page_pool_size=3776000
options amdgpu gttsize=14750
# Rebuild initramfs
sudo dracut --regenerate-all --force # Fedora
sudo mkinitcpio -P # Arch
Installation Parameter (Temporary)
nomodeset - Use during installation only:
# Add temporarily at GRUB menu (press 'e' to edit)
nomodeset
Purpose: Disables GPU driver, allows booting with basic graphics
!!!danger "Remove After Installation" After installing Mesa drivers, remove nomodeset from GRUB. Leaving it prevents GPU acceleration.
Applying Kernel Parameters
Fedora/RHEL
# Edit GRUB config
sudo nano /etc/default/grub
# Update GRUB
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# Reboot
sudo reboot
Debian/Ubuntu
# Edit GRUB config
sudo nano /etc/default/grub
# Update GRUB
sudo update-grub
# Reboot
sudo reboot
Arch Linux
# Edit GRUB config
sudo nano /etc/default/grub
# Update GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg
# Reboot
sudo reboot
Temporary Boot Parameters
To test parameters without permanently changing configuration:
- Reboot system
- At GRUB menu, press e to edit boot entry
- Find line starting with
linuxorlinuxefi - Add parameters to end of line
- Press Ctrl+X to boot with modified parameters
Kernel Management
Checking Current Kernel
# Display kernel version
uname -r
# Example output: 6.14.4-104.fc42.x86_64
Installing Specific Kernel Version
Fedora:
# List available kernels
dnf list kernel --showduplicates
# Install specific version
sudo dnf install kernel-6.14.4-104
# Set as default in GRUB if needed
sudo grub2-set-default "Fedora Linux (6.14.4-104)"
Arch Linux:
# Install LTS kernel
sudo pacman -S linux-lts linux-lts-headers
# Set as default in bootloader
Holding Kernel Version
To prevent automatic updates to problematic kernel versions:
Fedora:
# Install versionlock plugin
sudo dnf install python3-dnf-plugin-versionlock
# Lock kernel at current version
sudo dnf versionlock add kernel
# List locked packages
sudo dnf versionlock list
# Remove lock
sudo dnf versionlock delete kernel
Arch Linux:
# Edit pacman.conf
sudo nano /etc/pacman.conf
# Add under [options]:
IgnorePkg = linux
# Save and exit
Debian:
# Hold kernel package
sudo apt-mark hold linux-image-6.14.11-amd64
# Unhold
sudo apt-mark unhold linux-image-6.14.11-amd64
Removing Broken Kernel
If kernel 6.15.0-6.15.6 or 6.17.8+ was installed and causes issues:
Fedora:
# Boot into working kernel from GRUB menu
# Remove broken kernel (example: 6.17.8)
sudo dnf remove kernel-6.17.8\*
# Or remove all 6.17.8+ kernels
sudo dnf remove 'kernel-6.17.[8-9]*' 'kernel-6.17.1[0-9]*'
# Verify removal
dnf list installed kernel
Arch Linux:
# Boot into working kernel
# Remove problematic kernel
sudo pacman -R linux # if on broken version
# Install known-good kernel
sudo pacman -S linux-lts # 6.12 or 6.14 LTS
# or
sudo pacman -S linux # check version is 6.15.7-6.17.7
Kernel Patches for BC-250
GPU Frequency Range Patch
Purpose: Enables extended frequency range (350 MHz - 2230 MHz) instead of default (1000-2000 MHz)
Distributions with Patch Included:
- Bazzite (pre-applied)
- PikaOS (pre-applied)
Manual Patching:
Required for:
- Fedora
- Arch Linux
- Debian
- Other distributions
Patch Application (Advanced):
- Download BC-250 frequency patch
- Apply to kernel source
- Compile custom kernel
- Install and boot
[Detailed patching guide available in community resources]
Alternative: Use distributions with patch pre-applied (Bazzite, PikaOS)
TKG Kernel (Arch-based)
For Arch users, linux-tkg provides easy custom kernel building:
git clone https://github.com/Frogging-Family/linux-tkg
cd linux-tkg
# Create patch directory
mkdir linux612-tkg-userpatches
# Place BC-250 patch in directory
# Run installer
./install.sh install
# Select Linux 6.12 LTS during setup
Benefits:
- Easy kernel customization
- Includes performance optimizations
- BC-250 patch integration
Compilation Time:
- Full compile: ~45 minutes
- With modprobed-db: ~8 minutes
Kernel Troubleshooting
GPU Not Detected After Kernel Update
Symptoms:
- Black screen after boot
lspci | grep VGAshows device but driver not loadingdmesg | grep amdgpushows errors
Solution:
- Boot into older kernel from GRUB (hold Shift at boot)
- Remove newer kernel
- Hold kernel version
- Report issue to distribution
System Boots But No GPU Acceleration
Check:
# Is amdgpu module loaded?
lsmod | grep amdgpu
# Check for errors
dmesg | grep -i amdgpu
# Verify rendering
glxinfo | grep "OpenGL renderer"
# Should NOT show "llvmpipe"
Possible Causes:
nomodesetstill in GRUB config- Missing kernel parameters
- Mesa not installed
Kernel Panic on Boot
Symptoms:
- System crashes during boot
- Kernel panic message
Most Common Cause: Kernel 6.15.0-6.15.6 or 6.17.8+
Solution:
- Boot into working kernel (hold Shift, select previous kernel)
- Remove problematic kernel version
- Lock kernel version to prevent auto-update
Kernel Version Matrix
| Kernel Version | Status | Notes |
|---|---|---|
| 6.10.x | ⚠️ Works | amdgpu.sg_display=0 required |
| 6.11.x | ✅ Good | Mesa 25.1+ required |
| 6.12.x LTS | ✅ Good | Stable fallback |
| 6.13.x | ✅ Good | Stable |
| 6.14.x LTS | ✅ Good | Well-tested |
| 6.15.0-6.15.6 | ❌ Broken | GPU init fails |
| 6.15.7-6.15.x | ✅ Recommended | Kernel support fixed |
| 6.16.x | ✅ Recommended | Full compatibility |
| 6.17.0-6.17.7 | ✅ Recommended | Best support |
| 6.17.8+ | ❌ Broken | GPU driver broken again |