Skip to content

Arch Linux and Manjaro Setup Guide

Arch Linux

Both Arch Linux and Manjaro work excellently on the BC-250. Arch provides maximum control and latest packages, while Manjaro offers easier installation with good hardware detection.

Status: Both fully working Difficulty: Arch (Advanced), Manjaro (Intermediate) Mesa: 25.1+ in official repos with upstream BC-250 support. Mesa 26 (development/git) available and confirmed working on Debian sid and Ubuntu 26.04 daily as of Jan 2026. Kernel: Kernel 6.18.18 LTS (current LTS, recommended) and 6.19.x stable both work well. 6.17.11+ also confirmed stable. Avoid 6.17.8–6.17.10 and 6.15.0–6.15.6 (known broken).


Why Choose Arch/Manjaro?

Advantages

  • Rolling release - Latest Mesa and kernel versions
  • Native BC-250 support - Mesa 25.1+ in official repos (no COPR/PPAs)
  • Low RAM usage - 1.3GB typical for Arch
  • Full control - Configure everything
  • Community scripts - Automated setup available

Arch vs Manjaro

Arch Linux: - Manual installation following the Arch Wiki - Latest packages immediately - Maximum control, minimal bloat - Requires advanced Linux knowledge

Manjaro: - GUI installer (Calamares) - Boots out-of-box on BC-250 (no nomodeset) - Delayed package updates (tested before release) - Easier for beginners

Performance: Nearly identical. Both use ~1.3-1.5GB RAM.


BIOS Requirements

REQUIRED before installing: 1. Flash modified BIOS (P3.00 recommended) 2. Set VRAM allocation (512MB dynamic recommended) 3. Configure fan speeds 4. Disable IOMMU (IOMMU is broken - MUST disable)

See BIOS Flashing Guide.


Arch Linux Installation

Prerequisites

  • USB drive (4GB+)
  • Ethernet connection (for initial setup)
  • Passive DP-to-HDMI adapter (recommended)
  • Arch Linux ISO from archlinux.org
  • Familiarity with Linux command line

Installation Steps

Follow the Arch Wiki

Arch Linux installation should be done following the official Arch Installation Guide. This ensures you understand the system you're building and can troubleshoot issues.

Key BC-250 Specific Requirements:

  1. Kernel Selection
  2. Recommended: Kernel 6.18.18 LTS (current LTS) or linux-lts package
  3. Also works: 6.17.11+ confirmed stable
  4. AVOID: Kernel 6.15.0-6.15.6, 6.17.8–6.17.10 (GPU initialization failures)
  5. LTS kernels (6.12-6.14) remain supported for stability

  6. Boot Parameters

  7. If black screen during installation, add nomodeset to kernel parameters
  8. IMPORTANT: Remove nomodeset after drivers are installed

  9. Required Packages During Installation

    # Base system
    pacstrap -K /mnt base linux-lts linux-firmware
    
    # Desktop environment (example with KDE)
    pacstrap -K /mnt plasma-meta kde-applications-meta
    
    # Graphics drivers (DO NOT install during archinstall, install after reboot)
    # mesa vulkan-radeon xf86-video-amdgpu
    
    # Network and basic utilities
    pacstrap -K /mnt networkmanager git base-devel
    

  10. Swap Configuration

  11. Traditional swap partition recommended
  12. Note: ZRAM compatibility depends on swap configuration; users running ZRAM successfully with proper swap settings (2026). Only relevant for 512MB dynamic VRAM users experiencing issues.

  13. Bootloader

  14. GRUB recommended for BC-250
  15. Configure with ability to edit boot parameters

  16. Enable Multilib (for 32-bit support and Steam)

  17. Edit /etc/pacman.conf before pacstrap
  18. Uncomment [multilib] section

After Installation - First Boot:

  1. If black screen, use nomodeset:
  2. At GRUB, press e
  3. Add nomodeset to kernel line
  4. Press Ctrl+X to boot

  5. Install Mesa and drivers (see Post-Installation section below)

  6. Backplate Cooling: Active cooling on backplate is strongly recommended. No VRAM temperature sensor exists — passive cooling alone insufficient for sustained loads. Multiple 2026 reports confirm thermal throttling without active cooling solution.


