* 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>
* 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>
* 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
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