logo
0
0
WeChat Login
hajimi<hajimi.china@gmail.com>
add Chinese (Simplified) README documentation

ASUS ROG 的 asusctl 工具

Become a Patron! ko-fi - Asus Linux 官网

警告: 许多功能是与内核补丁共同开发的。如果您发现某些功能缺失,可能需要安装补丁版本的内核或最新版本的内核。

asusd 是一个用于 Linux 的实用工具,可以控制各种 ASUS 笔记本电脑的许多方面,也可以在非 ASUS 笔记本上使用,但功能会有所减少。

现在包含图形界面 rog-control-center

内核支持

由于持续的驱动开发工作,最低建议的内核版本始终是最新版本,因为改进和修复是持续进行的。

TDP 支持依赖于新的 asus-armoury 驱动:该驱动自 Linux 6.19 起已进入主线:所有旧版本均不受支持。

X11 支持

完全不支持 X11,也就是说,如果遇到 X11 相关问题,由于时间有限且其自身已不再维护,我将不会提供帮助。但是,您可以使用 cargo build --features "rog-control-center/x11" 来构建支持 X11 的 rog-control-center

项目目标

这项工作的主要目标是通过 DBUS 提供一个安全易用的笔记本电脑各种功能的抽象层,并提供一些有用的默认行为,例如在 AC/电池切换时自动切换节流/性能配置。

  1. 提供安全的 DBUS 接口
  2. 尊重用户的资源:小巧、轻量、快速

第 4 点?asusd 目前仅使用极少量的 CPU 时间,内存占用不到 1MB,这才是系统级守护进程应有的样子。JavaScript 和 Python 等语言绝不应该用于系统级守护进程(请停止使用它们)。

键盘 LED 灯光

对笔记本电脑的支持水平取决于 folks 向 ./rog-aura/data/layouts/aura_support.ron 提交的数据,通常安装在 /usr/share/asusd/aura_support.ron。这是因为用于键盘和 LED 的控制器在多年和许多笔记本电脑型号中使用,所有这些都有不同的固件配置 - 跟踪这一点的唯一方法是使用上述文件。为什么不默认启用所有功能?因为这会让人困惑。

更多详情请参阅 rog-aura readme

Discord 社区

Discord

支持的笔记本电脑

大多数配备 USB 键盘的 ASUS 游戏笔记本电脑。如果 lsusb 显示类似以下内容:

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

或者

Bus 003 Device 002: ID 0b05:19b6 ASUSTek Computer, Inc. [unknown]

那么它可能可以直接使用。从技术上讲,除了 LED 和 AniMe 部分之外的所有其他功能,无论您的笔记本电脑品牌如何,都应该可以工作。

已实现的功能

该列表有些过时,因为许多功能已通过上游补丁在 Linux 内核中启用,并在 asusctl 套件中得到支持。

  • 系统守护进程
  • GUI 应用程序(包括托盘和通知)
  • 设置/修改内置 LED 模式
  • 每键 LED 设置
  • 高级 LED 模式(参见示例)(正在重新开发中)
  • G14 和 M16 型号上的 AniMatrix 显示屏
  • 设置电池充电限制(需要内核支持)
  • 支持的笔记本电脑上的风扇曲线控制(G14/G15,部分 TUF 型号如 FA507)
  • 切换启动/POST 声音的 BIOS 设置
  • 切换 GPU MUX(g-sync,或在 2022+ 笔记本电脑上称为 MUX)

图形界面

现在仓库中包含一个 GUI - ROG Control Center。目前它仍在开发中,但几乎所有功能已经就位。

注意:不支持 Xorg。

构建项目

需要 Rust 和 cargo,可以从 rustup.rs 安装。

发行版打包应该可以使用稳定工具链。如果您的发行版不提供较新的 Rust 工具链,请安装 rustup 并使用稳定工具链。

Fedora:

dnf install cmake clang-devel libxkbcommon-devel systemd-devel expat-devel pcre2-devel libzstd-devel gtk3-devel make sudo make install

openSUSE:

适用于 KDE Plasma(无需 GTK 软件包)

zypper in -t pattern devel_basis zypper in rustup make cmake clang-devel libxkbcommon-devel systemd-devel expat-devel pcre2-devel libzstd-devel gtk3-devel make sudo make install

Debian(不支持):

官方不支持,但您仍然可以自己尝试和测试(某些功能可能不可用)。

sudo apt install libclang-dev libudev-dev libfontconfig-dev build-essential cmake libxkbcommon-dev curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh make sudo make install

Ubuntu、PopOS(不支持):

sudo apt install make cargo gcc pkg-config openssl libasound2-dev cmake build-essential python3 libfreetype6-dev libexpat1-dev libxcb-composite0-dev libssl-dev libx11-dev libfontconfig1-dev curl libclang-dev libudev-dev checkinstall libseat-dev libinput-dev libxkbcommon-dev libgbm-dev make sudo make install

安装

默认的初始化方法是使用 udev 规则,这可确保在设备初始化并准备就绪时启动服务。

对于 debian 安装,您可能需要激活服务。如果您运行 Pop!_OS,建议禁用 system76-power gnome-shell 扩展和 systemd 服务。

升级

如果您从先前安装的版本升级,则需要重启服务或重新启动系统。

systemctl daemon-reload && systemctl restart asusd

卸载

在源代码仓库中运行 sudo make uninstall,并删除 /etc/asusd/

贡献

请参阅 CONTRIBUTING.md。此外,在首次检出时还要执行 cargo cleancargo test,以确保使用提交钩子(通过 cargo-husky)。

使用 make bindings 生成绑定需要安装 typeshare

Dbus 内省 XML 需要在启动 asusd 之前运行 make introspection,需要 anime_sim 正在运行。

其他功能

AniMe Matrix 矩阵模拟器

可以使用 cargo build --package rog_simulators 构建使用 SDL2 的模拟器,并使用 ./target/debug/anime_sim 运行。一旦启动,需要重启 asusd 才能识别它。如果带有显示屏的笔记本电脑上运行此模拟器,将使用模拟显示屏而不是物理显示屏。

支持更多笔记本电脑

请提交支持请求。

许可证和商标

Mozilla Public License 2 (MPL-2.0)


ASUS 和 ROG 商标是 ASUSTeK Computer Inc. 在美国和/或其他国家的美国注册商标或商标。

提及任何 ASUS 产品、服务、流程或其他信息/使用 ASUS 商标并不构成或暗示 ASUS 的认可、赞助或推荐。

本网站及相关工具和库中使用 ROG 和 ASUS 商标仅为用户提供可识别的标识,使他们能够将这些工具与 ASUS ROG 笔记本电脑相关联。


AI 免责声明

本代码的部分内容是由各种 AI 工具编写的,并由维护者审查,就像处理每个其他贡献一样。