Manjaro Installation

Installation Steps

  1. Download Manjaro ISO
  2. Get KDE or GNOME edition from manjaro.org
  3. Flash to USB with balenaEtcher

  4. Boot and Install

  5. Boot from USB (should work without nomodeset)
  6. Run Calamares installer
  7. Follow on-screen instructions
  8. Complete installation and reboot

  9. First Boot

  10. Update system:
    sudo pacman -Syu
    

Community note: "Out of the box after the BIOS flash, Manjaro KDE just booted fine"


Post-Installation Optimization

After installation, run the automated setup script to configure BC-250 specifics.

For Arch:

git clone https://github.com/eabarriosTGC/BC250--ARCH.git
cd BC250--ARCH
sudo chmod +x ./Arch-setup.sh
sudo ./Arch-setup.sh

For Manjaro:

git clone https://github.com/eabarriosTGC/BC250--ARCH.git
cd BC250--ARCH
sudo chmod +x ./bc520-manjaro.sh
sudo ./bc520-manjaro.sh

What the Script Does

  1. Package Installation
  2. Installs base-devel, git, cmake, lm_sensors
  3. Installs build tools for GPU governor

  4. RADV Environment Configuration

  5. Creates /etc/environment.d/99-radv-bc250.conf:
    RADV_DEBUG=nohiz
    
  6. Fixes Z-buffer glitches. Note: nocompute is no longer needed on Mesa 25.1+ (compute queue disabled automatically)

  7. AMD GPU Kernel Module

  8. May create /etc/modprobe.d/amdgpu-bc250.conf:
    options amdgpu sg_display=0
    
  9. Only required for kernels < 6.10, harmless to keep on modern kernels

  10. Temperature Sensors

  11. Loads nct6683 module
  12. Creates /etc/modules-load.d/nct6683-bc250.conf
  13. Enables temperature monitoring

  14. GPU Governor

  15. Installs cyan-skillfish-governor-smu from AUR
  16. Enables dynamic frequency scaling (1000MHz-2300MHz+)
  17. Without this, GPU is locked at 1500MHz

  18. Initramfs Regeneration

  19. Rebuilds initial RAM filesystem with new modules

Kernel Parameters

After running the script, update GRUB with additional parameters.

sudo nano /etc/default/grub

Find GRUB_CMDLINE_LINUX_DEFAULT and update:

Basic:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

With performance boost:

GRUB_CMDLINE_LINUX_DEFAULT="quiet mitigations=off"

Remove nomodeset (if added during install):

# WRONG:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"

# CORRECT:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

amdgpu.sg_display=0

This parameter is only needed for kernels older than 6.10. On modern kernels (6.16+) it can be omitted.

Update GRUB:

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot


Verification

Check Mesa Version

glxinfo | grep "OpenGL version"
# Expected: Mesa 25.1.X+ (Mesa 26 also confirmed working)

Check Vulkan Driver

vulkaninfo | grep "driverName"
# Expected: driverName = radv

Check GPU

lspci | grep VGA
# Expected: AMD/ATI Device

vulkaninfo | grep deviceName
# Expected: AMD Radeon Graphics (RADV GFX1013)

Install Utilities

sudo pacman -S mesa-utils vulkan-tools fastfetch nvtop htop

# Test
fastfetch  # Shows system info with GPU
nvtop      # Real-time GPU monitoring

If you see llvmpipe: - Mesa drivers not working - Check Mesa version (must be 25.1+) - Check kernel parameters applied - Check dmesg: dmesg | grep amdgpu


GPU Governor

Verify Governor Running

# Use whichever governor you installed:
systemctl status cyan-skillfish-governor-smu  # SMU variant (recommended)
systemctl status cyan-skillfish-governor-tt   # TT variant (alternative)
systemctl status oberon-governor              # legacy (migrate to SMU)

Check Frequency Scaling

cat /sys/class/drm/card1/device/pp_dpm_sclk

# Example output:
# 0: 1000MHz
# 1: 1500MHz *
# 2: 2000MHz

