An automated installation script for asusctl and supergfxctl on ASUS ROG/TUF laptops running Linux Mint.
- Automated installation of latest asusctl and supergfxctl for Linux Mint
- System firmware updates via fwupd for optimal hardware compatibility
- Kernel compatibility checking with automatic upgrade options
- NVIDIA driver preparation with nouveau blacklist configuration
- Comprehensive dependency management including linux-firmware
- Proper systemd service configuration
- Comprehensive error handling with colored output
- Linux Mint compatibility for version 22.3
- Safe uninstallation with complete cleanup
- ASUS ROG/TUF hardware support for all major laptop models
- Linux Mint 22.3 (Cinnamon, MATE, or Xfce edition)
- ASUS ROG/TUF laptop with compatible hardware
- Internet connection for downloading dependencies
- Sudo privileges for system modifications
- Default: Linux Mint 22.3 ships the HWE kernel 6.14, which is recommended and sufficient for ASUS laptops.
- Optional: If you need newer hardware fixes, you can install a newer mainline kernel and keep 6.14 as fallback.
If you need bleedingβedge support or want to test newer kernels, you can install a mainline kernel and retain the distro kernel as a backup:
π Click to expand mainline kernel installation methods
- Mainline kernels are experimental and unsigned
- Always keep a working kernel as backup
- You may need to reinstall NVIDIA drivers after kernel updates
- Test thoroughly before relying on mainline kernels
Option 1: Ubuntu Mainline Kernel Installer
# Install the mainline kernel tool
sudo apt install -y wget
wget -qO - https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh | sudo bash
# Install latest stable kernel
sudo ubuntu-mainline-kernel.sh -iOption 2: Manual Installation
- Visit Ubuntu Mainline Kernels
- Download the latest stable mainline kernel packages for your architecture
- Install using:
sudo dpkg -i *.deb
Option 3: GUI Tool (TuxInvader)
sudo add-apt-repository ppa:tuxinvader/mainline
sudo apt update && sudo apt install mainline
# Launch 'mainline' GUI and install latest kernelcurl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/install-asus-linux.sh | bash# Download the script
wget https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/install-asus-linux.sh
# Make it executable
chmod +x install-asus-linux.sh
# Run the installer
./install-asus-linux.sh# Use custom directory for build files
ASUS_BUILD_DIR="/opt/asus-build" ./install-asus-linux.shBy default, the installer includes rog-control-center (GUI).
# Skip the GUI (CLI + daemon only)
ASUS_INSTALL_ROG_GUI=0 ./install-asus-linux.sh- asusctl - Primary ASUS laptop control utility
- supergfxctl - GPU switching and power management
- Rust toolchain - Latest stable version via rustup
- Build dependencies - All required development packages
- linux-firmware - Essential hardware firmware blobs
- systemd services - asusd, supergfxd, and asusd-user
- udev rules - Hardware detection and device permissions
- DBus configuration - Inter-process communication setup
- Firmware updates - Latest BIOS, EC, and device firmware
- Kernel compatibility - Ensures minimum required kernel version
- NVIDIA preparation - Nouveau driver blacklist for proper GPU switching
- Fan curve control - Custom cooling profiles
- RGB lighting control - Keyboard and logo lighting
- Power profiles - Battery optimization modes
- GPU switching - Integrated/Hybrid/Discrete modes
- Keyboard shortcuts - Fn key combinations
- Thermal management - Advanced cooling control
# Check ASUS laptop status
asusctl -s
# Check GPU switching status
supergfxctl --status
# Switch to integrated graphics (power saving)
supergfxctl --mode Integrated
# Switch to hybrid graphics (balanced)
supergfxctl --mode Hybrid
# Set fan curve to performance mode
asusctl fan-curve -p performance
# Control RGB lighting
asusctl led-pow -s on
asusctl led-mode static# Check service status
sudo systemctl status asusd supergfxd
# Restart services if needed
sudo systemctl restart asusd supergfxd
# View service logs
sudo journalctl -u asusd.service -f
sudo journalctl -u supergfxd.service -fcurl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/uninstall-asus-linux.sh | bash# Download the uninstall script
wget https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/uninstall-asus-linux.sh
# Make it executable
chmod +x uninstall-asus-linux.sh
# Run the uninstaller
./uninstall-asus-linux.sh- All ASUS Linux tool binaries and libraries
- System services and configuration files
- Build directories and source code
- Desktop applications and icons
- Optional: nouveau blacklist configuration
- Optional: build directories
- System firmware updates
- Kernel upgrades
- System packages (linux-firmware, build tools)
- Rust toolchain
- User data and personal settings
Services not starting:
# Check service logs
sudo journalctl -u asusd.service -n 50
sudo journalctl -u supergfxd.service -n 50
# Reload and restart
sudo systemctl daemon-reload
sudo systemctl restart asusd supergfxdGPU switching not working:
# Ensure nouveau is blacklisted
cat /etc/modprobe.d/blacklist-nouveau.conf
# Check GPU status
supergfxctl --status
lspci | grep -i vga
# Reboot after GPU mode changes
sudo rebootPermission issues:
# Check user groups
groups $USER
# Add user to appropriate groups
sudo usermod -a -G users $USERBuild failures:
# Clean and rebuild
rm -rf ~/.local/src/asus-linux
./install-asus-linux.sh
# Check dependencies
sudo apt update && sudo apt upgradeWhen reporting issues, please include:
- Linux Mint version and edition
- ASUS laptop model
- Kernel version (
uname -r) - Graphics hardware (
lspci | grep -i vga) - Service status (
sudo systemctl status asusd supergfxd) - Installation logs and error messages
For more help, visit:
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
This script modifies system configurations and installs software that may affect your system's stability. Use at your own risk. Always ensure you have backups before making system changes.