feat(gui): add System temperature to Dashboard monitor - #252
Open
ryann-g wants to merge 1 commit into
Open
Conversation
Surface the third EC thermal sensor (ACER_WMID_SENSOR_EXTERNAL_TEMPERATURE_2) that linuwu_sense already exposes via its hwmon interface, which the GUI previously ignored. - Discover the acer hwmon device by scanning /sys/class/hwmon/*/name instead of hardcoding indices, then read temp3_input - Fall back to a non-CPU/GPU ACPI thermal zone when the sensor is absent, then to lm-sensors acpitz parsing - Add a third "System Temperature" series to the Temperature Monitor chart - Add a live CPU / GPU / System readout row above the chart No daemon or driver changes are required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a third System temperature reading (EC / board sensor) to the Dashboard's Temperature Monitor, alongside the existing CPU and GPU readings.
The
linuwu_sensedriver already registers anacerhwmon device exposing three temperature channels (src/linuwu_sense.c,acer_wmi_temp_channel_to_sensor_id[]):This PR surfaces that third, independent EC-reported sensor in the GUI. It is not derived from CPU/GPU values and requires no driver or daemon changes.
Motivation
Users currently have no visibility into chassis/board temperature. The EC already reports it; the GUI simply never displayed it.
Changes
Dashboard.axaml.csFindSystemTempPath()— locates the acer hwmon device by scanning/sys/class/hwmon/*/nameand readingtemp3_input. Discovery is name-based rather than index-based, since hwmon numbering varies between boots/kernels.temp3_input→ first non-CPU/GPU ACPI thermal zone →sensorsacpitz regex (mirrors existing fallback style).GetSystemTemperature()following the same error-handling pattern asGetCpuTemperature().LineSeries("System Temperature", orange) on the Temperature Monitor chart + history buffer capped atMAX_HISTORY_POINTS.MetricsData.SystemTempwired through the existing refresh pipeline.Dashboard.axamlCPU: x°C · GPU: x°C · System: x°Creadout row inside the Temperature Monitor card.Testing
Tested on Acer Nitro ANV15-41 (AMD Ryzen 5 7535HS + RTX 2050), Zorin OS 18.1, kernel 7.0.0-30-generic:
dotnet build -c Release: 0 errors; no new functional warnings (the single added CS8618 matches the file's existing nullable-field pattern for_cpuTempHistoryetc.)temp3_input= 52000 m°C → displayed 52 °C), tracked across refresh cycles/sysaccess)Screenshots
Sandbox build (left) vs installed release (right):
CPU · GPU · Systemreadout row and third chart seriesChecklist
Release)_systemInfoPaths,Console.WriteLinelogging,RunCommandfallback)