ilya-zlobintsev/LACT

GitHub: ilya-zlobintsev/LACT

Linux 平台上同时支持 AMD、Nvidia 和 Intel GPU 的综合配置与监控工具,具备图形界面、命令行和无头多种运行模式。

Stars: 4342 | Forks: 111

# Linux GPU 控制应用程序 Translation status icon 此应用程序允许您在 Linux 系统上控制您的 AMD、Nvidia 或 Intel GPU。 | GPU 信息 | 超频 | 风扇控制 | | ----------------------------------| ----------------------------------| ----------------------------------| | ![image](https://raw.githubusercontent.com/ilya-zlobintsev/LACT/master/res/screenshots/1.png) | ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7bd492fb36025201.png) | ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9b5140b2c9025202.png) | | 软件信息 | 历史数据 | | | ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/da71a4d32a025203.png) | ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7e53bcc662025205.png) | | ### 功能特性: - 详细的 GPU 信息报告 - 名称和制造商 - VBIOS 信息 - VRAM 信息(类型/制造商/总线) - 硬件单元信息(CUs/SMs/EUs,ROP 数量) - Resizable BAR 状态 - Vulkan 功能和扩展 - 监控 - 可配置的功耗/温度/频率历史图表 - 降频信息 - 数据 CSV 导出 - 电源配置 - 功耗上限 - 电源状态(仅限 AMD) - 温度配置 - 自定义风扇曲线(AMD/Nvidia) - GPU 固件温度选项,例如温度和声学目标/限制(仅限 AMD RDNA3+) - 超频 - GPU/VRAM 频率配置 - GPU 降压(AMD 通过电压偏移实现,Nvidia [间接](https://github.com/ilya-zlobintsev/LACT/wiki/Frequently-asked-questions#how-to-undervolt-nvidia-gpus)实现) - 设置配置文件 - 基于运行进程或 gamemode 状态自动激活配置文件 - [OpenTelemetry 指标导出器](./docs/EXPORTER.md) GPU 配置由不依赖于图形会话(Wayland/X11)的系统服务处理。 该服务也可以在无头场景中通过配置文件单独使用。 # 快速链接 - [安装](#installation) - [硬件支持](https://github.com/ilya-zlobintsev/LACT/wiki/Hardware-Support) - [常见问题](https://github.com/ilya-zlobintsev/LACT/wiki/Frequently-asked-questions) - [在 AMD 上启用超频](https://github.com/ilya-zlobintsev/LACT/wiki/Overclocking-(AMD)) - [配置文件参考](./docs/CONFIG.md) - [API](./docs/API.md) - [Power profiles daemon 说明](#power-profiles-daemon-note) - [从不良超频中恢复](https://github.com/ilya-zlobintsev/LACT/wiki/Recovering-from-a-bad-overclock) - [指标导出器](./docs/EXPORTER.md) - [贡献代码](./docs/CONTRIBUTING.md) - [贡献翻译](#localization) - [支持本项目](#support-the-project) # 安装 - Arch Linux:从官方仓库安装软件包:`pacman -S lact`(或从 AUR 安装 `lact-git` 以获取开发版)。 - Debian/Ubuntu/衍生版:从[发布页](https://github.com/ilya-zlobintsev/LACT/releases/)下载 .deb 包。 仅在 Debian 12+ 和 Ubuntu 22.04+ 上可用,因为旧版本不附带 gtk4。 - Fedora:使用 [Copr 仓库](https://copr.fedorainfracloud.org/coprs/ilyaz/LACT/),或从[发布页](https://github.com/ilya-zlobintsev/LACT/releases/)下载 RPM 包。 - Bazzite/Fedora Atomic:使用 Flatpak。 - Gentoo:在 [GURU](https://github.com/gentoo/guru/tree/master/sys-apps/lact) 中可用。 - OpenSUSE:在[发布页](https://github.com/ilya-zlobintsev/LACT/releases/)中提供 RPM 包。 仅支持 Tumbleweed,因为 Leap 在仓库中不包含所需的依赖项。 - NixOS:在 [nixpkgs](https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=lact) 中提供了软件包。 - Solus:在官方仓库中可用:`eopkg it lact` - Flatpak(通用):在 [Flathub](https://flathub.org/apps/io.github.ilya_zlobintsev.LACT) 和[发布页](https://github.com/ilya-zlobintsev/LACT/releases/)中可用。 有关附加说明,请参阅 [Flatpak 文档](./flatpak/README.md)。 - Docker(仅服务端,无 GUI):参阅 [DOCKER.md](./docs/DOCKER.md) - 从源码构建。 注意:Nvidia 支持需要安装带有 CUDA 库的 Nvidia 专有驱动。 ## 开发版 要获取尚未在稳定版中发布的最新修复或功能,可以使用基于最新提交构建的软件包,您可以从[测试发布版](https://github.com/ilya-zlobintsev/LACT/releases/tag/test-build)安装,或在基于 Arch 的发行版上使用 `lact-git` AUR 软件包。 注意:GitHub 在测试版旁边显示的日期并非软件包的构建日期,实际日期在附带的软件包文件旁边注明。 # 使用方法 启用并启动服务(否则您将无法更改任何设置): ``` sudo systemctl enable --now lactd ``` 您现在可以使用 GUI 更改设置和查看信息。 # 硬件支持 请参阅 [Wiki 页面](https://github.com/ilya-zlobintsev/LACT/wiki/Hardware-Support) # 配置 在 `/etc/lact/config.yaml` 中提供了一个配置文件。大多数设置可以通过 GUI 访问,但有些设置可能适合手动编辑(例如 `admin_group` 和 `admin_user` 用于指定谁有权访问守护程序) 有关更多信息,请参阅 [CONFIG.md](./docs/CONFIG.md)。 **Socket 权限设置:** 默认情况下,LACT 使用 `wheel` 或 `sudo` 组(以可用者为准)来拥有 GUI 需要连接的 Unix Socket 的所有权。 在大多数桌面配置中(例如基于 Arch、大多数基于 Debian 或 Fedora 系统的默认设置),这包含了默认用户,因此您无需进行配置。 但是,某些系统可能有不同的用户配置。特别是,据报道这在 OpenSUSE 上是一个问题。 要在此类配置中修复 Socket 权限,请编辑 `/etc/lact/config.yaml`,并在 `daemon` 部分执行以下操作之一: - 将 `admin_user` 设置为您的用户名 - 将 `admin_group` 设置为您的用户所属的组。然后重启服务(`sudo systemctl restart lactd`)。 # 超频 (AMD) 某些功能需要在 amdgpu 驱动中启用一个选项,有关更多信息,请参阅 [wiki 页面](https://github.com/ilya-zlobintsev/LACT/wiki/Overclocking-(AMD))。 ## Power profiles daemon 说明! 如果您正在使用 `power-profiles-daemon`(这在许多发行版中是默认安装的),默认情况下它可能会根据自己的配置文件覆盖 amdgpu 的性能级别设置。 当使用 LACT 0.7.5+ 和 power-profiles-daemon 0.30+ 时,LACT 将尝试连接到 power-profiles-daemon,并自动禁用 ppd 中冲突的 amdgpu 操作以避免此冲突。 如果运行的是较旧版本,您可以通过在 `/etc/systemd/system/power-profiles-daemon.service.d/override.conf` 创建包含以下内容的文件来手动解决此问题: ``` [Service] ExecStart= ExecStart=/usr/libexec/power-profiles-daemon --block-action=amdgpu_dpm ``` 注意:`/usr/libexec` 路径在您的系统上可能有所不同,请在 `systemctl status power-profiles-daemon` 中进行检查 参阅 https://github.com/ilya-zlobintsev/LACT/issues/370 了解更多信息。 # 挂起/恢复 由于挂起系统时某些 GPU 设置可能会被重置,LACT 将在系统恢复时重新加载它们。这可能在不使用 systemd 的发行版上不起作用,因为它依赖于 `org.freedesktop.login2` DBus 接口。 # 从源码构建 依赖项: - rust 1.93+ - gtk 4.6+ - libadwaita 1.5+ - git - pkg-config - clang - make - hwdata - libdrm 可选依赖项: - vulkan-tools - clinfo 安装所有依赖项的命令: - Fedora: `sudo dnf install rust cargo make git clang gtk4-devel libadwaita-devel libdrm-devel vulkan-tools clinfo` - Arch: `sudo pacman -S --needed base-devel git clang make rust gtk4 libadwaita hwdata vulkan-tools clinfo` 步骤: - `git clone https://github.com/ilya-zlobintsev/LACT && cd LACT` - `make` - `sudo make install` 可以更改 LACT 构建时启用的功能。为此,请使用以下变体替换 `make` 命令: 无 GUI 的无头构建: ``` make build-release-headless ``` # 远程管理 可以在一台机器上运行 LACT 守护程序,然后从另一台机器远程管理它。 默认情况下此功能处于禁用状态,因为 TCP 连接**没有任何身份验证或加密机制!**确保仅在受信任的网络中使用它和/或设置适当的防火墙规则。 要启用它,请编辑 `/etc/lact/config.yaml`,并在 `daemon` 部分添加具有您所需地址的 `tcp_listen_address`。 示例: ``` daemon: tcp_listen_address: 0.0.0.0:12853 log_level: info admin_group: wheel disable_clocks_cleanup: false ``` 之后重启服务(`sudo systemctl restart lactd`)。 要使用 GUI 连接到远程实例,请使用以下命令运行它: `lact gui --tcp-address 192.168.1.10:12853`。 # 命令行界面 还提供了一个命令行界面可用。 - 列出系统 GPU: `lact cli list-gpus` 示例输出: 10DE:2704-1462:5110-0000:09:00.0 (AD103 [GeForce RTX 4080]) - 获取 GPU 信息: `lact cli info` 示例输出: $ lact cli info GPU 10DE:2704-1462:5110-0000:09:00.0: ===================================== GPU Model: NVIDIA GeForce RTX 4080 (0x10DE:0x2704) Card Manufacturer: Micro-Star International Co., Ltd. [MSI] (0x1462) Card Model: Unknown (0x5110) Driver Used: nvidia 570.124.04 VBIOS Version: 95.03.1E.00.60 VRAM Size: 16376 MiB GPU Family: Ada Cuda Cores: 9728 SM Count: 76 ROP Count: 112 (14 * 8) VRAM Type: GDDR6x VRAM Manufacturer: Micron L2 Cache: 65536 KiB Resizeable bar: Enabled CPU Accessible VRAM: 16384 Link Speed: 8 GT/s PCIe gen 3 x8 - 配置文件 `lact cli profile [COMMAND]` - 列出配置文件: `lact cli profile list` 示例输出: Default Gaming Performance Balanced - 获取当前配置文件: `lact cli profile get` 或 `lact cli profile` 示例输出: Gaming - 设置配置文件: `lact cli profile set "Performance"` 示例输出: Performance - 自动切换配置文件 `lact cli profile auto-switch [COMMAND]` - 获取自动切换状态: `lact cli profile auto-switch get` 或 `lact cli profile auto-switch` 示例输出: enabled - 启用自动切换: `lact cli profile auto-switch enable` 示例输出: enabled - 禁用自动切换: `lact cli profile auto-switch disable` 示例输出: disabled CLI 的功能相当有限。如果您想将 LACT 与某些应用程序/脚本集成,应该改用 [API](./docs/API.md)。 # 报告问题 报告问题时,请附上您的系统信息和 GPU 型号。 如果您在更改 GPU 配置时遇到问题,强烈建议在错误报告中包含调试快照。您可以使用下拉菜单中的选项生成一个: ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/3a751375ff025207.png) 该快照是一个归档文件,其中包含了 LACT 用于与 GPU 交互的 SysFS 信息。 如果发生崩溃,请从命令行运行 `lact gui` 以获取 GUI 日志,并在 `journalctl -u lactd` 中检查守护程序日志以查找错误,同时查看 `dmesg` 中的内核日志,其中可能包含有关驱动程序和系统问题的信息。 # 本地化 您可以使用 [Weblate](https://translate.fedoraproject.org/engage/lact/) 为 LACT 贡献翻译。 # 其他工具 以下是适用于 Linux 上 AMD GPU 的其他有用工具列表: - [CoreCtrl](https://gitlab.com/corectrl/corectrl) - LACT 的直接替代品, 除了具有 Qt UI 的 CPU 配置外,还提供类似的功能 - [amdgpu_top](https://github.com/Umio-Yasuno/amdgpu_top) - 用于 AMD GPU 详细实时统计信息的工具 - [Tuxclocker](https://github.com/Lurkki14/tuxclocker) - Qt 超频工具, 支持 AMD GPU
标签:AMD, Fedora, GET参数, GPU, Intel, OpenTelemetry, Resizable BAR, VBIOS, VRAM, Vulkan, Wayland, X11, 功耗管理, 可视化界面, 性能优化, 控制面板, 显卡, 桌面应用, 检测绕过, 温度监控, 游戏模式, 用户代理, 硬件信息, 硬件管理, 系统服务, 请求拦截, 调压, 超频, 通知系统, 降频, 风扇控制