Commit Graph
379 Commits
Author SHA1 Message Date
Ilya Zlobintsev acefe5b4d6 feat: add GTT usage bar (#1053)
* refactor: make size group less verbose

* feat: add GTT usage indicator for AMD

* feat: make GTT stat available in the graphs
2026-07-01 22:22:24 +03:00
Ilya Zlobintsev 4c09a99c01 chore: remove system uptime check on startup (#1102) 2026-06-30 00:07:39 +03:00
Roman MakarovandIlya Zlobintsev 3ea235aca1 fix: blackwell nvapi temps parsing (#1096)
* fix: blackwell nvapi temps parsing

* chore: make the checks more reliable

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-06-29 20:53:29 +03:00
Ilya Zlobintsev eba0b999aa chore: bump flatpak runtime 2026-06-26 22:43:49 +03:00
Roman Makarov 45f962b56c fix: nvidia displayport2 bandwidth calculation (#1090)
* fix: nvidia displayport2 bandwidth calculation fix

* move vendor specific heuristics to relevant controllers

* handle case where linkBW and dp2LinkBW are 0

* Revert "handle case where linkBW and dp2LinkBW are 0"

This reverts commit 7c805f6ebf.
2026-06-25 22:50:20 +03:00
Roman MakarovandIlya Zlobintsev 36e273fc90 feat: de-couple nvidia target temp from amd pmfw target temp (#1086)
* migrate schema/config

* gui: de-couple nvidia and amd target temp

* de-couple reset

* fix tests

* feat: rework target temperature setting

* chore: revert unnecessary rename

* chore: avoid adding new option to SetFanControl call

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-06-24 22:43:27 +03:00
Ilya Zlobintsev a486fb88bb chore: supress clippy warning 2026-06-23 12:10:03 +03:00
Ilya Zlobintsev 8b5523db4e feat: QOL for displays info (#1085)
* feat: show message when no displays are detected

* feat: avoid showing 0 when dp info cannot be read
2026-06-23 12:08:44 +03:00
Ilya Zlobintsev 1fe2f52fb2 feat: handle VF curve without vf_tuple_base (Turing) (#1066)
* feat: handle VF curve without vf_tuple_base (Turing) (WIP)

* feat: handle both paths

* fix: use saved base VF curve instead of calculating from offsets when base is unsupported

* chore: force reset curve before saving it as base
2026-06-23 11:24:35 +03:00
Ilya Zlobintsev 0052c47ce3 fix: automatically clamp power cap to the allowed range on AMD (#1080) 2026-06-22 17:53:58 +03:00
Ilya Zlobintsev d4c2025c99 fix: use host PATH variable when enabling AMD OD from inside flatpak (#1070) 2026-06-20 22:00:43 +03:00
Ilya Zlobintsev e2caa24ca8 feat: add displays info (#1052)
* test

* feat: dp info on amd

* chore: add other display types

* feat: use libdisplay-info, add screen size

* feat: add GUI

* feat: WIP nvidia

* feat: reuse display handle

* chore: clippy fixes

* chore: cleanup

* chore: make display-info an optional feature, add build dependency

* fix: ci

* fix ui imports

* fix: add new dependency to flatpak

* fix: add hwdata flatpak module
2026-06-19 22:22:03 +03:00
vepvlo 6c4e27d1d8 fix: correct nvidia fan curve pwm to percent conversion (#1055)
The curve control loop converted PWM (0-255) to the percentage NVML
expects with `/ 2.5`, mapping a 255 PWM to 102% - outside the valid
0-100 range. A curve top point of 1.0 was therefore rejected with
INVALID_ARGUMENT, after which the daemon disabled fan control for the
GPU. Static mode was unaffected because it computes the percentage
directly as `static_speed * 100`.

The divisor should be 2.55 - the inverse of the `* 2.55` percent-to-pwm
conversion already used in this file (255 / 2.55 = 100).
2026-06-08 07:15:49 +02:00
Ilya Zlobintsev efb488ceaa chore: use tokio local runtime instead of LocalSet (#1050) 2026-05-30 15:58:30 +03:00
Ilya Zlobintsev 8864b6284b perf: fetch Vulkan/OpenCL info asynchronously after startup (#1046) 2026-05-28 09:14:47 +03:00
Ilya Zlobintsev 8d2536da65 chore: bump libdrm-amdgpu 2026-05-28 09:11:27 +03:00
Ilya Zlobintsev e60b162e3f chore: make clippy warnings fail CI, fix them (#1038)
* chore: make clippy warnings fail CI, fix them

* chore: pin docker cache action
2026-05-24 21:25:23 +03:00
Ilya Zlobintsev 8d23a31fff chore: move gpu test data to a shared directory (#1037) 2026-05-24 19:27:26 +03:00
Roman Makarov 35f548bc25 feat: support amd deep sleep state (#1035)
* upd deps

* migrate to PowerLevelId

* update snapshot

* cleanup

* fix fmt
2026-05-24 00:24:12 +03:00
Ilya Zlobintsev df7c61e4cd Revert "WIP UI snapshot tests"
This reverts commit 3027d72bd5.
2026-05-22 21:47:50 +03:00
Ilya Zlobintsev 3027d72bd5 WIP UI snapshot tests 2026-05-22 21:47:42 +03:00
e-tho dc0af6d1ff feat: add hold/release cookie mechanism for profile state management (#995)
* feat: add hold/release cookie mechanism for profile state management

Clients that need to temporarily activate a profile had no safe
way to restore the previous state on cleanup, and concurrent clients
would silently overwrite each other's profile choice.

Introduce HoldProfile/ReleaseProfile commands modelled after
power-profiles-daemon's HoldProfile/ReleaseProfile API. Acquiring a
hold activates the requested profile and returns an opaque cookie; the
previous state is saved automatically. Releasing the cookie restores
it. Multiple concurrent holds are supported with last-write-wins
semantics — releasing the active hold falls back to the next most
recent one, and releasing the last hold restores the original state.
If the client connection drops without releasing, the hold is released
automatically.

* fix: extract type aliases for profile hold fields

* refactor: remove requester field from HoldProfile request

* refactor: improve hold lifecycle signalling
2026-05-14 10:09:29 +03:00
Ilya Zlobintsev 4b050d46e5 chore: update vulkan schema to 1.4.351 2026-05-14 10:03:08 +03:00
Roman Makarov 79f9532d72 chore: improve p-state reads logs (#1019)
* chore: improve p-state reads logs

* add more logs

* fmt

* use inspects
2026-05-12 20:35:55 +03:00
Ilya Zlobintsev 84ea62f8df fix: avoid leaking amdgpu device descriptors on reload (#1020) 2026-05-12 20:13:20 +03:00
Ilya Zlobintsev 3a4125879a feat: improve profile process rule selector (#1003)
* feat: improve profile process rule selector

* perf: only convert filter to lowercase once
2026-05-02 22:03:52 +03:00
Vukašin VojinovićandIlya Zlobintsev 56e4d9d3bd chore: update dependencies (#979)
* chore: update dependencies

* chore: update flatpak sources

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-04-22 18:46:10 +03:00
Vukašin VojinovićandIlya Zlobintsev 06e7931345 chore: use jiff instead of chrono (#978)
* chore: use `jiff` instead of `chrono`

* chore: update flatpak sources

---------

Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-04-21 11:04:08 +03:00
Ilya Zlobintsev cbf01757f8 feat: use interleaved sclk/mclk write on GCN (#974)
* feat: use interleaved sclk/mclk write on GCN

* chore: update config snapshot
2026-04-19 18:13:25 +03:00
Ilya Zlobintsev 2fa29cc335 chore: bump version 2026-04-19 17:51:05 +03:00
Ilya Zlobintsev 09f1bc1893 feat: filter out "non-primary" temperatures for immediate display, move them to a popdown (#959)
* feat: filter out "non-primary" temperatures for immediate display, move them to a popdown

* fix: use different item based on presence of secondary sensors
2026-04-18 18:16:16 +03:00
Ilya Zlobintsev 3d5c216374 feat: add Nvidia VF curve editor (#957)
* feat: WIP nvidia VF curve support

* feat: drag whole curve by holding shift

* feat: add right click menu to flatten curve

* feat: more controls on the VF curve, add button to open editor

* feat: add locked clocks indicators to vf curve

* chore: hide editor button on no curve

* feat: make visible curve range configurable

* fix: disallow right click menu when readonly

* chore: button sizing
2026-04-18 16:17:52 +03:00
Ilya Zlobintsev f6a8cc645d fix: properly display reverted config on settings timeout 2026-04-03 11:07:29 +03:00
renovate[bot] da27f5db79 fix: add phoenix to manual preformance level quirks (#948)
* Add phoneix to manual preformance level quirks

* chore: run cargo fmt
2026-03-31 18:55:13 +03:00
Ilya Zlobintsev 197414f597 feat: report AMD IP info (#942)
* feat: report AMD IP info (daemon part)

* feat: basic ui

* chore: update screenshots

* feat: improve ip info ui
2026-03-20 09:37:13 +02:00
Ilya Zlobintsev 10276e01ce fix: bump bindgen to build on clang 22 (#941) 2026-03-15 22:18:00 +01:00
Roman Makarov 3b8d3359c3 feat: add support for nvidia acoustic target temp (#917)
* upd nvml

* wip

* don't set target temp if none is provided and reset

* refactor

* naming

* cache current init target temp in config for pseudo-reset

* cleanup

* fmt/tests

* pass gpu config to cleanup

* upd capture_initial_pmfw_values
fix clippy warnings

* remove redundant read

* remove redundant config read

* clean up

* refactor reset_pmfw config lock

* remove initial_target_temp from config

* return reset_pmfw_settings back to intel

* revert the flags override

* remove diff noise

* remove deprecated value from default config
2026-02-28 10:59:27 +02:00
Roman Makarov 02037ddea6 fix: tolerate unsuccessful clock offset reset (#918) 2026-02-21 14:09:55 +01:00
Ilya Zlobintsev e2d9f3b883 chore: bump rust dependencies 2026-02-20 13:14:36 +02:00
Ilya Zlobintsev 8b067fac87 feat: don't depend on dbus for flatpak service operation, force unconfined apparmor (#902)
* feat: don't depend on dbus for flatpak service operation

* feat: bump flatbox

* feat: use apparmor unconfined
2026-02-08 13:50:38 +02:00
Ilya Zlobintsev 7fa0edd961 chore: bump dependencies 2026-02-04 11:41:26 +02:00
Ilya Zlobintsev f09c79a558 chore: add Acer B580 Nitro device id 2026-02-01 11:44:27 +02:00
Ilya Zlobintsev e5a3eb1509 chore: update to rust 2024 edition (#889)
* chore: bump rust edition to 2024

* chore: another chunk of clippy fixes

* chore: fix warning in bindings

* chore: restructure awkward unsafe blocks

* chore: reformat

* chore: clippy fix

* chore: bump rust release in docker build
2026-01-31 23:43:43 +02:00
Roman MakarovandIlya Zlobintsev 02277fe27f chore: update rust to 1.93.0 (#876)
* chore: update rust to 1.91.1

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* feat: update to rust 1.93, fix warnings

* fix: bump nightly version used for sanitizers

* fix: bump generated-sources

* fix: exclude sanitizer tests on non-lib targets

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
2026-01-31 19:46:13 +02:00
Roman Makarov 60be0343dc fix: deduplicate vulkan device (#884)
* fix: remove duplicated vulkan device entry

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* fmt

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* add is_flatbox check

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* add link

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

* change comment

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>

---------

Signed-off-by: Roman Makarov <rmakarov94@gmail.com>
2026-01-31 18:31:23 +02:00
Ilya Zlobintsev c1f780ce37 chore: bump vulkan schema to 1.4.340 2026-01-24 22:27:41 +02:00
Ilya Zlobintsev 69463f2fe6 fix: get kernel version through uname syscall instead of a command (#859) 2026-01-17 20:20:00 +02:00
Ilya Zlobintsev f3bff2cd09 perf: avoid re-reading metrics for throttle info on amd (#857) 2026-01-17 12:22:29 +02:00
Ilya Zlobintsev 5d1e43287f chore: remove old drm device retry check on initialization
This is likely not needed anymore with the subscription to drm events
2026-01-10 12:49:44 +02:00
Ilya Zlobintsev fc9203040a chore: add r7 240 (oland) test data 2026-01-04 14:58:22 +02:00