* feat: inline power states
* markup fixes
* polish p-states row
* align the p-state values by right side
* refactor
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
* feat: hide nvidia all-pstate offset toggle under experimental flag
* check if it's used already
* ignore the non p0 states unless the flag is set
* chore: drop dedicated oc msg
* fix: missing dot in msg
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
* add struct
* use dynamic channel info to pick the right vram/hotspot channel
* get mask from get_info to avoid extra nvapi call
* move get_info from stats poll to new
* fix type
* docs: add AI policy
* fix: typo
* add more specific rules for AI bug reporting (#1211)
* add more specific rules for AI bug reporting
* simplify
* keep reported with rules statement
---------
Co-authored-by: Roman Makarov <rmakarov94@gmail.com>
* add adjsutment row description
* refactor
* use more specific key for details
* experiments
* fix paddings and add scales to sizegroup
* refactor to boxed-list
* use set_name for page_section
* handle popover lifecycle properly
* fix text align
* feat: show unit inline in the limits
* chore: improve alignment
* fix formatting for value with unit
* remove sizegroup from hidden rows
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
* feat: change OC layout to cards
* feat: switch from checkbox to toggle-buttons for OC optional features
* put into size-group, some small fixes
* make p-states more compact
* remove core offset p-states label
* add dedigated features block for sections
* hacky fix for padding
* update p-state section toggle
* fix adv block bottom border
* use info-dialog to guard manual p-lvl for p-states conf
* upd p-level description to fit in split layout
* independent all p-state toggle for core/vram
* p-level/powermizer: use more compact description
* rollback description changes due to better fix
* use OcAdjustment for performance limit
* shorten description a bit
* remove nvidia oc description
* rename power_section to power_frame for consistency
* fix signal blocking and simplify power frame visibility
* feat: move warning to sidebar and make it more specific
* phrasing
* remove wrapper
* remove OC-adjustment group, make adjustment components shared.
* rename css for consistency
* make adjustment row control it's state
* remove oc_adjustment_row wrapper
* simplify power_frames adjustment wiring
* fix css priority to avoid overrides
* breeze theme should be between adwaita and app css
* rename secondary_clocks
* set border radius to features buttons
* implement MasonryLayout via LayoutManager
* remember children's column
* Revert "remember children's column"
This reverts commit ed82e94eff.
* use 2 columns and flowbox instead of masonry
* cleanup
* redo layout with single column order control
* hide reset button on vram frame
* fix specificity
* upd spacing
* shorten labels
* chore: better label, disable all pstates button when it's not usable
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>
* feat: move warning to sidebar and make it more specific
(cherry picked from commit ac745e669d)
* phrasing
(cherry picked from commit 44d87a13d9)
* remove wrapper
(cherry picked from commit 3bcad769e3)
* shorten description a bit
(cherry picked from commit f37485c34f)
* use info-dialog to guard manual p-lvl for p-states conf
(cherry picked from commit 563dfac8f4)
* p-level/powermizer: use more compact description
(cherry picked from commit e8c858d7a0)
* p-level fix formatting
* less agressive wording for warning
* fix typo
* remove oc-warning
* wip
* clean up
* upd comment
* fix vfcurve flip to enabled
* fmt
* rename old curve_is_configured
* move enable edit checkbox from VFCurve to OC panel
* cleanup tests
* set offset 0 on curve reset
* add defauilt to freq_offset
* bail if vf_curve is invalid or not editable
* hide apply/default buttons on ro curve
* fix curve margins
* vfcurve - show info that editing is disabled
* move top vf curve ceiling a bit
* center vf-curve-editing label
* fix flipping edit vfcurve checkbox
* easen up warning
* add abs to offset migration
* fix point_min_offset_mhz calculation
* don't let offset to be same or bigger than basefreq
* fix test
* marking Intel with the fan control flag, if available
* static fan RPM control for Intel
* firmware fan control and checking if we can atually control the fans
* improved the messages
* fan curve suport for Intel
* consuming the result
* getting the fan curve from hwmon for Intel, if available
* getting the fan static speed from hwmon for Intel, if available
* getting the fan control mode from hwmon for Intel, if available
* checking if the fan control is enabled for Intel
* checking the curve points amount with the expose controllable points for Intel instead of hardcoding
* applying the fan settings to all exposed fans for Intel
* consuming the result
* applying the Intel fan curve in its own function
* applying the Intel fans static speed in its own function
* properly validating the fan curve for Intel
* getting the max fan speed for Intel, if available
* setting the remaining points based on the last point for Intel
* auto completing the missing curve points on Intel
* omitting points we probably auto completed for Intel
* properly auto completing the fan curve points for Intel
* only omitting the last fan curve points for Intel
* cargo fmt on intel.rs
* cargo clippy --fix --lib -p lact-daemon
* removed the "Option::" prefix
* removed the debug code
* using a result on "apply_fan_curve" and "is_valid_fan_curve"
* improved the Result handling in "apply_fan_curve"
* cargo fmt
* refactor: code cleanup, truncate read curve off configured one
* chore: minor cleanup
* added the get_hwmon_fan_curve and get_hwmon_fan_curve_points and renamed the old get_hwmon_fan_curve to get_truncated_hwmon_fan_curve
The new get_hwmon_fan_curve returns the fan curve from hwmon as is.
The get_hwmon_fan_curve_points returns a Vec with the hwmon fan curve as is, used on both get_hwmon_fan_curve and get_truncated_hwmon_fan_curve.
The get_truncated_hwmon_fan_curve returns the fan curve from hwmon, but some points may be ommited
* chore: update b580 test data with the fan curve
* feat: smarter fan curve truncation
* returning a single points if all points are the same, Intel xe
If all points are the same speed, we display the current FanControlMode as Static, so we can safely display one point in the curve
* safely getting the first point
---------
Co-authored-by: Ilya Zlobintsev <ilya.zl@protonmail.com>