Commit Graph

626 Commits

Author SHA1 Message Date
Ilya Zlobintsev
79e827ea1f
pkg: manually set commit hash in fedora spec files (#462)
* pkg: try to use git source in fedora spec

* test

* revert

* feat: manually set commit hash

* feat: manually include commit in exiting spec files
2025-02-02 14:05:47 +02:00
Ilya Zlobintsev
2ed9e1fb34 feat: show temperature sensor name on oc page 2025-02-02 13:14:15 +02:00
Ilya Zlobintsev
cb34adf4cb chore: bump pciid-parser and adopt breaking changes 2025-02-02 01:03:48 +02:00
Ilya Zlobintsev
8c3a99c65c refactor: make GpuStatsSection a relm component 2025-02-01 21:23:13 +02:00
Ilya Zlobintsev
b4b0590039 doc: add note about official arch package 2025-02-01 20:39:20 +02:00
Ilya Zlobintsev
1292f3f318 chore: bump version, update tests 2025-02-01 20:37:14 +02:00
Ilya Zlobintsev
4cec8e1456
refactor: make ClocksFrame a relm component (#459)
* refactor: make ClocksFrame a relm component

* fix: intel clock controls

* fix: avoid setting page size
2025-02-01 16:57:50 +02:00
Ilya Zlobintsev
00669745fd
feat: read vram clockspeed from drm so it works on IGPUs (#458) 2025-02-01 11:21:02 +02:00
Ilya Zlobintsev
8207369e28
doc: add power-profiles-daemon note to README 2025-02-01 09:43:35 +02:00
Ilya Zlobintsev
781e3f1793
refactor: make power cap frame into a relm component (#457)
* refactor: make power cap frame into a relm component

* chore: drop incorrect widget impl claim

* chore: bump artifact workflow

* fix: update artifact name
2025-01-31 18:35:53 +02:00
Ilya Zlobintsev
d6c8329b80
refactor: make OcPage a relm component (#456)
* wip

* fix: avoid showing apply button

* fix: reconnect signals after setting power states
2025-01-29 23:37:12 +02:00
Ilya Zlobintsev
0eea61cc7d chore: reenable opensuse build
This reverts commit e4ae499605.
2025-01-25 13:00:14 +02:00
Ilya Zlobintsev
3f278e7dbf fix: reload profile watcher in case of unresponsiveness after inactivity
should finally fully resolve https://github.com/ilya-zlobintsev/LACT/issues/448
2025-01-25 12:46:10 +02:00
Ilya Zlobintsev
4cff104c10 chore: bump dependencies 2025-01-24 23:00:11 +02:00
Ilya Zlobintsev
e35c96638c fix: bump libdrm_amdgpu_sys with versioned libdrm library path 2025-01-19 22:14:22 +02:00
Ilya Zlobintsev
e4ae499605 pkg: temporarily disable opensuse build 2025-01-18 14:32:27 +02:00
Ilya Zlobintsev
13ce56f1e6 feat: report resizeable bar on nvidia 2025-01-18 14:28:36 +02:00
Ilya Zlobintsev
48844efd46 feat: CPU accessible vram and resizeable bar reporting on intel 2025-01-18 14:15:29 +02:00
Ilya Zlobintsev
60ce6e29ae chore: better trace logging for process events 2025-01-18 10:44:19 +02:00
Ilya Zlobintsev
927e8f2b57
feat: reload GPU controller list on kernel drm events (#450)
* feat: gpu_controllers behind an RwLock

* feat: listen to netlink kernel events

* feat: wait for a period until the last drm event before reload
2025-01-17 22:50:17 +02:00
Ilya Zlobintsev
9ba8dd6588 fix: handle profile watcher reloads with gamemode reconnect correctly 2025-01-16 22:34:23 +02:00
Ilya Zlobintsev
5eb782eec4 pkg: bump fedora spec 2025-01-15 00:33:03 +02:00
Ilya Zlobintsev
b818f39954 chore: improve unknown initramfs type error 2025-01-14 23:44:14 +02:00
Ilya Zlobintsev
5077836352 chore: include version in snapshot file name 2025-01-14 23:39:54 +02:00
Ilya Zlobintsev
907c422a35 chore: fix .gitattributes 2025-01-13 22:19:51 +02:00
Ilya Zlobintsev
cdfeb9007d chore: mark include folder as vendored in gitattributes 2025-01-13 22:11:24 +02:00
Ilya Zlobintsev
ee290f3e54
feat: proper vram size and usage reporting on intel (#442)
* chore: add vangogh test data

* feat: proper intel vram reporting

* feat: vendor all header files
2025-01-13 22:00:06 +02:00
Ilya Zlobintsev
c682c78ef3
feat!: Intel support (#439)
* WIP: add initial intel xe/i915 support

* feat: basic gpu clock configuration

* wip i915 freq controls

* fix: applying frequency settings on i915

* feat: intel DRM info

* feat: show EUs and subslices in UI

* refactor: exclude all system-dependent info in tests with conditional compilation

* chore: ignore clippy errors on bindgen file

* fix: more test fixes

* feat: generate drm bindings for xe

* wip

* refactor: GPU controller initialization

* fixes

* chore: disable currently unused xe headers

* feat: dynamically load libdrm for intel

* chore: drop println

* Merge with master

* fix: tests

* chore: avoid error in vulkan when running tests

* feat: numerous i915 additions

* feat: show fan speed

* feat: hwmon monitoring on xe

* fix: avoid crashing history graph on empty plot with throttling data

* feat: report pstates

* doc: update readme

* chore: update API docs link
2025-01-12 17:16:02 +02:00
Ilya Zlobintsev
740e38863b feat: use VRAM offset ratio on Ada, add config migration system to erase old
memory clock settings
2025-01-05 11:59:26 +02:00
Ilya Zlobintsev
e93025164e refactor: simplify lact-client by removing ResponseBuffer 2025-01-05 10:14:22 +02:00
Umio Yasuno
3afbcb2221
feat: dynamic loading of libdrm and libdrm_amdgpu (#438)
* feat: dynamic loading of libdrm and libdrm_amdgpu

* fix: libdrm_amdgpu_sys requires rustc 1.80.0 for exclusive_range_pattern

* feat: update libdrm_amdgpu_sys to 0.8.1

* fix: remove Rc wrapper for LibDrmAmdgpu

* pkg: bump rust version used to build packages

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2025-01-04 15:04:07 +02:00
Ilya Zlobintsev
1d44df1652
doc: document all configuration options (#436)
* doc: add configuration docs

* add missing fields to doc

* chore: minor doc update
2024-12-31 19:30:35 +02:00
Ilya Zlobintsev
e1457cad54
fix: apply pstates correctly when clocks settings are used (#437)
* fix: apply pstates after clocks table and other settings

* fix: take vram clock ratio into account for pstates
2024-12-31 19:03:39 +02:00
Ilya Zlobintsev
08a3d5b90e dev: add test data for more RDNA2, RDNA1 and Sea Islands 2024-12-26 14:10:19 +02:00
Ilya Zlobintsev
5882cf7800 fix: save config on profile rule changes 2024-12-26 13:14:41 +02:00
Ilya Zlobintsev
f452ebed91 fix: don't check for the minimum temperature limit in custom fan curves,
as it is not reported correctly anywhere anyway
2024-12-26 13:08:59 +02:00
Ilya Zlobintsev
240d4b1477 fix: ignore temperature_key if GPU only has a single sensor 2024-12-26 13:00:44 +02:00
Ilya Zlobintsev
a7b29afe60 chore: dont show extra info in InfoRow when the value is unknown 2024-12-26 12:41:28 +02:00
Ilya Zlobintsev
4fe3c9882e fix: reload non-stats-based info in the UI when the profile changes 2024-12-26 12:37:36 +02:00
Ilya Zlobintsev
21df725c42 fix: avoid spamming error windows 2024-12-26 12:23:54 +02:00
Ilya Zlobintsev
64a2d3106b
feat: automatic profile switching based on rules (#424)
* feat: profile ordering

* feat: profile matching logic

* feat: automatic switching

* perf: optimize profile rules evaluation

* feat: detect gamemode process start

* feat: add benchmark for profiles matching

* perf: string interner, inline hot function

* feat: option to enable auto profile switching

* wip

* chore: change label

* chore: minor profile switching fixes

* chore: drop interner

* wip

* refactor: header messages

* feat: delay profile evaluation

* fix: moving profiles around

* feat: initial profile rule editor UI

* refactor: only create one RuleWindow instead of creating it per-row

* feat: add option to include profile watcher state in api response

* feat: ui for selecting process name

* feat: API endpoint to evaluate a single profile rule

* perf: store process names in a map to speed up profile evaluation

* feat: full configurability in the UI, many improvements

* fix: downgrade dependency to build on older rust

* fix: deleting currently active profile

* fix: populate profiles list when it's empty

* fix: pin project to rust 1.78

* fix: setting args

* fix: running benchmarks
2024-12-25 23:52:35 +02:00
Ilya Zlobintsev
f0a878909c
feat: configurable graphs period (#431)
* chore: update test snapshot

* feat: configurable graphs period
2024-12-22 15:13:46 +02:00
Ilya Zlobintsev
7d5d6b96e5 feat: bump amdgpu-sysfs with support for RDNA3 mobile power profile parsing 2024-12-20 00:09:47 +02:00
Ilya Zlobintsev
0625b55748
test: add tests for retrieving data from various debug snapshots (#429)
* test: add tests for retrieving data from various debug snapshots

* chore: add power profiles mode to snapshot, add rx 7700s test data

* fix: update rust workflow
2024-12-18 23:55:31 +02:00
Ilya Zlobintsev
571d5d9fcf pkg: update blueprint-builder link in deb builds 2024-12-07 21:14:22 +02:00
Red007Master
64ecff471f
doc: add example on how to change profile to API documentation (#425) 2024-11-27 10:21:32 +02:00
Ilya Zlobintsev
73adb1aba2 fix: always use applied clock offset values instead of reading them from NVML, bigger grace period for self-inflicted config changes 2024-11-24 16:45:25 +02:00
Twig6943
490929f94d
chore: update description in desktop entry (#423) 2024-11-24 15:20:05 +02:00
Ilya Zlobintsev
1ce97f682c chore: bump nvml-wrapper 2024-11-22 21:18:56 +02:00
Ilya Zlobintsev
f832369bab chore: clarify version mismatch message 2024-11-16 22:37:14 +02:00