Daemon and tools to control your ASUS ROG laptop. Supersedes rog-core.

Overview

asusctl for ASUS ROG

- Asus Linux Website

asusd is a utility for Linux to control many aspects of various ASUS laptops but can also be used with non-asus laptops with reduced features.

Goals

  1. To provide an interface for rootless control of some system functions most users wish to control such as fan speeds, keyboard LEDs, graphics modes.
  2. Enable third-party apps to use the above with dbus methods
  3. To make the above as easy as possible for new users
  4. Respect the users resources: be small, light, and fast

Point 3 means that the list of supported distros is very narrow - fedora is explicitly supported, while Ubuntu and openSUSE are level-2 support. All other distros are not supported (while asusd might still run fine on them). For best support use fedora 32+ Workstation.

Point 4? asusd currently uses a tiny fraction of cpu time, and less than 1Mb of ram, the way a system-level daemon should.

NOTICE:

Various patches are required for keyboard support. See this post for details on status and which kernels will have which patches.

Discord

Discord server link

SUPPORTED LAPTOPS

Most ASUS gaming laptops that have a USB keyboard. If lsusb shows something similar to this:

Bus 001 Device 002: ID 0b05:1866 ASUSTek Computer, Inc. N-KEY Device

then it may work without tweaks. Technically all other functions except the LED and AniMe parts should work regardless of your latop make. Eventually this project will probably suffer another rename once it becomes generic enough to do so.

Implemented

  • System daemon
  • User notifications daemon
  • Setting/modifying built-in LED modes
  • Per-key LED setting
  • Fancy LED modes (See examples) (currently being reworked)
  • Saving settings for reload
  • Logging - required for journalctl
  • AniMatrix display on G14 models that include it (currently being reworked)
  • Set battery charge limit (with kernel supporting this)
  • Fan curve control on G14 + G15 thanks to @Yarn1
  • Graphics mode switching between iGPU, dGPU, on-demand, and vfio (for VM pass-through)
    • Requires only a logout/login
  • Toggle bios setting for boot/POST sound
  • Toggle bios setting for "dedicated gfx" mode on supported laptops (g-sync)

BUILDING

Requirements are rust >= 1.47 installed from rustup.io if the distro provided version is too old, and make.

Ubuntu:* apt install libclang-dev libudev-dev

fedora: dnf install clang-devel systemd-devel

Installing

Download repositories are available here for the latest versions of Fedora, Ubuntu, and openSUSE.


Run make then sudo make install then reboot.

The default init method is to use the udev rule, this ensures that the service is started when the device is initialised and ready.

If you are upgrading from a previous installed version, you will need to restart the service or reboot.

$ systemctl daemon-reload && systemctl restart asusd

You may also need to activate the service for debian install. If running Pop!_OS, I suggest disabling system76-power gnome-shell extension and systemd service.

If you would like to run this daemon on another non-ASUS laptop you can. You'll have all features available except the LED and AniMe control (further controllers can be added on request). You will need to install the alternative service from data/asusd-alt.service.

Uninstalling

Run sudo make uninstall in the source repo, and remove /etc/asusd/.

OTHER

Supporting more laptops

Please file a support request.

License & Trademarks

Mozilla Public License 2 (MPL-2.0)


ASUS and ROG Trademark is either a US registered trademark or trademark of ASUSTeK Computer Inc. in the United States and/or other countries.

Reference to any ASUS products, services, processes, or other information and/or use of ASUS Trademarks does not constitute or imply endorsement, sponsorship, or recommendation thereof by ASUS.

The use of ROG and ASUS trademarks within this website and associated tools and libraries is only to provide a recognisable identifier to users to enable them to associate that these tools will work with ASUS ROG laptops.


