- Ubuntu 20.04 LTS or newer
- Linux Mint 20 or newer
- Pop!_OS 20.04 or newer
- Other Ubuntu-based distributions (may work)
- Architecture: x86_64 (AMD64)
- Memory: 2GB RAM minimum
- Storage: 500MB free space
- Network: Internet connection for installation
- Memory: Corsair Vengeance RGB Pro DDR4
- Fans: AIGO RGB fans (120mm)
- Motherboard: Gigabyte B550M AORUS ELITE
- Controller: ITE IT5702 RGB controllers
sudo apt install -y \
i2c-tools \ # I2C bus scanning and communication
python3 \ # Python 3 runtime
python3-pip \ # Python package manager
python3-smbus \ # I2C/SMBus Python interface
liquidctl \ # RGB cooling control
wget \ # File downloading
curl \ # HTTP client
git # Version control# OpenRGB (latest stable)
wget https://openrgb.org/releases/release_0.9/openrgb_0.9_amd64_bookworm_b5f46e3.deb
sudo dpkg -i openrgb_0.9_amd64_bookworm_b5f46e3.deb
sudo apt-get install -f -yFor contributing to the project:
# Code formatting and linting
pip3 install black flake8
# Testing framework
pip3 install pytest
# Documentation generation
pip3 install mkdocs mkdocs-materialThese are loaded automatically by the installer:
# I2C communication
modprobe i2c-dev # I2C device interface
modprobe i2c-piix4 # AMD chipset I2C support
# HID device support
modprobe usbhid # USB HID devices
modprobe hidraw # Raw HID device access# Check loaded modules
lsmod | grep i2c
lsmod | grep hid
# List I2C interfaces
i2cdetect -l
# List HID devices
ls /dev/hidraw*The installer automatically adds this to GRUB:
# /etc/default/grub
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"This resolves SMBus conflicts that prevent RGB memory detection.
If needed manually:
# Edit GRUB configuration
sudo nano /etc/default/grub
# Add parameter to GRUB_CMDLINE_LINUX line
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"
# Update GRUB and reboot
sudo update-grub
sudo reboot# Add user to I2C group (if exists)
sudo usermod -a -G i2c $USER
# Add user to dialout group (for some devices)
sudo usermod -a -G dialout $USERCreated automatically by installer:
# /etc/udev/rules.d/99-rgb-permissions.rules
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666"
SUBSYSTEM=="i2c-dev", MODE="0666"If needed:
# Fix device permissions
sudo chmod 666 /dev/hidraw*
sudo chmod 666 /dev/i2c-*
# Reload udev rules
sudo udevadm control --reload-rules
sudo udevadm trigger# Check all dependencies
./test_installation.sh
# Manual verification
openrgb --version
liquidctl --version
i2cdetect -lOpenRGB 0.9
liquidctl 1.13.0
i2c-0 i2c AMDGPU SMU 0 I2C adapter
i2c-1 i2c AMDGPU SMU 1 I2C adapter
...
# Update package lists
sudo apt update
# Install missing packages
sudo apt install [package-name]
# Fix broken packages
sudo apt --fix-broken install# Reinstall Python SMBus
sudo apt remove python3-smbus
sudo apt install python3-smbus
# Test import
python3 -c "import smbus; print('SMBus OK')"# Check OpenRGB installation
which openrgb
openrgb --version
# Reinstall if needed
sudo dpkg -r openrgb
wget [openrgb-url]
sudo dpkg -i openrgb_*.deb
sudo apt-get install -f# Check I2C modules
lsmod | grep i2c
# Reload I2C modules
sudo rmmod i2c_piix4
sudo modprobe i2c_piix4
# Check I2C devices
sudo i2cdetect -l- Ubuntu 22.04 LTS + OpenRGB 0.9 + Corsair DDR4
- Linux Mint 21 + liquidctl 1.13 + AIGO fans
- Pop!_OS 22.04 + All components
- Ubuntu 18.04: OpenRGB package incompatibility
- Fedora/CentOS: Different package names (not supported)
- Arch Linux: Manual compilation may be needed
- WSL: Hardware access limitations
| Component | Minimum Version | Recommended | Tested |
|---|---|---|---|
| Ubuntu | 20.04 LTS | 22.04 LTS | 24.04 LTS |
| OpenRGB | 0.8 | 0.9 | 0.9 |
| liquidctl | 1.10 | 1.13 | 1.13.0-2 |
| Python | 3.8 | 3.10 | 3.12 |
| Kernel | 5.4 | 5.15 | 6.8.0 |
- Base installation: ~50MB
- With dependencies: ~200MB
- Complete with docs: ~250MB
- Initial download: ~100MB
- Updates: ~10-50MB
Dependencies are automatically managed by the installation script