Commit Graph

564 Commits

Author SHA1 Message Date
Alik Aslanyan
8084247d24
chore: remove unused Cargo features (#405) 2024-11-09 16:08:54 +02:00
Ilya Zlobintsev
1c06887a04 feat: add snapshot command to CLI 2024-11-09 10:53:48 +02:00
Ilya Zlobintsev
6c0733c2fc dev: don't run rust checks on master pushes, only PRs 2024-11-09 10:19:44 +02:00
Ilya Zlobintsev
3426ceb959 dev: skip building signed packages if signing secret is not found
this should prevent CI from failing when running on forks
2024-11-09 10:18:34 +02:00
Ilya Zlobintsev
3d783d6348 refactor: drop redundant ClockSettings structure in the ui 2024-11-09 10:07:57 +02:00
Ilya Zlobintsev
508dd174e5 dev: add debug builds to makefile 2024-11-08 21:04:02 +02:00
Ilya Zlobintsev
b9b8499fe7 chore: bump version 2024-11-08 20:04:11 +02:00
Ilya Zlobintsev
42de7d8d27 dev: bump workflow rust version 2024-11-08 11:01:09 +02:00
Ilya Zlobintsev
5f95a4dc12 feat: add special case for invalid throttle mask 2024-11-08 10:13:23 +02:00
Ilya Zlobintsev
4a567c3345 chore: bump dependencies 2024-11-08 00:08:45 +02:00
Ilya Zlobintsev
37ed509ba4 dev: trigger workflow on tag push 2024-11-07 22:44:16 +02:00
Ilya Zlobintsev
23abed8ad6 dev: automatically create release on tag push 2024-11-07 22:42:29 +02:00
Ilya Zlobintsev
23ab0e86e8
refactor: make info page a relm component (#404)
* refactor: drop RootStack

* refactor: make InformationPage a relm component
2024-11-07 22:35:23 +02:00
Ilya Zlobintsev
41f26c7f34 fix: deduplicate throttle status bits
should help with behaviour described in https://github.com/ilya-zlobintsev/LACT/pull/402
2024-11-07 09:01:36 +02:00
Andi Powers-Holmes
2d00ce0ecb
fix: make throttling flags ellipsized to avoid massively oversized window (#402) 2024-11-07 09:01:24 +02:00
Ilya Zlobintsev
88ba80c21b
pkg: add fedora 41 package (#399) 2024-11-02 18:44:54 +02:00
Ilya Zlobintsev
bc594da95b
feat: implement clocks control on Nvidia (#398)
* feat: initial support for clocks control on nvidia

* feat: store last applied offset, use it for reporting when needed

* chore: remove unused file
2024-11-01 23:28:57 +02:00
Ilya Zlobintsev
d0f593e655 fix: increase retry intervals when evaluating GPUs at start 2024-10-28 09:30:17 +02:00
Ilya Zlobintsev
9fcbbd2f4b chore: drop old bench feature 2024-10-27 23:35:41 +02:00
Ilya Zlobintsev
e685b186f3 chore: include service log in debug snapshot 2024-10-27 23:34:37 +02:00
Ilya Zlobintsev
7cabe614c2
feat!: add initial Nvidia support (#388)
* feat: abstract GpuController

* test?

* fix: dont re-initialize nvidia gpu

* feat: more info on nvidia

* feat: core stats on nvidia

* fix: nvidia uses milliwatts not microwatts

* feat: include device info and stats responses in debug snapshot

* chore: avoid logging msg twice

* fix: correctly handle only secondary line series being present in a plot

* feat: more reporting

* feat: support for setting the power cap

* chore: avoid trying to initialize drm for non-amd gpus

* chore: avoid drawing primary plot label when only secondary values are present

* feat: hide unknown values on the info page

* feat: report cuda cores

* chore: limit power usage value accuracy

* Threaded plot render

* Better supersampler implementation

* Better to display nothing than do long freeze

* Fix plot throttling jumping around

* Further improve rendering by using filled legend

* Spawn render thread with minimum priority

* Optimize Cairo bindings

* Simplify code as we no longer need to track initial state

Signed-off-by: Alik Aslanyan <inline0@pm.me>

* Add plotters package override for opt-level 3 in release

* Immediately react to size changes of the widget, don't wait for new data

* feat: nvidia fan control

* Scale plots in GTK, instead of Cairo for Trillinear filtering, rewrite supersampling

* feat: pstate reporting

* doc: update README to mention that nvidia is now supported

* doc: add historical data to readme

* doc: improve screenshot alignemnt

* doc: add nvidia driver note

---------

Signed-off-by: Alik Aslanyan <inline0@pm.me>
Co-authored-by: Alik Aslanyan <inline0@pm.me>
2024-10-25 23:35:26 +03:00
Alik Aslanyan
dbb24c5bd2
feat: improve plot rendering, use supersampling and do it in a background thread
* Threaded plot render

* Better supersampler implementation

* Better to display nothing than do long freeze

* Fix plot throttling jumping around

* Further improve rendering by using filled legend

* Spawn render thread with minimum priority

* Optimize Cairo bindings

* Simplify code as we no longer need to track initial state

Signed-off-by: Alik Aslanyan <inline0@pm.me>

* Add plotters package override for opt-level 3 in release

* Immediately react to size changes of the widget, don't wait for new data

* Scale plots in GTK, instead of Cairo for Trillinear filtering, rewrite supersampling

---------

Signed-off-by: Alik Aslanyan <inline0@pm.me>
2024-10-25 21:48:15 +03:00
Alik Aslanyan
d43ec9cb82
chore: set codegen-units=1 to decrease binary size in release (#390) 2024-10-22 19:04:53 +03:00
Ilya Zlobintsev
67c4aaae11 fix: retry reading p-states if the value is nonsensical 2024-10-17 09:02:33 +03:00
Ilya Zlobintsev
96bebf4ee4 fix: getting pci info in snapshot 2024-10-16 19:53:13 +03:00
Ilya Zlobintsev
96a46bb4a4 feat: include device info and stats responses in debug snapshot 2024-10-16 09:08:23 +03:00
Ilya Zlobintsev
f15990123a pkg: add libdrm to debian dependencies 2024-10-11 08:59:54 +03:00
Ilya Zlobintsev
b3443f0070
doc: move description to label in issue template 2024-10-08 19:28:07 +03:00
Ilya Zlobintsev
ab33cfda7b
doc: fix issue template yaml 2024-10-08 19:27:14 +03:00
Ilya Zlobintsev
f055a21538
doc: update issue template to mention common RDNA3 problems 2024-10-08 19:26:27 +03:00
Ilya Zlobintsev
cfe56fe5bd chore: update docs, enforce minimum rust version 2024-10-02 22:09:30 +03:00
Ilya Zlobintsev
c77fc555ac feat: show dialog when attempting to reconnect to daemon 2024-09-28 10:40:15 +03:00
Ilya Zlobintsev
b1229a3e1e chore: bump version 2024-09-28 10:03:14 +03:00
Ilya Zlobintsev
538cea3aa5
feat: add support for multiple settings profiles (#327)
* feat: initial support for multiple settings profiles

* feat: initial profiles management support

* feat: basic profile management ui
2024-09-28 09:51:35 +03:00
Ilya Zlobintsev
fa0eb3083c chore: skip serializing empty values in the config 2024-09-22 17:49:25 +03:00
Ilya Zlobintsev
4a092b7109
feat: add headless packages for RHEL (via Rocky Linux) (#380)
* feat: add headless packages for RHEL (via Rocky Linux)

* fix: rhel curl package
2024-09-22 16:14:50 +03:00
Ilya Zlobintsev
c08bdfef0b
feat: remote management over TCP (#379)
* feat: abstract daemon client

* feat: daemon TCP listener implementation

* feat: support remote connections in the UI

* feat: make the client async

* feat: add documentation about remote management
2024-09-22 14:17:33 +03:00
Ilya Zlobintsev
573a599589 feat: prevent repeated enabling/disabling of overclocking before reboot 2024-09-20 16:01:00 +03:00
Ilya Zlobintsev
e411d155da
feat: use relm4 for the UI (only main parts) (#375)
* feat: use relm4 for vulkan window

* feat: WIP relm4 for app

* feat: applying settings

* wip

* feat: implement all the main actions

* feat: avoid full reloads when they are not needed

* fix: don't save vbios dump when the dialog was cancelled

* feat: OC control

* feat: use relm for the software page
2024-09-20 15:46:33 +03:00
Ilya Zlobintsev
30df3ee11b
doc: update nixos package info 2024-09-14 15:03:45 +03:00
Ilya Zlobintsev
b4ed0aa3fc fix: remove drm feature from makefile 2024-09-13 09:52:39 +03:00
Ilya Zlobintsev
8e9c13cbf6 chore: drop support for building without libdrm
libdrm was initially added as a way to get more information, but is now
used for some crucial functionality like GPU generation and VRAM type
detection. it should always be used to avoid these things not working
2024-09-10 23:16:27 +03:00
Ilya Zlobintsev
74dda30925 feat: add option to reset all configuration 2024-09-07 22:28:15 +03:00
Ilya Zlobintsev
4007e0a360 feat: improve config change watcher logic to avoid unnecessary reloads 2024-09-07 21:56:41 +03:00
Ilya Zlobintsev
9dbce2a812
feat: show effective VRAM clockspeed in the GUI on GDDR6 (#368)
* feat: refactor clocks frame adjustments into a separate widget

* feat: show effective VRAM clockspeed in the GUI on GDDR6
2024-09-07 15:01:51 +03:00
Ilya Zlobintsev
99f6e9ee35 chore: bump version 2024-09-06 09:14:30 +03:00
Ilya Zlobintsev
92fad92e37 feat: bump amdgpu-sysfs with fix for https://github.com/ilya-zlobintsev/LACT/issues/367 2024-09-06 09:07:45 +03:00
Ilya Zlobintsev
54ef929b1a
feat: use ScrolledWindow for initramfs output when enabling/disabling oc (#364) 2024-08-30 13:08:41 +03:00
Ilya Zlobintsev
44704a101e
feat: support for power profile heuristics configuration (#361)
* feat: basic support for power profile heuristics configuration

* attempt to support RDNA heuristics

* chore: finalization
2024-08-20 22:35:16 +03:00
Ilya Zlobintsev
32e25dc269
feat: show detailed power profile information (#360) 2024-08-18 21:42:44 +03:00