Releases: ilya-zlobintsev/LACT
Release list
Test release
feat: show additional clock domains in UI (#1172)
-
feat: show additional clock domains in UI
-
fix: tests
v0.10.0
[0.10.0] - 2026-08-12
Highlights:
-
New Nvidia OC settings
Two new options added have been added for Nvidia:
-
PowerMizer mode
This setting lets you force the GPU into the highest p-state. This is similar to the "performance level" setting on AMD.
-
Voltage boost
This slider can be used to allow the GPU to boost to slightly higher voltages. This is not a full voltage offset setting, and only allows for slightly more headroom, but it might be beneficial for some OC setups.
If you've used MSI Afterburner on Windows, this setting is the voltage slider in the main window.
-
-
More Nvidia sensor readings
The hotspot sensor on Blackwell now works with a Blackwell-specific path, instead of reporting bogus values.
Support for per-memory-chip temperature sensors has been added. This works on GPUs with GDDR6x and GDDR7 memory, including showing both front and back sides of the PCB for clamshell cards.
Thanks to Paulo Games, who initially found these sensors and shared his discoveries with the project.
-
Improved initial setup
When installing LACT, you have to enable the system service in order to use a lot of the functionality.
Previously, you would get a dialog telling you to copy and run a command to enable the service.
Now, there is an interactive wizard to manage the service. This should make the setup process easier for new users:

-
GTT memory usage display on AMD
There is now a status bar for GTT (GPU accessible system memory) usage. This is particularly useful on iGPUs to see if you are hitting the size limit when running VRAM-heavy applications.
-
Other improvements:
- You can now force dark/light theme preference from app settings
- Reloading settings on suspend/resume is now more reliable
- Setting profile hook commands now requires admin auth through polkit
lact cli detach/reattachcommands have been added to allow to "release" a GPU from LACT. The target use case is to temporarily ignore a GPU in order to allow it to be attached to a VM.
Packaging info
LACT now ships a polkit policy file. It is automatically installed with make install.
Full changelog:
π Features
- (#1101) Auto/force light/force dark color scheme preference (#1103) by @GabMus
- Add GTT usage bar (#1053) by @ilya-zlobintsev
- Use polkit auth for admin actions (#1109) by @ilya-zlobintsev
- Support nvidia powermizer (#1092) by @makarov-roman
- Add hotspot sensor read for blackwell (#1122) by @ilya-zlobintsev
- Add per-memory-chip temperatures for Nvidia GDDR6X/GDDR7 (#1125) by @ilya-zlobintsev
- Add detach/reattach option to temporarily ignore a GPU (#1123) by @ilya-zlobintsev
- New service setup GUI (#1043) by @ilya-zlobintsev
- Improve service setup dialog (#1131) by @makarov-roman
- Support nvidia voltage boost (#1133) by @makarov-roman
- Enable autostart during the service setup (#1146) by @ilya-zlobintsev
π Bug Fixes
- Blackwell nvapi temps parsing (#1096) by @makarov-roman
- Add workaround for amd broken p-state indexes (#1097) by @makarov-roman
- Properly clean up service setup dialog after it closes by @ilya-zlobintsev
- Dont show service setup dialog on tcp connections by @ilya-zlobintsev
- Broken padding on nvidia fan control (#1144) by @makarov-roman
- Use consistent reset/default terminlogoy (#1145) by @makarov-roman
- Correctly set "enable editing" in VF curve editor init (#1148) by @ilya-zlobintsev
π Refactor
- Nvidia-voltage-boost (#1134) by @makarov-roman
- Gpu stats section (#1132) by @makarov-roman
β‘ Performance
- Update stats micro optimizations (#1137) by @makarov-roman
β Miscellaneous Tasks
- Update spec files for release v0.9.1 (#1091) by @github-actions[bot]
- Bump flatpak runtime by @ilya-zlobintsev
- Add GIGABYTE RX 9070 Gaming OC by @ilya-zlobintsev
- Remove system uptime check on startup (#1102) by @ilya-zlobintsev
- Bump tar dependency by @ilya-zlobintsev
- Avoid needlessly formatting values with .0 in graphs (#1104) by @ilya-zlobintsev
- Update vendored nvidia headers and vulkan spec, add makefile entries for update (#1105) by @ilya-zlobintsev
- Update rust deps (#1110) by @makarov-roman
- Bump gtk feature gate to v4_14 (#1115) by @makarov-roman
- Accumulate GPU reload events centrally (#1129) by @ilya-zlobintsev
- Add launchpad mirror URLs in flatpak build by @ilya-zlobintsev
- Clippy fixes by @ilya-zlobintsev
- Exclude mtd from debug snapshots to make it faster on intel by @ilya-zlobintsev
- Update i18n-embed-fl to 0.10.1 (#1138) by @makarov-roman
- Improve settings apply tests by @ilya-zlobintsev
- Fix powerset feature compilation by @ilya-zlobintsev
- Replace SplitButton with a separate CheckButton in service setup dialog by @ilya-zlobintsev
- Prepare for release by @ilya-zlobintsev
v0.9.1
[0.9.1] - 2026-06-25
Highlights:
-
Display information
LACT will now show information about the connected displays.
Currently it is quite basic, but it does show the active connection information for DisplayPort:
-
Nvidia VF curve editor improvements
The curve editor now works on Turing (RTX 2000/GTX 1600 series) GPUs.
It is also now possible to select a section of the VF curve, and move all the points in it together:
-
Improve handling of the power cap on AMD
Previous versions of LACT would crash on RDNA3 (RX 7000 series) cards when running 7.0.13/7.1 kernels due to an AMD driver regression where the power limit is reported as 0.
The driver bug should be fixed shortly, but these improvements will keep LACT functioning meanwhile.Additionally, the same driver changes for RDNA3 also affected the allowed power limits, leading to a lowered maximum limit on some cards.
This is now handled more gracefully on LACT's side, so that existing configs that might have an older, higher power cap will still be applied properly. -
Faster UI startup
LACT now starts much faster by fetching Vulkan/OpenCL info in the background, rather than waiting for it at startup.
There is also a cool loading animation on the software page while this info is not ready. -
QOL UI improvements
- Process search in the profile editor will no longer show garbage empty-name processes, and the search is case-insensitive
- Window size is now remembered across restarts
- App references and exit now have keyboard shortcuts
- The historical graphs edit options are now behind a sliding banner
- Information/Error dialogs across the app are now more consistent
-
Nvidia target temperature setting is no longer mutually exclusive with a custom fan curve
-
AMD deep sleep p-state is now properly shown in the p-states list
-
Reloading devices (such as on suspend/resume) no longer leaks AMD DRI file descriptors
Support
If you wish to support LACT development, please consider donating on Github sponsors or on Patreon.
Packaging info
libdisplay-info is a new system dependency.
It is required by default, but it is possible to build LACT without it by disabling the display-info cargo feature.
Full changelog:
π Features
- Improve profile process rule selector (#1003)
- Consolidate MessageDialogs under generic InfoDialog (#997)
- Add hold/release cookie mechanism for profile state management (#995)
- Remember window size (#1022)
- Rework app menu using actions; add keyboard shortcuts for preferences and quit (#1028)
- Use revealer for graphs window edit mode toolbar (#1029)
- Add custom loader (#1031)
- Support amd deep sleep state (#1035)
- Use banner instead of dialog to signal daemon reconnection (#1044)
- Add range selection feature for VF curve editor (#1032)
- Add displays info (#1052)
- Handle VF curve without vf_tuple_base (Turing) (#1066)
- QOL for displays info (#1085)
- Add option to flatten VF curve selection (#1084)
- De-couple nvidia target temp from amd pmfw target temp (#1086)
π Bug Fixes
- Detect typed input in clock adjustment spinbuttons (#1008)
- Bump libdrm_amdgpu_sys to 0.8.14 (#1018)
- Avoid leaking amdgpu device descriptors on reload (#1020)
- Bump amdgpu-sysfs with deep sleep pstate handling (#1021)
- Bump flatpak sources
- Fix regression with dirty init state (#1027)
- Missing fan curve options on nvidia (#1034)
- Wrap flatpak service startup with bash (#1039)
- Gracefully handle missing get_device_api_info in daemon
- Gracefully handle missing get_device_api_info in daemon
- Correct nvidia fan curve pwm to percent conversion (#1055)
- Use host PATH variable when enabling AMD OD from inside flatpak (#1070)
- Make UI tolerate power cap being reported as 0 (#1072)
- Libdisplay-info dependency on debian-based systems (#1077)
- Raise main window for apply confirmation (#1078)
- Automatically clamp power cap to the allowed range on AMD (#1080)
- Derive V/F curve bounds from offset limits (#1083)
- Raise main window on errors
- Nvidia displayport2 bandwidth calculation (#1090)
π Refactor
π Documentation
- Add Solus in installation section of README (#990)
- Fix API documentation links (#1014)
- Mention nvidia VF curve in README
β‘ Performance
- Optimize gui bootstrap (#1023)
- Avoid unnecessary ui config rewrite on startup (#1040)
- Fetch Vulkan/OpenCL info asynchronously after startup (#1046)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.9.0 (#988)
- Add debug log for p-states initial load (#1016)
- Add Turkish translations (#1011)
- Improve p-state reads logs (#1019)
- Update vulkan schema to 1.4.351
- Add Gigabyte RTX 4070 Ti Super WindForce Max OC to device ids (#1026)
- Move gpu test data to a shared directory (#1037)
- Make clippy warnings fail CI, fix them (#1038)
- Bump libdrm-amdgpu
- Add another GIGABYTE 9070 XT to device_ids.json (#1049)
- Use tokio local runtime instead of LocalSet (#1050)
- Supress clippy warning
- Prepare for new release
v0.9.0
[0.9.0] - 2026-04-25
This is a pretty big release, with major UI changes and a long-awaited feature for Nvidia users.
Primary changes:
-
UI Update (#951, #972, #975 and others)
The UI has been reworked with a new layout and lots of styling changes. Overall, it should be much nicer to look at and use, without sacrificing information density.
An important technical change is that LACT now utilizes libadwaita, rather than plain GTK4. The focus in GTK development over recent years has been almost entirely on libadwaita, and this decision allows LACT to make use of various new widgets, layouts and other improvements from the ecosystem.
For the KDE users who are worried about the application looking out of place with the rest of the system, there is an in-app Breeze theme option that will be enabled automatically if Breeze is your system theme. It should in fact look better than before, as the global breeze-gtk theme often did not work well with GTK4 and caused elements to be missized or have missing icons.
-
Nvidia Voltage-Frequency Curve Editor (#957)
While previously considered not to be available on Linux, LACT now has a VF curve editor for Nvidia GPUs that allows for more precise tweaking in a similar manner to Windows tools such as MSI Afterburner.
An very important note is that this editor relies on entirely undocumented driver functionality, and as such there are zero guarantees regarding its stability or safety. There haven't been any issues discovered during testing and the behaviour has been cross-compared with known Windows tools. But nothing stops Nvidia from removing it in a future driver version for example.
I also want to express my thanks to @Ristovski, who has helped with the reverse engineering efforts to get this feature working.
-
Nvidia target temperature setting (#917)
Also known as acoustic target, this option allows you to set the target temperature that the card will try to maintain, without needing to use an entirely custom fan curve.
-
AMD Hardware blocks information reporting (#942)
You can now see which hardware IP blocks your AMD GPU has.
For example, this can be useful to check which hardware encoder (VCN) generation you have. -
More AMD hardware quirks
-
Better Flatpak service reliability (#902 and a few others)
This makes the host service that's installed by the Flatpak version work more reliably across different setups.
One notable case is that this resolves permissions errors with Nvidia GPUs on systems with AppArmor (most Ubuntu-based distributions)
Packaging info
Notable dependencies on this version:
- Rust 1.93+
- libadwaita 1.5+
- GTK 4.14+
Due to the increase in the minimum GTK version requirement, packages for Ubuntu 22.04 and Debian 12 have been dropped.
Full changelog:
π Features
- Refactor formatters and add gui tests (#883)
- Disable scroll on adjustment row inputs (#879)
- Add css loader (#891)
- Don't depend on dbus for flatpak service operation, force unconfined apparmor (#902)
- Update flatbox version with better /run handling
- Update flatbox version with better extension handling
- Improve pstates UI (#896)
- Support multi-column layout for adjustment-rows lists (#892)
- Improve gpu stats UI (#903)
- Add support for nvidia acoustic target temp (#917)
- Enable adwaita by default, add theme selector and detection (#931)
- Groom adwaita build (#930)
- Report AMD IP info (#942)
- Add level bar animation (#911)
- Restrict content max width (#944)
- Move header gpu picker to dedicated component (#934)
- Point hover effect in fan curve (#947)
- Show fan speed in stats section
- New UI layout with sidebar (#951)
- Add Nvidia VF curve editor (#957)
- Filter out "non-primary" temperatures for immediate display, move them to a popdown (#959)
- Sync selected page title into content's Toolbox header (#964)
- Use adwBanner to show enable AMD OC message (#965)
- Use interleaved sclk/mclk write on GCN (#974)
- Modernize overdrive dialog UI (#975)
- Remove some redundant category titles (#980)
- Rework preferences popover (#972)
- Groom features window (#985)
- Groom process monitor (#984)
- Groom charts dialog (#983)
- Groom profiles (#986)
π Bug Fixes
- Correctly show OC requirement message with overdrive disabled on RDNA3+
- Deduplicate vulkan device (#884)
- Bump flatbox version again
- Bump pkger version (#910)
- Docker daemon shenanigans causing failing package builds (#912)
- Tolerate unsuccessful clock offset reset (#918)
- Fix coverage build in CI (#924)
- Regression in clocks_frame widget (#928)
- Bump bindgen to build on clang 22 (#941)
- Add phoenix to manual preformance level quirks (#948)
- Properly display reverted config on settings timeout
- Remove scale decimals in vf curve (#963)
- Unnecessary curve overwriting
- Only show amd oc banner with an amd gpu selected
- Incorrect scrollbar position when clamped, better spacing around content (#971)
- Apply no_scroll fix to SpinButtons on thermals page (#981)
- Correctly disable navigation after panic event (#987)
πΌ Other
- Bump minimum distro versions (#927)
- Add fedora 44 and ubuntu 26.04 builds, add cache for docker images (#961)
π Refactor
- Use adwaita AlertDialog for settings confirmation
π Documentation
- Add CONTRIBUTING.md (#982)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.8.4 (#873)
- Add renovate for dependency updates (#875)
- Update rust to 1.93.0 (#876)
- Fix pkg recipe rust version
- Update to rust 2024 edition (#889)
- Add Acer B580 Nitro device id
- Bump dependencies
- Upd time to 0.3.47 (#901)
- Translated using Weblate (Arabic)
- Translated using Weblate (Catalan)
- Translated using Weblate (Czech)
- Translated using Weblate (Spanish)
- Translated using Weblate (French)
- Translated using Weblate (Georgian)
- Translated using Weblate (Polish)
- Translated using Weblate (Portuguese (Brazil))
- Translated using Weblate (Chinese (Simplified Han script))
- Bump rust dependencies
- Bump flatbox version
- Update system dep list in readme
- Remove hoverable effect from non clickable info rows (#943)
- Bump dependencies
- Fix adw navigationpage title warning
- Bump rustls-webpki
- Improve sidebar look (#962)
- Translations update from Fedora Weblate (#954)
- Added translation using Weblate (Serbian) (#960)
- Bump version
- Use
jiffinstead ofchrono(#978) - Update dependencies (#979)
- Update PageSection api to handle better hide_visible_container prop (#970)
- Use adwaita dialog for reconnecting message
- Translations update from Fedora Weblate (#969)
- Translated using Weblate (Serbian) (#977)
- Update screenshots and prepare new release
v0.8.4
[0.8.4] - 2026-01-25
This release primarly contains various UI refinements and bugfixes.
Primary changes:
-
UI Improvements
There have been various interface improvements in this release (mostly contributed by @makarov-roman).
The OC page received the most changes:
There are also various QOL changes, such preserving the selected tab between app restarts, dragging the fan curve is now more responsive, and the process monitor handles long process names correctly.
Additionally, the historical graphs window no longer looks blurry when using fractional scaling. It also now uses fewer system resources for rendering.
Overall the UI is now more consistent and should be nicer to use. -
Docker packaging
LACT is now available as a Docker image. This image only includes the daemon/CLI without the UI, is primarily intended for headless servers.
An example use case is using LACT as a metrics exporter on a server with an Intel ARC card for transcoding. -
Additional power sensors are now available on AMD
For example, you can now have a graph for CPU/GPU power usage split on mobile APUs.
-
Notable bugfixes/improvements:
- The daemon no longer needlessly keeps AMD GPUs with ROCM OpenCL awake
- Various dialog windows no longer leak memory when repeatedly closing/opening them
- Reconnecting to
gamemodedno longer leaves zombie dbus listener processes - The
skintemperature sensor no longer shows thousands of degrees on certain mobile AMD platforms - Stats fetching on AMD is now more efficient
- Panics in the GUI will now show an in-application bug screen, instead of hanging the application
- Vulkan schema has been updated to 1.4.340 (this includes showing if the widely anticipated
VK_EXT_descriptor_heapextension is supported)
Full changelog:
π Features
- Update fedora versions for builds
- Allow moving fan curve ponts by dragging outside the curve area (#825)
- Add docker image (#794)
- Correctly handle fractional scaling in historical graphs (#829)
- Add readings for extra power sensors (#833)
- Fetch OpenCL info through
clinfo, show multiple OpenCL platforms (#836) - Remember selected ui tab between restarts (#842)
- Support unattended setup for flatpak (#835)
- Add fan speed value on OC page (#848)
- Oc page move buttons to pageContent header (#853)
- Update defaults for PageContent and InfoRow (#854)
- Improve spacing and margins on gpu/profile select (#860)
- Add crash page and handle panic (#858)
- Update apply toolbar and move scrollwindow to apps.rs (#861)
π Bug Fixes
- Avoid applying custom zero rpm setting when using static fan control (#810)
- Skin sensor scale
- Add missing file
- Workflow typo
- Use correct registry for docker
- Revert download-artifact action version
- Show units in bar size
- Filter out bogus extra clockspeed values, add phoenix test data
- Set single-line mode on process name in process monitor (#839)
- Properly clean up gamemode listener busctl processes (#840)
- Replace removed checkmark icon in vulkan info (#849)
- Replace broken icons (#851)
- Memory leaks in multiple dialogs due to reference cycles (#855)
- Get kernel version through uname syscall instead of a command (#859)
- Use pstate index instead of list index to set active p-state (#867)
- Icon install directory (#862)
π Documentation
- Update funding links
β‘ Performance
- Fix excessive cubic spline interpolation density (#818)
- Avoid re-reading metrics for throttle info on amd (#857)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.8.3 (#803)
- Bump flatpak dependencies
- Translated using Weblate (Spanish)
- Translated using Weblate (Hebrew)
- Translated using Weblate (Spanish)
- Translated using Weblate (Hebrew)
- Disable fedora 43 build for now
- Add documentation for docker image
- Bump vulkan schema
- Make test output less spammy
- Exclude hostname from service logs in debug snapshots
- Remove old symlink
- Bump dependencies
- Hide fan control oc requirement message when there are no fans
- Don't show power cap in stats when it is not available
- Don't show decimal places for power cap
- Avoid re-fetching gpu metrics for target_gfxclk
- Add r7 240 (oland) test data
- Remove old drm device retry check on initialization
- Translated using Weblate (Catalan)
- Translated using Weblate (Catalan)
- Translated using Weblate (Spanish)
- Translated using Weblate (Finnish)
- Bump vulkan schema to 1.4.340
- Translated using Weblate (Hungarian)
- Translated using Weblate (Arabic)
- Translated using Weblate (Czech)
- Translated using Weblate (German)
- Translated using Weblate (Finnish)
- Translated using Weblate (French)
- Translated using Weblate (Hungarian)
- Translated using Weblate (Italian)
- Translated using Weblate (Georgian)
- Translated using Weblate (Portuguese (Brazil))
- Update metainfo for new release
Packaging
v0.8.3
[0.8.3] - 2025-11-20
This is primarly a bugfix release, but there are minor feature additions too.
-
Additional metrics are now available for AMD GPUs, such as extra temperature sensors and voltage readings.
They are not shown by default, and can be added by editing the graphs window.
-
Gamemode detection now supports multiple gamemode daemons (applicable when several users on the system use gamemode)
-
Fixed stats poll interval being set to 0 on new installs, enforce allowed value range for existing installs
Full changelog:
π Features
- Listen to gamemode events from all instances (#782)
- Match OpenCL device by unique vendor as fallback (#791)
- Round fan curve values when editing (#797)
- Add extra temperature and voltage readings on AMD (#798)
π Bug Fixes
- Profile watcher getting stuck when reloading (#781)
- Fix service description in systemd to include LACT name (#783)
- Set correct poll interval by default, enforce minimum value (#802)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.8.2 (#779)
- Generate rpm spec changelog entries with correct links
- Update metainfo
- Translated using Weblate (German)
- Translated using Weblate (Finnish)
- Translated using Weblate (Italian)
- Translated using Weblate (Russian)
v0.8.2
[0.8.2] - 2025-10-18
Main changes:
-
OpenTelemetry metrics exporter
The daemon now supports exporting GPU metrics to an OpenTelemetry-compatible server.
This is primarly useful for server setups, when you want to have a history of GPU usage over time.See the docs for how to enable it.
-
CLI additions
The previously very basic CLI now has more functionality. New commands:
lact profilefor managing settings profiles, such as setting the current profile or toggling automatic switchinglact power-limitfor power cap configurationlact statsfor GPU monitoring
-
UX Improvements
- On a multi-GPU system, the UI will now default to selecting the first detected dGPU (previously the iGPU was often the default option)
- Historical charts now show the average stat value (hidden behind the info button)
- Historical charts are now more responsive to input (such as resizing the window or editing stats)
- It is now possible to change the stats polling rate in the UI for reduced resource usage
- Dynamic numbers in the UI now use mono fonts to avoid the text sliding around (it was noticeable with the new default Gnome font)
-
Flatpak improvements
- The UI will now use a dark theme based on system preference (See #585 for more info - the lack of full theming support is a flatpak limitation in GTK4 apps)
- Automatic profile switching based on
gamemodebeing active now works in flatpak - Flatpak build bundles are now included in GitHub releases
-
Various translation updates
Thanks to community contributions on Weblate, LACT is now fully localized in German, French, Czech, Portuguese, Chinese and Arabic (barring RTL language issues), as well as several other languages that are partially translated.
-
Intel Battlemage power limit setting fix
Full changelog:
π Features
- Show latest plot frame as soon as it is available
- Include flatpak bundle in github release files
- Gamemode watcher through busctl cli instead of seteuid trickery (#721)
- Add average value to detailed graph legend text, hide details by default (#722)
- Select first dedicated GPU by default
- Configurable stats poll interval (#739)
- Add support for new intel power cap reporting (#745)
- Detect device features on the daemon side, disable more ui elements for what's not supported (#750)
- Use sccache for CI caching (#757)
- (cli) Add profile info and -switcher to cli (#760)
- Add power limit subcommand to cli (#763)
- Opentelemetry metrics exporter (#776)
- Basic CLI command for fetching stats
- Override GTK theme to dark variant during flatpak launch when dark system preference is set, and no custom theme is used (#778)
π Bug Fixes
- Pcie link gen typo on nvidia
- Correctly write power cap with alternative file name on intel (#747)
- Use all features in CI (#744)
- Make trying to apply missing hardware options on intel non-fatal
- Translation file syntax
- Set min width for thermals input to account for broken gtk themes (#758)
- Use mono font so text doesn't shift when numbers are changed (#759)
- (flatpak) Don't output startup success for flatpak cli (#769)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.8.1 (#704)
- Update metainfo
- Update bazzite install instruction
- Fix broken Markdown link (#711)
- Translated using Weblate (Arabic)
- Translated using Weblate (German)
- Translated using Weblate (French)
- Translated using Weblate (Italian)
- Translated using Weblate (Georgian)
- Translated using Weblate (Polish)
- Translated using Weblate (Russian)
- Translated using Weblate (Thai)
- Translated using Weblate (German)
- Translated using Weblate (Georgian)
- Translated using Weblate (Polish)
- Translated using Weblate (Russian)
- Added translation using Weblate (Thai)
- Improve daemon reconnect window
- Better describe available features in README
- Add clippy check in CI (#729)
- Use rust-cache Github Action to cache dependencies and target dir in CI (#731)
- Fix clippy warning from stable (#735)
- Add CI cargo audit (#732)
- Add Miri to CI (#733)
- Avoid using quay lib container images (#738)
- Add CI test coverage (#734)
- Run codecov on master too
- Update cargo audit and fix vulnerable version of tracing subscriber (#741)
- Cache dependencies install in CI (#742)
- Translated using Weblate (Arabic)
- Update translation files
- Translated using Weblate (French)
- Update translation files
- Update translation files
- Translated using Weblate (Georgian)
- Translated using Weblate (Polish)
- Translated using Weblate (Portuguese (Brazil))
- Update translation files
- Translated using Weblate (German)
- Fix readme typo
- Implement CI check for feature powerset (#743)
- Add ASAN/MSAN/TSAN/SAFESTACK to CI (#740)
- Add b580 test snapshot
- Bump amdgpu-sysfs
- Update dependencies, adopt gtk4 changes
- Bump vulkan schema
- Make the remaining strings localizable
- Fix formatting
- Reduce spacing in dropdown menu
- Translated using Weblate (Arabic)
- Translated using Weblate (French)
- Translated using Weblate (Italian)
- Translated using Weblate (Portuguese (Brazil))
- Translated using Weblate (Russian)
- Translated using Weblate (Chinese (Simplified Han script))
- Translated using Weblate (Chinese (Simplified Han script))
- Translated using Weblate (Czech)
- Translated using Weblate (Finnish)
- Translated using Weblate (Georgian)
- Translated using Weblate (Chinese (Simplified Han script))
- Translated using Weblate (Czech)
- Translated using Weblate (Finnish)
- Translated using Weblate (Chinese (Simplified Han script))
- Bump easy_fuser dependency, remove override
- Update metainfo for new release
Support
If you wish to support LACT development, please consider donating on Patreon.
v0.8.1
[0.8.1] - 2025-08-07
Notable changes:
-
Full V/F curve editing for older AMD GPUs
The RDNA1, Vega and Polaris GPU generations now expose all of the voltage/frequency points in the UI, and not just the minimum and maximum values like previously.
Example from a Vega 56:
Note: this it not available on RDNA2/3/4 and likely won't be, as the newer generations are different on the driver level, and use a voltage offset value rather than specific curve points.
-
Profile hooks
You can now specify custom commands to be executed when a settings profile gets activated or deactivated:
-
Localization
LACT now supports localization to different languages! There are still a few UI elements that don't allow translations, but there are already several languages that cover most of the UI.
You can also contribute translations using Weblate.
-
Improved functionality to enable/disable AMD overclocking
The AMD OC enable/disable UI has been updated to be more clear, and to point to enabling OC with a boot flag if automatic setup is not supported on the current system.
Additionally, the builtin option now works on Fedora Atomic systems (including Bazzite).
-
Lowest/Highest performance levels are now applied correctly when combined with custom clock settings on RDNA GPUs
-
Detailed GPU cache info reporting on AMD
-
Fixed extra Nvidia information (such as ROP count) fetching on multi-GPU systems
Packaging info
Starting from this release, -libadwaita variants of packages are no longer provided. See #526 for the reasoning and how to get the libadwaita look using the normal package.
Building from source with libadwaita is still supported to not break third party packages, but it will be removed later.
Support
If you wish to support LACT development, please consider donating on Patreon.
The previous Ko-Fi and Liberapay links turned out to be non-functional due to PayPal issues.
Full changelog:
π Features
- Skip ppd actions disable for tuned-ppd (#643)
- Run chown as a host command from flatbox to work around apparmor restrictions (#653)
- Use cmdline as fallback for process name when exe is not available
- Add profile command hooks (#656)
- Show device type (integrated/dedicated) (#657)
- Initial localization support (#669)
- Expose full V/F curve for GCN and RDNA1 (#676)
- Read AMD cache size info from kfd sysfs (#623)
- Updated overdrive enable logic with rpm-ostree support (#694)
- Use friendy names in device list, bump libdrm-amdgpu
π Bug Fixes
- Use dbus-run-session instead of dbus-launch for flatpak daemon launch
- Prevent switching fan control modes on gpus without a fan
- Clockspeed slider on rdna1
- Write lowest/highest performance level after clocks settings (#677)
- Correctly set Nvidia GPU ID in driver device alloc (#702)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.8.0 (#636)
- Vendor pci.ids file for test purposes
- Update sponsorship info
- Add Bazzite installation info (#662)
- Update device_ids.json with GIGABYTE RX 7700 XT Gaming OC (#666)
- Use more generic opencl dependency in fedora copr package
- Bump fedora pkg release
- Add patreon link
- Bump dependencies
- Add ps4 id friendly names
- Add faq link to readme
- Allow multiple configs per test gpu data, add second 7800xt test
- Drop libadwaita package (#555)
- Translations update from Fedora Weblate (#684)
- Translations update from Fedora Weblate (#683)
- Translated using Weblate (Arabic)
- Add localization info
- Uppercase BAR (#685)
- Translated using Weblate (Arabic)
- Move most profile editor element text into translation strings (#691)
- Build packages without signing with empty gpg key to fix ci from forks
- Update string
- Translated using Weblate (French)
- Translated using Weblate (Arabic)
- Translated using Weblate (French)
- Added translation using Weblate (Italian)
- Translated using Weblate (Portuguese (Brazil))
- Translated using Weblate (French)
- Added translation using Weblate (Italian)
- Translated using Weblate (French)
- Translated using Weblate (Italian)
- Translated using Weblate (Portuguese (Brazil))
- Translated using Weblate (Italian)
- Fix double build for signed packages
v0.8.0
[0.8.0] - 2025-06-28
Main changes:
-
More advanced profile management
You can now set multiple conditions to trigger profile activation, such as having any or all processes in a list running:

It is now also possible to export and import profiles to json files.
-
Process monitor
There is a new process monitor window (available from the dropdown menu on the top right) showing the list of processes that are using the GPU, with engine load and VRAM usage stats:

The monitor is supported on all 3 GPU vendors (using
/procfdinfo on AMD/Intel and NVML on Nvidia) -
More Nvidia metrics
The following new readings are now available on Nvidia: GPU voltage, GPU hotspot temperature, VRAM temperature (GDDR6 only):

Big thanks to @Ristovski who helped with figuring out on how to fetch this information.
-
Power profiles daemon integration
Previously when running LACT together with power-profiles-daemon, ppd would override some settings as it has its own amdgpu management features. Now LACT detects if power-profiles-daemon is present on the system, and will automatically disable the conflicting functionality through ppd's dbus API (without affecting anything else that ppd manages).
Note: this needs power-profiles-daemon 0.30 or later to work.
-
Flatpak service improvements
The service in the Flatpak version of LACT has been updated to use flatbox. This makes it work more consistently across different system setups as it avoids the need for the system service to directly call
flatpakas another user to run the service.Note: after updating, you will be prompted to re-setup the service. This is normal, and is needed to update the systemd unit to the new format.
Warning as of 2025-06-30, the updated Flatpak package currently has some issues with AppArmor on Ubuntu-based distributions: #647
Important notes:
- RDNA4 GPUs now require kernel 6.14 or later for overclocking to work. Older kernels had broken clockspeed control behaviour that LACT contained a workaround for, and this workaround has now been dropped. See #599 for more info.
- There is a new workaround for RDNA3 constantly reporting thermal throttling, it should now be reported only when it's actually affecting performance.
- If multiple Vulkan drivers are available (such as both RADV and AMDVLK), LACT will now let you select between them on the software page.
If you enjoy using LACT, please consider supporting its development:
Full changelog:
π Features
- Update libdrm-amdgpu-sys with RDNA3 hotspot throttle workaround
- Support exporting and importing profiles (#579)
- Support profile rules with and/or conditions (#582)
- Better PCIe link speed display
- Use updated libcopes from crates.io, update bindgen
- Include more information in debug snapshots (#608)
- Store plot configs per-gpu (#610)
- Automatically disable conflicting power-profiles-daemon actions (#615)
- Automatically normalize initial fan curve (#617)
- Report memory bus width on nvidia
- Query additional Nvidia metrics via NvAPI (#625)
- Allow selecting between multiple vulkan drivers (#632)
- Add process monitor (#633)
- Include new nvidia readings in default plot layout
- Flatpak daemon via flatbox (#635)
π Bug Fixes
- Depend on generic OpenCL library name in rpm packages (#572)
- More correct process event iterator handling (#580)
- Avoid incorrectly setting p-state list when it is not configured
- Bump flatpak generated-sources
- Non-drm pcie link speed fallback
- Do not return an error in the middle when enumerating OpenCL devices (#591)
- Use correct PCIe link info on AMD
- Use PCIe port link info for AMD GPU (#592)
- Look for first non-zero energy reading on intel
- Avoid deserialization error with old vulkan format response
- Rename vulkan info field for backwards compat
- Test data
- Avoid misleading log about ppd being present when it actually isn't
βοΈ Miscellaneous Tasks
- Update spec files for release v0.7.4 (#570)
- Bump fedora pkg release
- Gray out the ui when switching GPUs
- Set CARGO_NET_GIT_FETCH_WITH_CLI to resolve slow gitlab dependency clone
- Simplify p-states UI code
- Update README screenshots (#589)
- Add cachyos to distro detection list
- Update flatpak generated-sources
- Replace unmaintained serde_yaml library
- Update flatpak sources
- Use PHONY targets in Makefile (#596)
- Drop workaround for broken RDNA4 clock offset format on older kernels (#599)
- Update easy_fuser to v0.4.1 (#603)
- Add note explaining nvidia overclocking options, don't toggle "Show All P-States" (#604)
- Update metainfo screenshot links
- Drop process listener inactivity workaround (#619)
- Switch to upstream nvml-wrapper
- Update vulkan definition
- Update test snapshots
- Update flatpak doc to reflect the flatbox implementation
- Update metainfo for new release
v0.7.4
[0.7.4] - 2025-05-11
This is mainly a refinement release, but there are some new features as well. Key highlights:
-
New fan control UI
The custom fan curve UI is now an actual curve that you can drag around, instead of being a series of sliders.
There is now also an option in the UI to set which temperature sensor is used for the curve (this only works on 6000 series and older AMD cards due to hardware limitations).
-
Automatic fan mode threshold on Nvidia
Most Nvidia GPUs support turning the fan off below a certain temperature, but this only works in the automatic fan control mode. When using manual controls such as a custom fan curve in LACT, the GPU limits possible fan speeds between 30% and 100%.
It is now possible to work around this by switching the fan control to automatic below a configured temperature, allowing the fan to turn off at lower temperatures even when using a custom curve. -
More information reporting
There is some new information that is now reported by LACT:
- OpenCL details, including supported versions and basic hardware properties
- GPU instruction set version on AMD
- ROP count on AMD
-
New config API
There is a new API for GPU configuration in the unix socket that reuses the same format as the config file.
Thanks to this new API, the GUI will now ask confirmation for all settings (and automatically revert if not confirmed), while previously this only worked for clockspeed/voltage settings. -
Finished GUI refactor
All UI components now use the Relm4 library to define GTK UIs. This also resolves some problems with the UI starting to lag after applying settings serveral times related to GTK signals handling in the old implementation.
Additional notes
-
LACT is available on Flathub!
Note: the Flatpak version of LACT installs a system service outside of the sandbox. This might not work on unconventional setups such as NixOS or systems with an encrypted home directory. In such cases you should to stick to native packages for the time being.
-
This version still provides libadwaita-flavoured packages, but they will be dropped in the future. The only difference between the normal and libadwaita editions is the default theme. See #526 for further justification and how you can get the libadwaita look using the normal version.
-
If you find LACT useful, please consider sponsoring on liberapay or ko-fi
Packaging info
LACT now requires libOpenCL.so.1 (usually present in the ocl-icd package) to display OpenCL information.
Full changelog:
π Features
- Support multiple temperature sensors on intel (#541)
- New GPU config socket API (#546)
- Show ISA version (#552)
- Show OpenCL info, move Vulkan to software tab (#553)
- Support querying opencl amd topology
- Show a warning when using old nvidia driver versions
- Add LACT_PCI_DB_PATH env variable, use pci db from runtime in flatpak service (#558)
- Add hyperlink for git commits
- Show device id in gpu selector
- Show ROP info on AMD, better VRAM info display (#565)
- New fan control UI (#566)
- Zero RPM support on nvidia via automatic fan mode threshold temp (#567)
- Show temperature key option in the UI when it is supported (#569)
π Bug Fixes
- Set socket permissions after running config migrations
- Embedded daemon with newest tokio
- Intel subslice count
- Show correct message when enabling oc
π Refactor
- Make performance and power states frames into relm components (#554)
βοΈ Miscellaneous Tasks
- Update spec files for release v0.7.3 (#527)
- Update device_ids with Gigabyte 9070 XT Elite (#528)
- Add sapphire RX 6600 pulse name to device db (#529)
- Add ASRock Challenger D RX 5500 XT OC GPU Name (#531)
- Add PowerColor RX 7900 XTX Red Devil to database (#533)
- Update XFX Swift RX 9070 XT in device_ids.json (#536)
- (lact-daemon) Make nvidia bindgen feature as optional ... (#538)
- Set commit properly in fedora spec
- Update metainfo releases list
- Sync flatpak manifest with flathub repo
- Automatically add flatpak admin user to existing configs
- Add flathub link to readme
- Update issue template
- Expand metainfo (#545)
- Bump dependencies
- Update flatpak sources
- Update fedora package list in readme
- Size vulkan and opencl info sections correctly when info is missing
- Put the OC page stats into a FlowBox, hide unavailable stats (#564)
- Drop itertools dependency
- Update old program description
- Switch cl3 to git source with library name fix
- Add clarification to daemon setup note
- Improve vram type text
- Add release to metainfo
Pkg
- Include metainfo file in fedora spec

