Skip to content

dannybastos/bc-250-archlinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

bc-250-archlinux

Arch Linux setup script for the ASRock BC-250 mini PC to optimize it for gaming and desktop use.

Overview

This repository contains an automated setup script that configures Arch Linux for optimal performance on the ASRock BC-250, which features AMD Van Gogh APU hardware. The script handles GPU configuration, thermal monitoring, and CPU governor setup.

Requirements

  • Operating System: Arch Linux
  • Kernel Version: 6.x or higher
  • Mesa Version: 25.1.x or higher
  • Privileges: sudo access

Features

The setup script automatically:

  1. GPU Configuration: Disables compute shaders via RADV_DEBUG=nocompute to work around Van Gogh APU limitations
  2. AMDGPU Options: Configures sg_display=0 option for better display compatibility
  3. Thermal Monitoring: Enables the NCT6683 sensor module for hardware monitoring
  4. CPU Governor: Installs and enables cyan-skillfish-governor-sme for optimized CPU frequency scaling
  5. Memory Management: Removes zram and configures zswap with 8GB compressed memory limit using LZ4 compression
  6. Initramfs Update: Rebuilds initramfs to apply early-boot configurations

Installation

  1. Clone this repository:

    git clone https://github.com/dannybastos/bc-250-archlinux.git
    cd bc-250-archlinux
  2. Run the setup script:

    chmod +x bc-250-archlinux-setup.sh
    ./bc-250-archlinux-setup.sh
  3. Restart your system after the script completes:

    sudo reboot

What Gets Configured

Environment Variables

  • /etc/environment.d/99-radv-bc250.conf: Sets RADV_DEBUG=nocompute

Kernel Module Options

  • /etc/modprobe.d/amdgpu-bc250.conf: AMDGPU display configuration
  • /etc/modprobe.d/nct6683-bc250.conf: NCT6683 sensor force-load option
  • /etc/modules-load.d/nct6683-bc250.conf: Auto-load NCT6683 at boot

Kernel Parameters (Bootloader)

  • zswap configuration: Adds zswap.enabled=1 zswap.compressor=lz4 zswap.max_pool_percent=50 zswap.zpool=z3fold
  • Supports both GRUB (/etc/default/grub) and systemd-boot (/boot/loader/entries/*.conf)
  • Original configurations backed up automatically

Services

  • cyan-skillfish-governor-sme.service: CPU frequency governor service

Memory Management

  • zram: Removed if present (zram-generator uninstalled)
  • zswap: Configured with ~8GB compressed memory pool (50% of RAM with LZ4 compression)

Troubleshooting

If the script fails:

  • Ensure you're running Arch Linux with kernel 6.x+
  • Verify Mesa drivers are version 25.1.x or higher
  • Check that you have sudo privileges
  • Review error messages for specific component failures

Verifying zswap After Reboot

Check if zswap is active:

cat /sys/module/zswap/parameters/enabled
# Should output: Y

grep -r . /sys/module/zswap/parameters/
# Shows all zswap configuration

Check zswap statistics:

grep -r . /sys/kernel/debug/zswap/
# Shows pool size, compression ratio, etc.

License

MIT

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

About

Setup Asrock BC-250 to use as game/desktop pc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages