Skip to content

andreas-glaser/asus-linux-mint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ASUS Linux Tools Installer for Linux Mint

An automated installation script for asusctl and supergfxctl on ASUS ROG/TUF laptops running Linux Mint.

๐Ÿš€ Features

  • 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

๐Ÿ“‹ Requirements

  • 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

๐Ÿงฐ Kernel

  • 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.

๐Ÿ”ง Optional: Install a newer mainline kernel

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

โš ๏ธ Important Warnings:

  • 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 -i

Option 2: Manual Installation

  1. Visit Ubuntu Mainline Kernels
  2. Download the latest stable mainline kernel packages for your architecture
  3. 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 kernel

๐Ÿ› ๏ธ Installation

Quick Install (Recommended)

curl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/install-asus-linux.sh | bash

Manual Install

# 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

Custom Build Directory

# Use custom directory for build files
ASUS_BUILD_DIR="/opt/asus-build" ./install-asus-linux.sh

Optional: Install ROG Control Center (GUI)

By default, the installer includes rog-control-center (GUI).

# Skip the GUI (CLI + daemon only)
ASUS_INSTALL_ROG_GUI=0 ./install-asus-linux.sh

๐Ÿ“ฆ What Gets Installed

Core Components

  • 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

System Configuration

  • 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

Hardware Features Enabled

  • 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

๐Ÿ”ง Usage

Basic Commands

# 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

Service Management

# 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 -f

๐Ÿ—‘๏ธ Uninstallation

Quick Uninstall

curl -sSL https://raw.githubusercontent.com/andreas-glaser/asus-linux-mint/main/uninstall-asus-linux.sh | bash

Manual Uninstall

# 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

What Gets Removed

  • 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

What Gets Preserved

  • System firmware updates
  • Kernel upgrades
  • System packages (linux-firmware, build tools)
  • Rust toolchain
  • User data and personal settings

๐Ÿ” Troubleshooting

Common Issues

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 supergfxd

GPU 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 reboot

Permission issues:

# Check user groups
groups $USER

# Add user to appropriate groups
sudo usermod -a -G users $USER

Build failures:

# Clean and rebuild
rm -rf ~/.local/src/asus-linux
./install-asus-linux.sh

# Check dependencies
sudo apt update && sudo apt upgrade

Support Information

When 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:

๐Ÿ“„ License

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

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

โš ๏ธ Disclaimer

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.