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
Roman Makarov
4560297377
refactor: improve gui folder structure ( #1047 )
...
* refactor: move reusable components
* move css
* refactor: move GUI modules
* use features/ and refactor pages structure
* make pwfw private again
* rollback "features"
* clean up
2026-06-06 17:44:21 +03:00
Ilya Zlobintsev
efb488ceaa
chore: use tokio local runtime instead of LocalSet ( #1050 )
2026-05-30 15:58:30 +03:00
Christopher Snowhill and Ilya Zlobintsev
9391747869
chore: add another GIGABYTE 9070 XT to device_ids.json ( #1049 )
...
* Add new GPU model to device_ids.json
Add new GPU model 'Gigabyte Gaming OC ICE RX 9070 XT' to device IDs.
* fix: use existing section
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com >
2026-05-30 15:14:30 +03:00
Nicolas Ochsner and Ilya Zlobintsev
c70ef77607
feat: add range selection feature for VF curve editor ( #1032 )
...
* Add range selection for vf curve editor
* Add shaded area and modified cursor
* Disable moving selection endpoint when editing is disabled
* Check if any points are included before setting
* Remove selection when editing is disabled
* chore: unselect vf curve when disabling editing faster
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com >
2026-05-29 23:59:59 +03:00
Ilya Zlobintsev
5972c098c0
fix: gracefully handle missing get_device_api_info in daemon
2026-05-28 09:31:01 +03:00
Ilya Zlobintsev
b017b9ee20
fix: gracefully handle missing get_device_api_info in daemon
2026-05-28 09:30:26 +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
e5c5822f3b
feat: use banner instead of dialog to signal daemon reconnection ( #1044 )
2026-05-26 22:16:19 +03:00
Ilya Zlobintsev
60e81fdb30
refactor: use helper methods for component launch ( #1041 )
2026-05-25 23:13:13 +03:00
Ilya Zlobintsev
b3b007e2da
perf: avoid unnecessary ui config rewrite on startup ( #1040 )
2026-05-25 22:51:13 +03:00
Ilya Zlobintsev
ddfadbb048
fix: wrap flatpak service startup with bash ( #1039 )
2026-05-25 10:21:16 +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
Roman Makarov
877f550d37
feat: add custom loader ( #1031 )
...
* feat: add custom loader
* remove min_init duration for loader
* slowdown animation
2026-05-22 21:55:18 +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
Ilya Zlobintsev
7548f1d032
fix: missing fan curve options on nvidia ( #1034 )
2026-05-22 19:20:28 +03:00
Gabriele Musco and Gabriele Musco
33d7941aef
feat: use revealer for graphs window edit mode toolbar ( #1029 )
...
Co-authored-by: Gabriele Musco <gabmus@disroot.org >
2026-05-20 09:56:02 +03:00
Gabriele Musco and Gabriele Musco
07b080b803
feat: rework app menu using actions; add keyboard shortcuts for preferences and quit ( #1028 )
...
Co-authored-by: Gabriele Musco <gabmus@disroot.org >
2026-05-20 09:52:49 +03:00
Roman Makarov and Ilya Zlobintsev
a36039ff98
fix: fix regression with dirty init state ( #1027 )
...
* fix: prevent SettingsChanged event during fan_curve_frame init
* use blocking instead
* chore: slightly nicer workaround
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com >
2026-05-19 21:44:49 +03:00
Arimil
76d2ea6008
chore: add Gigabyte RTX 4070 Ti Super WindForce Max OC to device ids ( #1026 )
2026-05-18 21:00:04 +03:00
Roman Makarov
05094b12fe
perf: optimize gui bootstrap ( #1023 )
...
* feat: optimize gui bootstrap
* prefer dedicated gpu
* refactor profiles init
* upd
* make loader bigger
* fix imports
2026-05-15 23:20:41 +03:00
Roman Makarov
965f9ced2d
feat: remember window size ( #1022 )
2026-05-14 22:09:32 +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
Ilya Zlobintsev
34bdd1919b
fix: bump flatpak sources
2026-05-14 00:39:18 +03:00
Ilya Zlobintsev
bc4770bbe1
fix: bump amdgpu-sysfs with deep sleep pstate handling ( #1021 )
2026-05-14 00:04:45 +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
eee2b3a41f
fix: bump libdrm_amdgpu_sys to 0.8.14 ( #1018 )
2026-05-12 19:11:37 +03:00
Ilya Zlobintsev
756953f62a
doc: mention nvidia VF curve in README
2026-05-11 00:07:56 +03:00
Tunahan Yardımcı
f31d862060
chore: add Turkish translations ( #1011 )
2026-05-09 18:19:09 +03:00
AN Long and Ilya Zlobintsev
5709b191b6
fix: detect typed input in clock adjustment spinbuttons ( #1008 )
...
* fix: detect typed input in clock adjustment spinbuttons
* chore: run fmt
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com >
2026-05-09 17:56:23 +03:00
Roman Makarov
1d5e8306ad
feat: consolidate MessageDialogs under generic InfoDialog ( #997 )
...
* feat: add error dialog
* use adw prelude::* imports
* wip
* add info dialog
* use the new dialog for version mismatch
* wip
* replace confirmationDialog with info
* some formatting
* migrate ask_settings_confirmation
* refactor
* use ResponseAppearance
* move callbacks to app.rs
* use ref for completed
* refactoring
* use callback with timer to set body text
* remove ResetConfigConfirmed
* simplify api
* remove delayed confirmation logic from info_dialog
* fmt
* replace callback api with appMsg
2026-05-09 17:05:11 +03:00
Aqil Aziz
47c340daeb
doc: fix API documentation links ( #1014 )
2026-05-09 16:50:43 +03:00
Roman Makarov
b7976754cf
chore: add debug log for p-states initial load ( #1016 )
...
* add trace log for p-states initial load
* use debug, update wording
2026-05-08 20:29:38 +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
Robert Gonzalez and Ilya Zlobintsev
e37a756493
doc: add Solus in installation section of README ( #990 )
...
* Add Solus in installation section of README
* chore: stylistic change
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com >
2026-04-27 19:05:18 +03:00
github-actions[bot] and github-actions[bot] <github-actions[bot]@users.noreply.github.com>
74829f99eb
chore: Update spec files for release v0.9.0 ( #988 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-25 20:48:14 +03:00
Ilya Zlobintsev
454a6e24af
chore: update screenshots and prepare new release
v0.9.0
2026-04-25 19:49:33 +03:00
Weblate (bot) and Марко Костић
dcaf0e5e75
chore: translated using Weblate (Serbian) ( #977 )
...
Currently translated at 100.0% (23 of 23 strings)
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-schema/sr/
Translation: LACT/lact-schema
Co-authored-by: Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com >
2026-04-25 18:13:38 +03:00
+1
5d100f0ead
chore: translations update from Fedora Weblate ( #969 )
...
* chore: translated using Weblate (Arabic)
Currently translated at 100.0% (202 of 202 strings)
chore: translated using Weblate (Arabic)
Currently translated at 100.0% (202 of 202 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: joo es <jonnyse@users.noreply.translate.fedoraproject.org >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/ar/
Translation: LACT/lact-gui
* chore: translated using Weblate (Catalan)
Currently translated at 100.0% (202 of 202 strings)
Co-authored-by: naly zzwd <xeanhort007@gmail.com >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/ca/
Translation: LACT/lact-gui
* chore: translated using Weblate (German)
Currently translated at 99.0% (200 of 202 strings)
Co-authored-by: Daniel Bleher <fedoraproject.org@d.deltabravo.de >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/de/
Translation: LACT/lact-gui
* chore: translated using Weblate (Spanish)
Currently translated at 100.0% (202 of 202 strings)
Co-authored-by: Fco. Javier F. Serrador <fserrador@gmail.com >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/es/
Translation: LACT/lact-gui
* chore: translated using Weblate (French)
Currently translated at 100.0% (202 of 202 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Léane GRASSER <leane.grasser@proton.me >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/fr/
Translation: LACT/lact-gui
* chore: translated using Weblate (Indonesian)
Currently translated at 99.5% (201 of 202 strings)
Co-authored-by: Arif Budiman <arifpedia@gmail.com >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/id/
Translation: LACT/lact-gui
* chore: translated using Weblate (Italian)
Currently translated at 92.5% (187 of 202 strings)
Co-authored-by: Ali Ciloglu <ali.ciloqlu@murena.io >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/it/
Translation: LACT/lact-gui
* chore: translated using Weblate (Georgian)
Currently translated at 100.0% (202 of 202 strings)
chore: translated using Weblate (Georgian)
Currently translated at 100.0% (202 of 202 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/ka/
Translation: LACT/lact-gui
* chore: translated using Weblate (Portuguese (Brazil))
Currently translated at 93.5% (189 of 202 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Rafael Fontenelle <rafaelff@gnome.org >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/pt_BR/
Translation: LACT/lact-gui
* chore: translated using Weblate (Serbian)
Currently translated at 28.2% (57 of 202 strings)
chore: translated using Weblate (Serbian)
Currently translated at 25.2% (51 of 202 strings)
chore: translated using Weblate (Serbian)
Currently translated at 20.2% (41 of 202 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com >
Translate-URL: https://translate.fedoraproject.org/projects/lact/lact-gui/sr/
Translation: LACT/lact-gui
---------
Co-authored-by: joo es <jonnyse@users.noreply.translate.fedoraproject.org >
Co-authored-by: naly zzwd <xeanhort007@gmail.com >
Co-authored-by: Daniel Bleher <fedoraproject.org@d.deltabravo.de >
Co-authored-by: Fco. Javier F. Serrador <fserrador@gmail.com >
Co-authored-by: Léane GRASSER <leane.grasser@proton.me >
Co-authored-by: Arif Budiman <arifpedia@gmail.com >
Co-authored-by: Ali Ciloglu <ali.ciloqlu@murena.io >
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com >
Co-authored-by: Rafael Fontenelle <rafaelff@gnome.org >
Co-authored-by: Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com >
2026-04-25 18:12:47 +03:00
Ilya Zlobintsev
cd7899d125
chore: use adwaita dialog for reconnecting message
2026-04-24 23:29:23 +03:00
Roman Makarov
892b1b927a
feat: groom profiles ( #986 )
...
* upd new/rename profile
* upd rule window
* upd margins
* switch activation tab to listboxes
* update hooks tab
2026-04-24 23:21:38 +03:00
Roman Makarov
8ea8628732
fix: correctly disable navigation after panic event ( #987 )
2026-04-24 23:19:21 +03:00
Roman Makarov
28d67af5c7
feat: groom charts dialog ( #983 )
...
* groom charts dialog
* move edit buttons to overlay
* remove frame
* use "natural" backgrounds for plots
* remove unused css
* remove background fill in thermals chart
* return background
* move edit chart buttons to top-right corner
* revert vf_curve.rs changes
2026-04-24 23:08:58 +03:00