该应用程序允许您在 Linux 系统上控制 AMD 或 Nvidia GPU。
GPU信息 | 超频 | 风扇控制 |
---|---|---|
史料 | ||
目前的特点:
AMD 和 Nvidia 的功能都适用于 X11、Wayland 甚至无头会话。
Arch Linux:安装 AUR 软件包(或 -git 版本)
Debian/Ubuntu/Derivatives:从发行版下载 .deb。
它仅适用于 Debian 12+ 和 Ubuntu 22.04+,因为旧版本不附带 gtk4。
Fedora:RPM 在版本中可用。
Gentoo:在 GURU 中可用。
OpenSUSE:RPM 在发行版中可用。
仅支持 tumbleweed,因为 Leap 在存储库中没有所需的依赖项。
NixOS:nixpkgs 中有一个可用的软件包
否则,从源代码构建。
为什么没有AppImage/Flatpak/其他通用格式?请参阅此处。
注意:Nvidia 支持需要安装了 CUDA 库的 Nvidia 专有驱动程序。
要获得稳定版本中尚未发布的最新修复或功能,可以从最新提交构建一些软件包,您可以从测试版本安装这些软件包,或者在基于 Arch 的发行版上使用lact-git
AUR 软件包。
注意:测试版本的日期不是构建包的日期,实际日期在附加的包文件旁边指定。
启用并启动服务(否则您将无法更改任何设置):
sudo systemctl enable --now lactd
您现在可以使用 GUI 来更改设置和查看信息。
LACT 在很大程度上不会在每一代的基础上实现功能,而是公开当前系统的驱动程序中可用的功能。然而,下表显示了给定一代的预期功能。
一代 | 时钟配置 | 功率限制 | 电源状态 | 风扇控制 | 笔记 |
---|---|---|---|---|---|
南部群岛 (HD 7000) | 不支持 | 未知 | 未知 | 未经测试 | 需要amdgpu.si_support=1 内核选项 |
海岛 (R7/R9 200) | 不支持 | 未知 | 未经测试 | 未经测试 | 需要amdgpu.cik_support=1 内核选项 |
火山岛 (R7/R9 300) | 不支持 | 未知 | 未经测试 | 未经测试 | |
北极群岛/北极星 (RX 400-500) | 支持 | 支持 | 支持 | 支持 | |
织女星 | 支持 | 支持 | 支持 | 支持 | |
RDNA1 (RX 5000) | 支持 | 支持 | 支持 | 支持 | |
RDNA2 (RX 6000) | 支持 | 支持 | 支持 | 支持 | |
RDNA3 (RX 7000) | 支持 | 有限的 | 支持 | 有限的 | 有一个不可配置的温度阈值,低于该阈值,即使使用自定义曲线,风扇也不会打开。功率上限有时也低于应有的水平。需要内核 6.7+。有关更多信息,请参阅#255。 |
此处未列出的 GPU 仍然可以工作,但可能不具有完整的功能。监控/系统信息将随处可见。集成 GPU 也可能仅提供基本配置。
任何 Maxwell 或更新版本都应该可以工作,但生成支持尚未经过彻底测试。
/etc/lact/config.yaml
中有一个可用的配置文件。大多数设置都可以通过 GUI 访问,但其中一些设置可能需要手动编辑(例如admin_groups
来指定谁有权访问守护程序)
套接字权限设置:
默认情况下,LACT 使用 ether wheel
或sudo
组(以可用者为准)作为 GUI 需要连接的 unix 套接字的所有权。
在大多数配置上(例如基于 Arch、大多数基于 Debian 或 Fedora 系统的默认设置),您不需要执行任何操作。
但是,某些系统可能具有不同的用户配置。特别是,据报道这是 OpenSUSE 上的一个问题。
要修复此类配置中的套接字权限,请编辑/etc/lact/config.yaml
并将您的用户名或组添加为daemon
下admin_groups
中的第一个条目,然后重新启动服务 ( sudo systemctl restart lactd
)。
驱动程序中默认禁用超频功能。有两种方法可以启用它:
通过使用 LACT GUI 中的“启用超频”选项。这将在/etc/modprobe.d
中创建一个文件,以启用所需的驱动程序选项。这是最简单的方法,应该对大多数人都有效。
注意:这将尝试自动重新生成 initramfs 以包含新设置。它不涵盖所有可能的发行版组合。如果您在 LACT 中启用了超频,但重新启动后仍然无法工作,您可能需要检查发行版的配置以确保 initramfs 已更新。更新内核版本是触发 initramfs 更新的保证方法。
指定启动参数。您可以在引导加载程序中手动指定amdgpu.ppfeaturemask=0xffffffff
内核参数以启用超频。请参阅 ArchWiki 了解更多详细信息。
由于挂起系统时某些 GPU 设置可能会重置,LACT 将在系统恢复时重新加载它们。这可能不适用于不使用 systemd 的发行版,因为它依赖于org.freedesktop.login2
DBus 接口。
依赖项:
安装所有依赖项的命令:
sudo dnf install rust cargo make git gtk4-devel libdrm-devel blueprint-compiler
sudo pacman -S --needed base-devel git make rust gtk4 hwdata blueprint-compiler
步骤:
git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
make
sudo make install
可以更改 LACT 的构建功能。为此,请将make
命令替换为以下变体:
没有 GUI 的无头构建:
make build-release-headless
使用 libadwaita 支持构建 GUI:
make build-release-libadwaita
有一个可通过 unix 或 TCP 套接字使用的 API。请参阅此处了解更多信息。
可以让 LACT 守护程序在一台计算机上运行,然后从另一台计算机远程管理它。
默认情况下禁用此功能,因为 TCP 连接没有任何身份验证或加密机制!确保仅在受信任的网络中使用它和/或设置适当的防火墙规则。
要启用它,请编辑/etc/lact/config.yaml
并在daemon
部分中添加tcp_listen_address
和您所需的地址。
例子:
daemon :
tcp_listen_address : 0.0.0.0:12853
log_level : info
admin_groups :
- wheel
- sudo
disable_clocks_cleanup : false
在此之后重新启动服务( sudo systemctl restart lactd
)。
要使用 GUI 连接到远程实例,请使用lact gui --tcp-address 192.168.1.10:12853
运行它。
还有一个 cli 可用。
列出系统 GPU:
lact cli list-gpus
输出示例:
1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
获取GPU信息:
lact cli info
输出示例:
lact cli info
GPU Vendor: Advanced Micro Devices, Inc. [AMD/ATI]
GPU Model: Vega 10 XL/XT [Radeon RX Vega 56/64]
Driver in use: amdgpu
VBIOS version: 115-D050PIL-100
Link: LinkInfo { current_width: Some("16"), current_speed: Some("8.0 GT/s PCIe"), max_width: Some("16"), max_speed: Some("8.0 GT/s PCIe") }
CLI 的功能非常有限。如果您想将 LACT 与某些应用程序/脚本集成,您应该使用 API。
报告问题时,请提供您的系统信息和 GPU 型号。
如果您在更改 GPU 配置时遇到问题,强烈建议在错误报告中包含调试快照。您可以使用下拉菜单中的选项生成一个:
快照是一个存档,其中包括 LACT 用于与 GPU 交互的 SysFS。
如果发生崩溃,请从命令行运行lact gui
以获取GUI 日志,检查journalctl -u lactd
中的守护程序日志是否有错误,并查看dmesg
以获取可能包含有关驱动程序和系统问题的信息的内核日志。
以下是 Linux 上适用于 AMD GPU 的其他有用工具的列表: