Skip to content

🌈 Complete RGB hardware control solution for Linux - Corsair Memory, AIGO Fans, Gigabyte motherboards

License

Notifications You must be signed in to change notification settings

philling-dev/rgb-linux-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌈 RGB Linux Controller

Complete RGB hardware control solution for Linux systems

License: MIT Platform Distro

🎯 One-click installation for complete RGB control on Linux systems. No more Windows dependency for RGB lighting!

✨ Features

  • πŸš€ Automatic installation with single script
  • 🧠 Corsair Memory RGB support (Vengeance Pro/RGB series)
  • πŸŒͺ️ AIGO Fan RGB control via motherboard
  • πŸ”§ Gigabyte motherboard RGB support
  • 🎨 Multiple effects: Static, Breathing, Rainbow Wave, Color Pulse
  • πŸ–₯️ GUI and CLI interfaces available
  • πŸ”„ Auto-detection of RGB hardware
  • πŸ’Ύ Profile saving and management

🎬 Quick Demo

# One-line installation
curl -fsSL https://raw.githubusercontent.com/philling-dev/rgb-linux-controller/main/install.sh | sudo bash

# Set all RGB to blue
sudo rgb-controller blue

# Breathing red effect
sudo rgb-controller red --mode Breathing

# Rainbow wave effect
sudo rgb-controller rainbow --mode "Rainbow Wave"

πŸ–₯️ Supported Hardware

βœ… Fully Tested

  • Memory: Corsair Vengeance RGB Pro DDR4/DDR5
  • Fans: AIGO RGB fans (via motherboard controller)
  • Motherboards: Gigabyte B550M AORUS ELITE, X570 AORUS series
  • Controllers: ITE IT5702 RGB controllers

πŸ§ͺ Community Tested

  • Most OpenRGB compatible devices
  • Corsair RGB keyboards/mice (via ckb-next)
  • Additional motherboard RGB zones

πŸš€ Installation

Quick Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/philling-dev/rgb-linux-controller/main/install.sh | sudo bash

Manual Install

git clone https://github.com/philling-dev/rgb-linux-controller.git
cd rgb-linux-controller
sudo chmod +x install_rgb_linux.sh
sudo ./install_rgb_linux.sh

System Requirements

  • Ubuntu 20.04+ / Linux Mint 20+ / Pop!_OS 20.04+
  • Root/sudo access
  • Internet connection for dependencies

πŸ“– Usage

Command Line Interface

# List detected RGB devices
sudo rgb-controller --list

# Basic color control
sudo rgb-controller red        # Set all devices to red
sudo rgb-controller blue       # Set all devices to blue
sudo rgb-controller "#FF6600"  # Custom hex color

# Advanced effects
sudo rgb-controller purple --mode Breathing
sudo rgb-controller cyan --mode "Rainbow Wave"
sudo rgb-controller white --mode "Color Pulse"

Available Colors

red, green, blue, white, purple, yellow, cyan, orange, pink, off

Or use hex codes: #FF0000, #00FF00, #0000FF

Available Modes

  • Static - Solid color
  • Breathing - Smooth fade in/out
  • Rainbow Wave - Moving rainbow effect
  • Color Pulse - Pulsing color effect
  • Color Shift - Gradual color transitions

GUI Interface

# Launch OpenRGB GUI (installed automatically)
openrgb

# Or use system menu: Applications β†’ System β†’ RGB Controller

πŸ› οΈ Technical Details

Detection Process

  1. ACPI Conflict Resolution: Automatically adds acpi_enforce_resources=lax to GRUB
  2. I2C Bus Scanning: Detects memory modules on I2C addresses
  3. HID Device Detection: Finds motherboard RGB controllers
  4. OpenRGB Integration: Unified device management

Solved Issues

  • βœ… ACPI SMBus conflicts preventing memory detection
  • βœ… Permission issues with I2C/HID devices
  • βœ… Corsair memory protocol implementation
  • βœ… AIGO fan controller communication via motherboard

πŸ”§ Troubleshooting

RGB devices not detected

# Check if reboot is needed (required after installation)
sudo reboot

# Verify ACPI parameter was added
grep "acpi_enforce_resources=lax" /proc/cmdline

# Manual device detection
sudo openrgb --list-devices

Memory RGB not working

# Check I2C devices
sudo i2cdetect -l
sudo i2cdetect -y -r 0

# Verify GRUB configuration
sudo grep "acpi_enforce_resources" /etc/default/grub

Permission denied errors

# Fix permissions
sudo udevadm control --reload-rules
sudo udevadm trigger

# Add user to i2c group
sudo usermod -a -G i2c $USER

Fans not responding

# Check motherboard detection
sudo openrgb --list-devices | grep -i motherboard

# Test direct fan control
sudo openrgb --device 2 --mode static --color FF0000

πŸ—οΈ Project Structure

rgb-linux-controller/
β”œβ”€β”€ install_rgb_linux.sh      # Main installer script
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ rgb-controller.py      # CLI controller
β”‚   β”œβ”€β”€ openrgb_full_control.py # Advanced controller
β”‚   └── detection/
β”‚       β”œβ”€β”€ detect_hardware.sh # Hardware detection
β”‚       └── test_protocols.py  # Protocol testing
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ INSTALLATION.md        # Detailed install guide
β”‚   β”œβ”€β”€ HARDWARE_GUIDE.md      # Hardware compatibility
β”‚   └── TROUBLESHOOTING.md     # Common issues
└── examples/
    β”œβ”€β”€ basic_usage.sh         # Basic examples
    └── advanced_effects.py    # Custom effects

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

git clone https://github.com/philling-dev/rgb-linux-controller.git
cd rgb-linux-controller
sudo apt install python3-dev i2c-tools
pip3 install -r requirements.txt

Adding New Hardware

  1. Add detection logic to src/detection/
  2. Implement protocol in src/protocols/
  3. Update documentation in docs/HARDWARE_GUIDE.md
  4. Test with src/detection/test_protocols.py

πŸ“Š Hardware Database

Help us expand hardware support! Submit your hardware info:

# Generate hardware report
sudo rgb-controller --generate-report

# Submit at: https://github.com/philling-dev/rgb-linux-controller/issues

πŸ“ Changelog

v1.0.0 (2025-01-XX)

  • πŸŽ‰ Initial release
  • βœ… Corsair Vengeance RGB Pro DDR4 support
  • βœ… AIGO RGB fan support via motherboard
  • βœ… Gigabyte B550M AORUS ELITE support
  • βœ… Automatic ACPI conflict resolution
  • βœ… One-click installer

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • OpenRGB Project - Foundation for RGB device control
  • liquidctl - RGB cooling control
  • Linux RGB community for hardware testing and feedback

πŸ’– Support the Project

If this project helped you achieve RGB control on Linux, consider supporting development:

β˜• Buy me a coffee

πŸͺ™ Bitcoin

To donate, copy the address below:

1Lyy8GJignLbTUoTkR1HKSe8VTkzAvBMLm

Made with ❀️ for the Linux RGB community

⭐ Star this repo if it helped you bring RGB to Linux!

Keywords: linux, rgb, controller, lighting, corsair, aigo, gigabyte, openrgb, hardware, customization, peripheral, fan, memory, motherboard

About

🌈 Complete RGB hardware control solution for Linux - Corsair Memory, AIGO Fans, Gigabyte motherboards

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published