Ilya Zlobintsev 98cb7ace24 Feature/power profile modes (#112)
* feat: daemon implementation of power profile modes

* feat: updated performance frame with manual mode support

* feat: WIP UI for power modes

* feat: setting power profile mode in UI

* feat: show power profile modes info

* fix: hide power profile modes when not available

* feat: basic power profile modes table support

* chore: use git amdgpu-sysfs source

* fix: basic modes table gui offset

* feat: use basic power profiles instead

* fix: invalid lowest clocks performance level name

* chore: remove git source
2023-03-02 21:55:17 +02:00
2023-02-28 10:38:08 +02:00
2023-02-28 10:38:08 +02:00
2023-02-28 10:38:08 +02:00
2023-02-25 14:12:25 +02:00
2023-02-23 22:31:31 +02:00
2023-02-25 12:48:09 +02:00
2023-02-25 14:31:51 +02:00
2023-03-02 21:55:17 +02:00
2023-02-19 14:45:23 +02:00
2023-02-26 11:40:13 +02:00

Linux AMDGPU Control Application

icon

This application allows you to control your AMD GPU on a Linux system.

GPU info Overclocking Fan control
image image image

Current features:

  • Viewing information about the GPU
  • Power/thermals monitoring
  • Fan curve control
  • Basic overclocking

Currently missing:

  • Precise clock/voltage curve manipulation (currently can only set the maximum values)

Installation

  • Arch Linux: Install the AUR Package (or the -git version)

  • Debian/Ubuntu/Derevatives: Download a .deb from releases.

    It is only available on Debian 12+ and Ubuntu 22.04+ as older versions don't ship gtk4.

  • Fedora: an rpm is available in releases.

  • Otherwise, build from source.

Why is there no AppImage/Flatpak/other universal format? See here.

Configuration

There is a configuration file available in /etc/lact/config.yaml. Most of the settings are accessible through the GUI, but some of them may be useful to be edited manually (like admin_groups to specify who has access to the daemon)

Building from source

Dependencies:

  • rust
  • gtk4
  • pkg-config
  • make
  • hwdata

Steps:

  • git clone https://github.com/ilya-zlobintsev/LACT && cd LACT
  • make
  • sudo make install

Usage

Enable and start the service (otherwise you won't be able to change any settings):

sudo systemctl enable --now lactd

You can now use the GUI to change settings and view information.

API

There is an API available over a unix socket. See here for more information.

CLI

There is also a cli available.

  • List system GPUs:

    lact cli list-gpus

    Example output:

    1002:687F-1043:0555-0000:0b:00.0 (Vega 10 XL/XT [Radeon RX Vega 56/64])
    
  • Getting GPU information:

    lact cli info

    Example output:

    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") }
    

The functionality of the CLI is quite limited. If you want to integrate LACT with some application/script, you should use the API instead.

Reporting issues

When reporting issues, please include your system info and GPU model.

If there's a crash, run lact gui from the command line to get logs, or use journalctl -u lactd to see if the daemon crashed.

Alternatives

If LACT doesn't do what you want, make sure to check out CoreCtrl.

Description
Linux AMDGPU Controller
Readme 2.7 MiB
Languages
Rust 63.4%
C 35.9%
Shell 0.5%
Makefile 0.2%