Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9d4650b
docs: add the introduction and the general recommendations
luytan Aug 13, 2026
c79d084
docs: arch guide
luytan Aug 13, 2026
9eac1ca
docs: remove old g14 repo
luytan Aug 13, 2026
661eb3c
docs: use long format for sbctl, it's microsoft keys
luytan Aug 13, 2026
d40983b
docs: clarify amd panel power saving
luytan Aug 14, 2026
dbd5e0a
docs: use wildcard for drm path
luytan Aug 14, 2026
4e3bef1
docs: improve audio saving
luytan Aug 14, 2026
14fc700
docs: fix typo in proprietary
luytan Aug 14, 2026
d234a28
docs: rename fast boot to Secure boot
luytan Aug 14, 2026
03ab9cb
docs: remove eSupport anchor
luytan Aug 14, 2026
3756455
docs: add a trailing newline
luytan Aug 14, 2026
26c721f
docs: fix hyphenation
luytan Aug 14, 2026
6e4d897
docs: divide amd and intel
luytan Aug 14, 2026
690d6fa
docs: change name
luytan Aug 14, 2026
29b27e3
docs: update gpg part
luytan Aug 14, 2026
7c32954
docs: update arch nvidia sections
luytan Aug 14, 2026
d97415d
docs: fix bootctl
luytan Aug 14, 2026
2ea871e
docs: update vulkan to include amd and intel
luytan Aug 14, 2026
4e0a4d9
docs: add general distro guide
luytan Aug 14, 2026
95de0da
docs: add fedora guide
luytan Aug 14, 2026
ce2b00b
docs: add fedora content and pages to summary
luytan Aug 14, 2026
cee6883
docs: add TOC for arch and fix endeavour
luytan Aug 14, 2026
de71519
docs: add fedora atomic and it's deriv
luytan Aug 14, 2026
43e584e
docs: add nixos
luytan Aug 14, 2026
24aff79
docs: add fastboot to intro
luytan Aug 14, 2026
4e4b893
docs: re-structure assets
luytan Aug 14, 2026
381a9a2
docs: update fedora guide
luytan Aug 14, 2026
6f898b1
docs: update fedora atomic guide
luytan Aug 14, 2026
d3b5470
docs: update nix kernel
luytan Aug 14, 2026
87a018a
docs: add wifi and update ppd link in recommendations
luytan Aug 14, 2026
54db9bf
docs: update all
luytan Aug 14, 2026
ecc65bd
docs: fix typo in card eDP
luytan Aug 14, 2026
3b3c359
docs: fix esupport part
luytan Aug 14, 2026
69b7e54
docs: use sudo in fedora guides
luytan Aug 14, 2026
7c3f970
docs: add reboot for fedora
luytan Aug 14, 2026
c1890b3
docs: fix arch TOC
luytan Aug 14, 2026
ec3805c
docs: add reboot to fedora
luytan Aug 14, 2026
10e4986
docs: improve reboot sentence
luytan Aug 14, 2026
b74873a
docs: update missing-tdp to point to github
luytan Aug 14, 2026
f34630e
docs: link opensuse to the introduction
luytan Aug 14, 2026
73d975d
docs: replace modprobe with reboots
luytan Aug 14, 2026
6852e34
docs: add nova core
luytan Aug 14, 2026
3b793d9
docs: add FAQ
luytan Aug 14, 2026
43802c8
docs: fix fence
luytan Aug 14, 2026
7a8cfbd
docs: add sudo
luytan Aug 14, 2026
4d56b0e
docs: fix instruction for asusd on fedora
luytan Aug 14, 2026
675249e
docs: fix nixos sentence
luytan Aug 14, 2026
1cbc648
docs: fix typo
luytan Aug 14, 2026
b82724c
docs: add supported laptop list for fan curves
luytan Aug 14, 2026
4f9d4a5
docs: fix fan curve
luytan Aug 14, 2026
a3a7744
docs: fix typo
luytan Aug 14, 2026
3195e59
docs: point to specific guide on nvidia issue
luytan Aug 14, 2026
421251c
docs: fix another typo
luytan Aug 14, 2026
443eea6
docs: fix typo in graphic switch wat
luytan Aug 14, 2026
6ac346e
docs: fix typo in keyboards
luytan Aug 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions book.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[book]
src = "docs"
title = "Asusctl Documentation"
description = "Documentation for Asusctl"
title = "Linux on Asus"
description = "Documentation for Linux on Asus"
Comment thread
luytan marked this conversation as resolved.
23 changes: 22 additions & 1 deletion docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
# Summary

