Commit Graph
37 Commits
Author SHA1 Message Date
Ilya Zlobintsev c17227a8fc chore: drop workaround for broken RDNA4 clock offset format on older kernels (#599)
* chore: drop workaround for broken RDNA4 clock offset format

* chore: add 9070 non-XT test data

* chore: update flatpak sources
2025-05-29 22:04:55 +03:00
Umio Yasuno b9ac400e68 fix: use PCIe port link info for AMD GPU (#592)
* fix: use PCIe port link info for AMD GPU

* fix: use cmp::min for riser card environment

* fix: compare gen and width respectively
2025-05-26 00:22:19 +03:00
Ilya Zlobintsev e9771b8d3d fix: use correct PCIe link info on AMD 2025-05-25 10:34:21 +03:00
Ilya Zlobintsev d35813262a fix: non-drm pcie link speed fallback 2025-05-24 12:43:57 +03:00
Ilya Zlobintsev 5007f48208 feat: better PCIe link speed display 2025-05-24 12:42:47 +03:00
Ilya Zlobintsev 070ea44c47 feat: update libdrm-amdgpu-sys with RDNA3 hotspot throttle workaround 2025-05-16 17:35:58 +03:00
Ilya Zlobintsev 7605294722 feat: show temperature key option in the UI when it is supported (#569) 2025-05-11 11:30:30 +03:00
Ilya Zlobintsev 6b57b487b3 feat: zero RPM support on nvidia via automatic fan mode threshold temp (#567)
* feat: zero RPM support on nvidia via automatic fan mode threshold temperature

* chore: update docs
2025-05-10 16:30:30 +03:00
Ilya Zlobintsev ca5c715475 feat: new fan control UI (#566)
* feat: WIP fan control graph

* feat: show unsaved config when confirming

* feat: use range limits for graph rendering

* feat: adding/removing points

* feat: curve options

* feat: static speed setting

* feat: show all temperatures on OC page

* feat: PMFW options

* chore: minor improvement

* chore: cleanup
2025-05-09 23:03:02 +03:00
Ilya Zlobintsev 026356990a feat: show ROP info on AMD, better VRAM info display (#565)
* feat: show ROP info on AMD, better VRAM info display

* fix: swapped values
2025-05-05 18:15:59 +03:00
Ilya Zlobintsev 96bb7b7172 feat: show OpenCL info, move Vulkan to software tab (#553)
* feat: fetch OpenCL info

* feat: show opencl info in gui

* chore: move vulkan info to software page, refactor

* refactor: unify hw info page into one component

* chore: update generated-sources

* feat: show more information

* fix: disable dynamic feature in OpenCL

* Revert "fix: disable dynamic feature in OpenCL"

This reverts commit 18c9d93ed7.

* fix: add dependency

* fix: set correct dependencies

* fix: opencl package name

* fix: fedora package name

* fix: add rhel repo

* chore: update readme
2025-04-23 22:11:56 +03:00
Ilya Zlobintsev 980f383df6 feat: show ISA version (#552) 2025-04-18 18:12:15 +03:00
Ilya Zlobintsev 0064fd9224 feat: new GPU config socket API (#546)
* feat: GetGpuConfig API

* wip

* fix: map deserialization

* fix: clocks map deserialization

* chore: update API documentation
2025-04-14 21:19:50 +03:00
Ilya Zlobintsev 63d6adc21e feat: updated amd settings apply order (#513)
* feat: WIP rdna3 order fixes

* chore: disable clockdown workaround

* fix: temporarily disable opensuse build

* fix: reset fan control at the very start

* chore: cleanup
2025-03-30 15:39:10 +03:00
Ilya Zlobintsev 0c0198504a feat: automatically migrate existing fan curves to be within fan speed limits, show limits in UI (#503)
* feat: restrict fan curve UI to allowed percentages

* feat: automatically migrate fan curve to within limits in config

* feat: also handle static fan speed
2025-03-20 21:42:07 +02:00
Ilya Zlobintsev 942526e348 feat: RDNA4 support (#487)
* feat: initial rdna4 support

* fix: disable writing clocks settings for now

* feat: work around misreported clock offsets, only set max offset

* feat: support new (kernel 6.15+) sclk offset format

* fix: fan curve zero page zero rpm switch

* feat: show zero rpm stop temperature on fan curve page

* feat: disable zero rpm on static control

* chore: update test snapshot

* feat: explicitly fail when setting a pmfw fan curve outside of allowed ranges

* feat: fall back to gpu_metrics for fan info when hwmon is not available

* chore: add gpu_metrics test data

* chore: fmt

* chore: update default fan curve

* chore: update 9070xt-new test data

* fix: make missing zero rpm option a non-fatal error

* chore: switch amdgpu-sysfs crate version
2025-03-16 18:40:03 +02:00
Ilya Zlobintsev 02ea2525db fix: reliably cleanup old fan control tasks on gpu reload events, limit number of fan control retry attempts (#494)
* fix: reliably cleanup old fan control tasks on gpu reload events, limit
number of fan control retry attempts

* dev: dont check drm device list on tests
2025-03-15 13:37:35 +02:00
Ilya Zlobintsev 42ac402ab0 feat: show VRAM vendor on amd 2025-03-15 10:09:29 +02:00
Ilya Zlobintsev fede73ada6 feat: use Nvidia driver ioctl directly to show more info (SM/ROP count, VRAM type and vendor) (#492)
* feat: show ROPs count

* feat: show VRAM type

* feat: show L2 cache size

* feat: SM and tensor counts

* feat: show VRAM vendor

* fix: drop invalid tensor core count info
2025-03-15 10:01:58 +02:00
Ilya Zlobintsev 24c5dda1f8 feat: use vulkaninfo CLI to get vulkan information, drop vulkano dependency (#490)
* feat: use vulkaninfo CLI to get vulkan information, drop vulkano dependency

* fix: add vulkan-tools as a build dependency
2025-03-14 09:04:19 +02:00
Ilya Zlobintsev aff0580529 fix: make failing to apply amd clock settings with missing clocks table a non-critical error 2025-03-04 20:16:00 +02:00
Ilya Zlobintsev db1ad7abc3 fix: clear the clocks table before applying on rdna1' 2025-03-02 11:21:37 +02:00
Ilya Zlobintsev 79d1ac9ede feat: better amd fan sensor checks, retry if sensor becomes missing 2025-03-01 09:56:10 +02:00
Ilya Zlobintsev eef331fa0c feat: make DRM mandatory for amdgpu 2025-02-05 14:36:31 +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 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
Umio YasunoandIlya Zlobintsev 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 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 240d4b1477 fix: ignore temperature_key if GPU only has a single sensor 2024-12-26 13:00:44 +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 3e53e0336e feat: add RDNA3 zero RPM setting (#393)
* feat: add zero rpm setting

* feat: update zero rpm interface

* chore: use upstream amdgpu-sysfs

* feat: include zero rpm files in debug snapshots

* doc: update readme

* doc: improve
2024-11-14 00:11:24 +02:00
Ilya Zlobintsev 27d3402d08 fix: update amdgpu-sysfs with iGPU fixes, add steam deck quirk (#407)
* feat: van gogh support

* fix: device id

* fix
2024-11-10 21:13:19 +02:00
Ilya Zlobintsev 5f95a4dc12 feat: add special case for invalid throttle mask 2024-11-08 10:13:23 +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
Ilya ZlobintsevandAlik Aslanyan 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