The * moves between frequencies based on load.

Known Issue: Governor Not Working on Boot

Symptom: GPU stuck at 1500MHz until you run a game once

Affected: Arch, Manjaro, CachyOS (NOT Fedora/Bazzite)

Workaround: Launch any game/benchmark once after boot to activate

Manual start:

sudo systemctl restart cyan-skillfish-governor-smu  # or cyan-skillfish-governor-tt


Additional Configuration

Temperature Sensors

sensors

# Expected output:
# nct6686-isa-0a20
# With nct6687: CPU: +XX°C, System: +XX°C, Pump Fan: XXXX RPM
# With nct6683: VIN0-16, fan1-fan5, AMD TSI, Thermistors

If not showing:

lsmod | grep -E 'nct6683|nct6687'
# Load the appropriate module (see sensors guide for nct6687 PWM option)
dmesg | grep nct6683

Fan Control (Optional)

Load the nct6683 sensor module for temperature and fan monitoring:

echo 'nct6683' | sudo tee /etc/modules-load.d/nct6683.conf
echo 'options nct6683 force=true' | sudo tee /etc/modprobe.d/sensors.conf
sudo mkinitcpio -P
sudo reboot

# Install CoolerControl for GUI
yay -S coolercontrol

Gaming Tools

# Steam and Proton
sudo pacman -S steam

# Performance overlays and optimization
sudo pacman -S mangohud goverlay gamemode gamescope

# Proton GE manager
sudo pacman -S protonup-qt

Troubleshooting

Black Screen on Boot

Solution 1: Use nomodeset - At GRUB, press e - Add nomodeset to kernel line - Boot and reinstall Mesa - Remove nomodeset and add proper parameters

Solution 2: Check kernel

uname -r
# If 6.15.0-6.15.6 or 6.17.8–6.17.10, install working kernel (6.18.18 LTS or 6.17.11+)

GPU Not Detected / llvmpipe

# Check Mesa
pacman -Q mesa  # Should be 25.1.X+

# Update if needed
sudo pacman -Syu

# Check amdgpu module
lsmod | grep amdgpu

# Check for errors
dmesg | grep amdgpu

Audio Problems (Pitched Down / Slowed)

Symptom: Audio sounds like robot, video playback slowed

Cause: BC-250 DisplayPort audio implementation issue

Solution: Use passive DP-to-HDMI adapter

Alternative: USB audio adapter

Screen Freezing (Broken Kernel Versions)

Symptom: Random freezes, kernel panics on kernels 6.15.0-6.15.6 or 6.17.8–6.17.10

Solution:

# Option 1: Install confirmed stable kernel (6.18.18 LTS or 6.17.11+)
sudo pacman -S linux  # Check version is 6.17.11+ or 6.18.x
# Or
# Option 2: Install LTS for guaranteed stability
sudo pacman -S linux-lts linux-lts-headers
sudo pacman -R linux

# Update GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

# Hold kernel updates if needed
# Add to /etc/pacman.conf:
IgnorePkg = linux

KDE/SDDM Crashes with nomodeset

Symptom: KDE crashes when nomodeset is enabled

Solution: - Don't use nomodeset if Mesa 25.1+ is installed - If needed for install, remove before installing KDE


Community Scripts

Primary repository: - eabarriosTGC/BC250--ARCH - eabarriosTGC/Instalacion-de-Arch

Alternative script: - pnbarbeito/bc250-arch

Governor projects: - Cyan Skillfish Governor SMU (AUR, recommended) - Cyan Skillfish Governor TT (AUR, alternative)


Quick Reference

# System info
fastfetch

# GPU monitoring
nvtop

# Check GPU frequency
cat /sys/class/drm/card1/device/pp_dpm_sclk

# Check governor (use whichever you installed)
systemctl status cyan-skillfish-governor-smu

# Check temps
sensors

# Update system
sudo pacman -Syu

# Check Mesa
glxinfo | grep "OpenGL version"

# Check Vulkan
vulkaninfo | grep deviceName

Related Guides: - Fedora Setup - Bazzite Setup - CachyOS Setup - GPU Governor