- [Chapter 1](./chapter_1.md)
[Introduction](introduction.md)

# Guides

- [General Recommendations](guides/recommendations.md)
- [General distributions](guides/general.md)
- [Arch Linux](guides/arch.md)
- [Fedora Workstation](guides/fedora.md)
- [Fedora Atomic (Silverblue)](guides/fedora-atomic.md)
- [Bazzite](guides/bazzite.md)
- [openSUSE Tumbleweed](guides/opensuse.md)
- [Ultramarine](guides/ultramarine.md)
- [NixOS](guides/nixos.md)
- [Contributing](guides/contributing.md)
- [Missing TDP or LED Control](guides/missing-tdp-or-leds.md)

# FAQ

- [General](faq/general.md)
- [Asusctl](faq/asusctl.md)
- [Graphics](faq/graphics_switching.md)
- [Keyboard](faq/keyboard.md)
Binary file added docs/assets/faq/custom_shortcut.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/arch/ogc-signing-key.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/fedora/software-restart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/fedora/software-updates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/fedora/terminal-search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/shared/nouveau-grub.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/guides/shared/rog-control-center.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions docs/chapter_1.md

This file was deleted.

60 changes: 60 additions & 0 deletions docs/faq/asusctl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Asusctl

## Contents

- [Pressing Fn+F5 doesn't do anything](#pressing-fnf5-doesnt-do-anything)
- [I get an error "org.asuslinux.Daemon was not provided by any .service files" when I run asusctl](#i-get-an-error-orgasuslinuxdaemon-was-not-provided-by-any-service-files-when-i-run-asusctl)
- [Why am I getting errors about my keyboard?](#why-am-i-getting-errors-about-my-keyboard)
- [It's not working!](#its-not-working)
- [I don't have any power profiles or charge control](#i-dont-have-any-power-profiles-or-charge-control)
- [How do I set a custom fan curve?](#how-do-i-set-a-custom-fan-curve)

### Pressing Fn+F5 doesn't do anything

You need to map the key-combo to an action in your desktop, like this:

![Custom Shortcut Window](../assets/faq/custom_shortcut.png)

### I get an error "org.asuslinux.Daemon was not provided by any .service files" when I run asusctl

The daemon isn't running, check the logs with sudo `journalctl -b -u asusd` and look for errors.

### Why am I getting errors about my keyboard?

Please ensure you are using a recent kernel. Please use at least 6.19 so that you get all the most recent patches and fixes for ASUS laptops.

### It's not working!

Check the logs with `sudo journalctl -b -u asusd` and look for errors.

### I don't have any power profiles or charge control

We recommend to use at least 6.19 so that you get all the most recent patches and fixes for ASUS laptops.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

It's also possible that your laptop doesn't support this so if the kernel update doesn't solve this feel free to make a :sadface: (sorry).

### How do I set a custom fan curve?

Custom fan curves (not speaking of the built-in power profiles) are only supported on specific models.

See the [supported laptops list](https://github.com/OpenGamingCollective/asusctl#supported-laptops) to check whether your model is included.
The necessary kernel patches are merged since 5.17.

The data format is a comma-separated list of points in the form `30c:1%,49c:2%,...`, where each point is a temperature followed by a fan speed. If the `%` is omitted the fan range is 0-255.

There are three fan profiles namely Quiet, Balanced and Performance to choose from. Each profile is linked to power profile and gets applied when the power profile is set. You can enable/disable all fan profiles at once for a profile using the following command:

```bash
asusctl fan-curve --mod-profile <profile_name> --enable-fan-curves true/false
```

To enable or disable a single fan curve for a profile use `--enable-fan-curve` together with `--fan <cpu/gpu/mid>`.

All three fan profiles can be activated at once. If no profile is activated manually then the fan curve from the BIOS is used.
Comment thread
luytan marked this conversation as resolved.
To change the fan curve data for a specific profile use the following command:

```bash
asusctl fan-curve --mod-profile <profile_name> --data <fan_curve_data>
```

An optional `--fan <cpu/gpu/mid>` can be added to select the fan to apply the data to (defaults to `cpu`).
53 changes: 53 additions & 0 deletions docs/faq/general.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# General

## Contents

- [How do I get desktop notifications for asusctl?](#how-do-i-get-desktop-notifications-for-asusctl)
- [How can I enable S3 (legacy) suspend?](#how-can-i-enable-s3-legacy-suspend)
- [Note for ROG Zephyrus G15 (2022)](#note-for-rog-zephyrus-g15-2022)
- [What steps are needed if I want to dual boot?](#what-steps-are-needed-if-i-want-to-dual-boot)
- [Note for ROG Flow X13 (2021)](#note-for-rog-flow-x13-2021)
- [Is `<distro>` supported by asusctl?](#is-distro-supported-by-asusctl)

### How do I get desktop notifications for asusctl?

This function is now integrated into the ROG Control Center, so long as you run it in the background you will get the notifications.

You can find all notify settings in the "System Settings" in the ROG Control Center.

### How can I enable S3 (legacy) suspend?

Depending on your kernel version, you may occasioinally experience issues with the 2021/2022 versions of the Zephyrus G14/G15 which affects the proper use or newer suspend methods, like s0ix.

A potential fix is to patch your DSDT tables so your machine uses the older suspend method, called S3. In our tests this works great on the 2021 / 2022 G14 and G15. Those patches are not part of the main repo and can't be. It will always be a manual matter and cannot be integrated into the kernel.
Comment thread
luytan marked this conversation as resolved.

> [!IMPORTANT]
> If you update the BIOS be sure you disable your DSDT table and create a new one. DSDT tables could change with newer BIOS versions!

You can find the script here: https://gitlab.com/marcaux/g14-2021-s3-dsdt

### Note for ROG Zephyrus G15 (2022)

After BIOS version 313, ASUS fix ACPI support for Linux, which is crucial if you want Performance mode to work properly.

And ASUS optimized power distribution between CPU and GPU, which before caused stuttering/frame drops in performance mode that confuse many users for a long time.
Comment thread
luytan marked this conversation as resolved.

### What steps are needed if I want to dual boot?

Be sure to consider the following:

- disable fast boot within the BIOS
- disable fast boot in Windows
- always fully shutdown after using and switchting to another OS so the hardware gets correctly initialized
Comment thread
luytan marked this conversation as resolved.

If you still experience an issue, hold down the power button while on battery for a few seconds to force a shutdown. This often helps to reset some things.

These steps are not needed if you are running Linux exclusively.

### Note for ROG Flow X13 (2021)

BIOS versions 408 & 409 cannot boot a Linux kernel newer than 5.15.x so you will need to upgrade to the 410 bios [here](https://rog.asus.com/laptops/rog-flow/2021-rog-flow-x13-series/helpdesk_bios).
Comment thread
luytan marked this conversation as resolved.

### Is `<distro>` supported by asusctl?

TODO: List of supported distros
Comment thread
luytan marked this conversation as resolved.
60 changes: 60 additions & 0 deletions docs/faq/graphics_switching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Graphics & Switching

## Contents

- [Nvidia card is not sleeping!](#nvidia-card-is-not-sleeping)
- [Nvidia Dynamic Boost isn't working!](#nvidia-dynamic-boost-isnt-working)

### Nvidia card is not sleeping!

After checking the usual suspects:

- Missing configuration: you need to configure the system for your distribution; see the guide for [Arch Linux](../guides/arch.md), [Fedora Workstation](../guides/fedora.md), [Fedora Atomic](../guides/fedora-atomic.md), [Bazzite](../guides/bazzite.md), [openSUSE Tumbleweed](../guides/opensuse.md), [Ultramarine](../guides/ultramarine.md), or [NixOS](../guides/nixos.md).
- GPU monitoring widgets: keep the GPU on to monitor it!
- ollama: if ollama is running nvidia might not be able to sleep!

One possible culprit might also be realtime audio kit being enabled.

This service can probe all available audio devices, which includes nvidia hdmi audio!
Comment thread
luytan marked this conversation as resolved.

### Nvidia Dynamic Boost isn't working!

Since version 525.53, NVIDIA added official Dynamic Boost support for AMD laptop that uses Ryzen 6000 Series (or newer) CPU.

To enable it, follow the next steps:

1. Start nvidia-powerd.service

```bash
sudo systemctl start nvidia-powerd.service
```

If you don't want to start it manually each time, then:

```bash
sudo systemctl enable nvidia-powerd.service
```

2. Set your power profile to "Performance" Mode

You can do it in many ways. If you already installed asusctl, you can switch to it using:

```bash
asusctl profile -P Performance
```

or ROG Control Center (GUI) to set it.

3. Test it

Using tools like "nvtop" and "mangohud", you can monitor your CPU and GPU power in realtime.

To check if the Dynamic boost works, you need to identify what is the MAX TGP your model support. Usually, it can be found on manufacturers' websites.

Here are some power data collected from Zephyrus G15 (2022), which rated 120-watt maximum TGP.

Quiet mode: 25 Watt (CPU) + 60 Watt (GPU)

Balanced Mode: 30 Watt (CPU) + 80 Watt (GPU)

Performance Mode: 25 Watt (CPU) + 115 Watt (GPU)
86 changes: 86 additions & 0 deletions docs/faq/keyboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Keyboard

## Contents

- [Can I re-map the arrow keys?](#can-i-re-map-the-arrow-keys)
- [I have a laptop where the arrow keys do not emit keycodes, can I use these?](#i-have-a-laptop-where-the-arrow-keys-do-not-emit-keycodes-can-i-use-these)
- [My keyboard isn't working properly with the driver](#my-keyboard-isnt-working-properly-with-the-driver)
- [Can I customise the Fn key?](#can-i-customise-the-fn-key)
- [My laptop has no SysRq key. Can I remap any key to SysRq?](#my-laptop-has-no-sysrq-key-can-i-remap-any-key-to-sysrq)

### Can I re-map the arrow keys?

Yes, create a file named `/etc/udev/hwdb.d/90-nkey.hwdb` with:

```conf
# Format evdev:input:b<bus_id>v<vendor_id>p<product_id>

# ** Note **
# The line evdev:input:b0003v0B05p1866* may vary on your ASUS Laptop.
# Modify the <vendor_id> and <product_id> based on the output of this command to ensure remaps work:
# $ lsusb | grep 'ASUSTek Computer, Inc. N-KEY Device' | awk -F'[: ]' '{print $7" "$8}' | tr '[:lower:]' '[:upper:]'

evdev:input:b0003v0B05p1866*
KEYBOARD_KEY_c00b6=kbdillumdown # Fn+F2 (music prev)
KEYBOARD_KEY_c00b5=kbdillumup # Fn+F4 (music skip)
KEYBOARD_KEY_ff3100c5=pagedown # Fn+Down
KEYBOARD_KEY_ff3100c4=pageup # Fn+Up
KEYBOARD_KEY_ff3100b2=home # Fn+Left
KEYBOARD_KEY_ff3100b3=end # Fn+Right
```

then update hwdb with:

```bash
sudo systemd-hwdb update
sudo udevadm trigger
```

You can see a list of keycodes [here](https://github.com/torvalds/linux/blob/b76f733c3ff83089cf1e3f9ae233533649f999b3/include/uapi/linux/input-event-codes.h).

### I have a laptop where the arrow keys do not emit keycodes, can I use these?

Yes, you can.

### My keyboard isn't working properly with the driver

You may have a different keyboard. Please request support in one of the related projects on github, or in the discord server.

### Can I customise the Fn key?

No, the key is on a physically different circuit and used to physically signal the keyboard EC to switch key circuits.

There are three different circuits for the `0x8166` keyboard.

### My laptop has no SysRq key. Can I remap any key to SysRq?

Yes! Similar to remapping the Arrow-Keys above, you can remap - say the `menu (fn+RightCtrl)` key to `SysRq`.

Just add another line to `/etc/udev/hwdb.d/90-nkey.hwdb` with the following, including the leading whitespaces:

```conf
KEYBOARD_KEY_<ScanCode>=sysrq # force remap sysrq to Fn+RightCtrl
```

You can get the `<ScanCode>` by running

```bash
evtest /dev/input/by-id/usb-ASUSTeK_Computer_Inc._N-KEY_Device-*-kbd
```

and pressing the `RightCtrl` key.
In this case, it is `70065`

```bash
Testing ... (interrupt to exit)
Event: time 1662839073.640933, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70065 <--------- Substitute this as <ScanCode>
Event: time 1662839073.640933, type 1 (EV_KEY), code 127 (KEY_COMPOSE), value 1
Event: time 1662839073.640933, -------------- SYN_REPORT ------------
```

Then update hwdb with:

```bash
sudo systemd-hwdb update
sudo udevadm trigger
```
Loading