Commit Graph

552 Commits

Author SHA1 Message Date
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
Ilya Zlobintsev
cd9a3b2f31 chore: update dependencies, adopt new gtk-rs clone macro syntax 2024-08-16 09:34:52 +03:00
Ilya Zlobintsev
f9f4225a88 chore: fix deprecation warnings 2024-08-16 09:21:57 +03:00
Ilya Zlobintsev
fe0f8b5e52 fix: avoid crashing on non-numeric input in fan curve editor 2024-08-16 09:18:15 +03:00
Ilya Zlobintsev
48c4a8a102 feat: restart daemon if it crashes (just in case)
There hasn't been any real scenario of this happening, but it was
requested in https://github.com/ilya-zlobintsev/LACT/issues/359
2024-08-15 10:31:16 +03:00
Ilya Zlobintsev
88e9026c78
fix: avoid malloc_trim non non-gnu systems (#353) 2024-08-06 09:32:55 +03:00
Ilya Zlobintsev
4db593c73f
fix: defer committing clocks/fan settings changes until all the values have been written (#340)
* feat: defer committing settings until all the values have been written

* fix: reset fan curve after setting pmfw values

* chore: switch to amdgpu-sysfs tag
2024-06-16 00:06:51 +03:00
Ilya Zlobintsev
6af78fe97e
doc: add development build info to readme 2024-06-13 19:30:45 +03:00
Ilya Zlobintsev
ca3e54015a fix: only set PMFW options when they're different from the current value 2024-06-13 19:25:38 +03:00
Ilya Zlobintsev
0d675c5b3a chore: drop unused dependency 2024-06-08 11:12:19 +03:00
Ilya Zlobintsev
fa521fd8c7 feat: rearrange graphs in a grid 2024-06-08 11:08:14 +03:00
Ilya Zlobintsev
0062c9ab0e fix: set fan speed graph y axis label to rpm 2024-06-08 10:32:50 +03:00
Ilya Zlobintsev
cc06f61e52 chore: bump dependencies 2024-06-06 23:14:53 +03:00