Comments
  • dGPU always active even in integrated mode

    dGPU always active even in integrated mode

    Hello, on M16 2022 machine (12700H, 3060) dGPU always stays active in hybrid, and even integrated mode. To set everything up I followed F36 workstation guide. Machine is running old 302 BIOS.

    I attach asusd and superfxd logs, as suggested by krst: asusd_log.txt superfxd_log.txt

    opened by mantasjk 4
  • Xorg session running on nvidia gpu in hybrid mode but no other applications do

    Xorg session running on nvidia gpu in hybrid mode but no other applications do

    My laptop is a Zephyrus G15 Ryzen 9 5900HS RTX 3070

    Available graphics modes are Integrated and Hybrid

    In hybrid mode, I can't get games like Minecraft to run on the Nvidia GPU (Checked in game and using nvidia-smi)

    I've tried

    __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia ftb-app
    

    and adding an nvidia-settings profile and rule, neither of which seem to work :(

    Guidance appreciated

    opened by thechubbypanda 1
  • profile-get  and profile-set not working

    profile-get and profile-set not working

    On Fedora 35 and Asus ROG Zephyrus G15 GA503Q, I can't get profile-get and profile-set to work, each time it says "Missing arg or command"

    $ asusctl profile --profile-get
    Warning: Profiles now depend on power-profiles-daemon v0.9+
    Warning: Fan-curve support is coming in a 4.1.x release
    Missing arg or command
    
    Optional arguments:
      -h, --help         print help message
      -n, --next         toggle to next profile in list
      -l, --list         list available profiles
      -p, --profile-get  get profile
      -P, --profile-set PROFILE-SET
                         set the active profile
    
    opened by eclipseo 1
  • Changing Battery Limit Making Machine Unresponsive

    Changing Battery Limit Making Machine Unresponsive

    Changing the battery charge limit makes my system unable to recover after it's suspended. I can't even access a tty, I've got to shut it down via power button.

    opened by Waxxx333 0
  • rogflow x13 profiles problem

    rogflow x13 profiles problem

    Hello. On my asus rogflow x13 performance profiles are not correctly set. When i set silent profile on windows and with AC adapter unplugged, then switch to my archlinux system and turn to the normal setting, system is as slow as on silent profile. Is i tpossible that Windows presets in armoury crate have a priority with the performance settings than the asusd? What you need to get to solve the problem? I can send any additional information if i will know, what you need. And yep, i know that archlinux is not officially supported, but i've compiled asusd from here.

    opened by zywek123 0
Owner
Luke Jones
Software engineer
Luke Jones
NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network.

NymDrive NymDrive is a complete, end-to-end encrypted file syncing daemon that runs over the Nym network. Features Active file monitoring of changes i

Hans Bricks 16 Jul 12, 2022
EXPERIMENTAL: Bitcoin Core Prometheus exporter based on User-Space, Statically Defined Tracing and eBPF.

bitcoind-observer An experimental Prometheus metric exporter for Bitcoin Core based on Userspace, Statically Defined Tracing and eBPF. This demo is ba

0xB10C 24 Nov 8, 2022
Enigma Core library. The domain: Trusted and Untrusted App in Rust.

Enigma Core library Service Master Develop CI Badge Pure Rust Enclave && Untrusted in Rust. Core is part of the Enigma node software stack. The Core c

SCRT Labs 89 Sep 14, 2022
Aptos-core strives towards being the safest and most scalable layer one blockchain solution.

Aptos-core strives towards being the safest and most scalable layer one blockchain solution. Today, this powers the Aptos Devnet, tomorrow Mainnet in order to create universal and fair access to decentralized assets for billions of people.

Aptos Labs 4.7k Jan 6, 2023
Dexios-Core is a library used for managing cryptographic functions and headers that adhere to the Dexios format.

What is it? Dexios-Core is a library used for managing cryptographic functions and headers that adhere to the Dexios format. Security Dexios-Core uses

brxken 3 Jul 4, 2022
🧑‍✈ Version control and key management for Solana programs.

captain ??‍✈️ Version control and key management for Solana programs. Automatic versioning of program binaries based on Cargo Separation of deployer a

Saber 35 Mar 1, 2022
Core Rust-C FFI for Stackmate Wallet.

STACKMATE-CORE A Rust-C FFI library exposing composite functionality from rust-bitcoin & bdk; to create cross-platform descriptor wallets. Currently u

Vishal Menon 5 May 31, 2022
Opendp - The core library of differential privacy algorithms powering the OpenDP Project.

OpenDP The OpenDP Library is a modular collection of statistical algorithms that adhere to the definition of differential privacy. It can be used to b

OpenDP 176 Dec 27, 2022
A rust implementation of the ABCI protocol for tendermint core

?? DEPRECATED ?? This repo has been deprecated. Development work continues as the "abci" crate of informalsystems/tendermint-rs. Please reference that

Tendermint 117 Dec 12, 2022
Core contracts for Suberra Protocol.

Suberra Core Contracts Core contracts for Suberra. Contract Description product-factory Factory that handles the instantiation and creation of the pro

Suberra Protocol 4 Dec 12, 2022
Matt's ASCII Game Engine core crate

MAGE Engine Core crate A 100% safe Rust ASCII game engine for writing text-based tools or tile-based games similar to traditional Rogue-likes. This cr

null 29 May 25, 2023
Drop-in Access Control via NFT Ownership

niftygate - Signature-Based Authenticating Proxy What is it? niftygate is a proxy for HTTP services, that validates signatures, providing an AuthN lay

Chris Olstrom 70 Jan 3, 2023
Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transactions of your non-custodial wallets on a provider of your choice, all while respecting your privacy

Bitcoin Push Notification Service (BPNS) Description Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transacti

BPNS 1 May 2, 2022
⋰·⋰ Feeless is a Nano cryptocurrency node, wallet, tools, and Rust crate.

⋰·⋰ Feeless What is Feeless? Feeless is a Nano cryptocurrency node, wallet, tools, and Rust crate. This is not the official project for Nano, only an

null 127 Dec 5, 2022
Zei is a library that provide tools to create and verify public transaction with confidential data.

#Zei: Findora's Cryptographic Library Zei is a library that provide tools to create and verify public transaction with confidential data. Support: Bas

Findora Foundation 0 Oct 23, 2022
LibreAuth is a collection of tools for user authentication.

LibreAuth is a collection of tools for user authentication. Features Password / passphrase authentication no character-set limitation reason

Rodolphe Bréard 252 Dec 28, 2022
Left To My Own Devices - NT hash tools

ntcrack Left To My Own Devices - NT cracker A full writeup of how it works is available at the SensePost blog Invocation ./ntcrack <input hashlist> <w

SensePost 24 Nov 24, 2022
Tools to use Axon Server with rust, by leveraging Synapse.

Axon Rust This contains a Axon Synapse rust client, based on the open api generated code. For now, we didn't publish this crate, to forking this proje

AxonIQ 6 Oct 22, 2023
Employ your built-in wetware pattern recognition and signal processing facilities to understand your network traffic

Nethoscope Employ your built-in wetware pattern recognition and signal processing facilities to understand your network traffic. Check video on how it

Vesa Vilhonen 86 Dec 5, 2022