Commit Graph
692 Commits
Author SHA1 Message Date
mirko93s 3fb768295a Add support for Asrock B550M Pro4 (#2356) 2026-05-03 10:39:06 +02:00
A1ive a029461c5f Add support for Intel ArrowLake-U (#2357) 2026-05-03 10:30:22 +02:00
PhyxionNL de31b7bf5d Fix PTL voltage (#2351)
* Fix PTL voltage

* Formatting
2026-04-26 19:44:38 +02:00
PhyxionNL 4f58c459ca Add support for Intel Panther Lake microarchitecture (#2332)
* Add support for Intel Panther Lake microarchitecture

* Reorder RaptorLake in CPU microarchitecture list

* Handle unknown microarchitecture case in IntelCpu

* Refactor Intel CPU microarchitecture detection
2026-04-26 19:37:28 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> aa0781a7ca Bump System.Management from 10.0.6 to 10.0.7 (#2337)
---
updated-dependencies:
- dependency-name: System.Management
  dependency-version: 10.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 19:24:09 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b0d4e079d7 Bump System.Threading.AccessControl from 10.0.6 to 10.0.7 (#2339)
---
updated-dependencies:
- dependency-name: System.Threading.AccessControl
  dependency-version: 10.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 19:23:36 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6ce709c02c Bump System.IO.Ports from 10.0.6 to 10.0.7 (#2336)
---
updated-dependencies:
- dependency-name: System.IO.Ports
  dependency-version: 10.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-26 19:23:07 +02:00
Blacktempel 2fc0fe9710 Update DiskInfoToolkit. (#2350) 2026-04-26 19:22:48 +02:00
Blacktempel d7473cc8cc Update DiskInfoToolkit (#2328)
* Update DiskInfoToolkit.
Add trace to report.

* Adjust identifier to also support scsi identification.
2026-04-20 20:03:51 +02:00
jasonlyoin 035a878e20 NVIDIA GPU: reserve load index 3 for GPU Memory, remap other loads (#2310)
* NVIDIA GPU: reserve load index 3 for GPU Memory, remap other loads

* NVIDIA GPU: simplify load sensor indexing

* NVIDIA GPU: create GPU Memory load after utilization loads

Place the GPU Memory Load sensor before power topology and D3D node loads
so it appears with other GPU metrics in the UI. Load indices advance in
the same order as before for uniqueness.

* NVIDIA GPU: use local nextLoadIndex in constructor

Replace the instance field with a ctor-local counter for Load sensor indices.
2026-04-16 14:17:04 +02:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 5e7902df6b Bump Microsoft.Windows.CsWin32 from 0.3.269 to 0.3.275 (#2324)
---
updated-dependencies:
- dependency-name: Microsoft.Windows.CsWin32
  dependency-version: 0.3.275
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 14:16:15 +02:00
CopilotPhyxionNLcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
f8f9712974 Bump 5 NuGet packages from 10.0.5 to 10.0.6 (#2323)
* chore: bump 5 NuGet packages from 10.0.5 to 10.0.6 (merge dependabot PRs #2316, #2318, #2319, #2320, #2321)

Agent-Logs-Url: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/sessions/e8950bd8-0ef3-4beb-aea7-64e19dcf937a

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>

* Update System.Management package to version 10.0.6

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-04-15 19:18:55 +02:00
Blacktempel fadcba0a0d Update DiskInfoToolkit. (#2322)
Fixes bluescreen for Intel Rst drives where it has occurred.
2026-04-15 19:03:58 +02:00
Sandro Greinecker 824e400304 fix: Update temperature offset calculation for newer Zen processors (#2303) 2026-04-14 16:44:41 +02:00
Howon Lee 44c1ceb864 Fix unhandled NetworkInformationException in UpdateNetworkInterfaces (#2308) 2026-04-14 16:25:44 +02:00
Blacktempel c0ee111659 Fix NVMe temperature sensors. (#2311) 2026-04-14 16:24:00 +02:00
Blacktempel 9fce235e15 Update for DIT 2.0.1. (#2304)
Move force wakeup to proper place.
Check power state of disk and update depending on that.
2026-04-14 16:23:46 +02:00
Rémi Mercier d11d35bb2e X570 null exception and pdb in release (#2300)
* X570_MS7C35 nullref

Fix nullref

* No debug symbols/pdb in release

* Update LibreHardwareMonitorLib.csproj
2026-04-14 16:22:54 +02:00
push-0x57df 47b46c7bf4 Solve the problem of long delays in data updates for mechanical disk read/write speeds. (#2301) 2026-04-08 19:58:31 +02:00
MadLongTomandPhyxionNL aa7c8be02f feat: Add Native AOT compilation support for LibreHardwareMonitorLib (#2280)
* feat: Add Native AOT compilation support for LibreHardwareMonitorLib

- Replace non-generic Marshal.GetDelegateForFunctionPointer with generic versions
  (NvApi.cs, NvidiaML.cs, OpCode.cs)
- Replace non-generic Marshal.PtrToStructure/SizeOf with generic versions
  (AtiAdlxx.cs, AmdGpu.cs, Ipmi.cs)
- Replace reflection-based Mono.Posix calls with direct Syscall for non-NETFRAMEWORK
  (OpCode.cs)
- Add DynamicallyAccessedMembers annotations for trim-safe generic marshaling
  (MsiCoreLiquidController.cs, WireViewPro2.cs)
- Add IsAotCompatible, IsTrimmable, and AOT/trim analyzers to csproj for net8.0+
- All changes maintain full backward compatibility with net472/netstandard2.0

Tested: dotnet publish with PublishAot=true on net10.0 win-x64 succeeds.
AOT binary correctly enumerates all hardware and sensors without errors.

* feat: Add conditional compilation for .NET 5.0 or greater in various classes

* feat: Add AOT test project and update workflows for AOT compilation

* Drop test project

* NET5_0_OR_GREATER > NET

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-04-07 13:38:41 +02:00
BlacktempelandPhyxionNL 9e831e07b2 Update for DiskInfoToolkit Version 2.0.0. (#2298)
* Update for DiskInfoToolkit Version 2.0.0.

* PR comments

* PR comments.

* Apply suggestion from @PhyxionNL

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-04-06 19:26:02 +02:00
MadLongTom 9d9bb0084b Fix NCT6687DR fan control for system fans (index 9–15) (#2294)
* Add NCT6687DR fan control support with bit mapping and configuration phase handling

* NCT6687DR: emulate CC_Engine SetManualFAN protocol

- System fans (index > 8): skip manual mode bit (0xA00), use flat SmartFAN curve instead
- Change commit value from 0x40 to 0xC0 (REQ|DONE) matching CC_Engine
- Write 7-point temp curve (all 0x20/32C) alongside duty curve for system fans
- Add Sleep(10ms) after request (0x80) and commit (0xC0) per CC_Engine timing
- Restore: only clear manual mode bit for CPU/Pump/Chipset/EZ-Connect fans

* NCT6687DR: add INVALID bit check with retry after EC commit

- FinishFanCfgUpdate now returns bool: false if EC sets INVALID (0xCF8 & 0x10)
- SetControl and RestoreDefaultFanControl retry up to 3 times on INVALID
- Matches CC_Engine's post-commit validation behavior

* fix(NCT6687DR): bypass SmartFAN engine for system fans — use direct PWM

System fans (SYSFAN1-7) now use the same direct PWM mechanism as
CPU/Pump/Chipset fans, completely bypassing the SmartFAN curve engine
and its inherent ~2%/sec PWM smoothing.

Key changes:
- FAN_PWM_COMMAND_REG: system fans now point to direct PWM registers
  (SYSFAN7: 08:E9, SYSFAN1-6: 02:65..02:60) instead of SmartFAN
  curve base addresses (0xBE0..0xC70)
- FAN_CONTROL_MODE_REG: system fans use 08:0F (not 0xA00) for their
  manual-mode enable bits
- FAN_CONTROL_MODE_BIT: corrected per-channel bit positions derived
  from BIOS unk_104C0 table (sub_2F50 / sub_2BDC analysis)
- Set6687DRControl: simplified to single WriteByte for all fans
  (no more 7-point flat curve + step/rate writes)
- SetControl: unified path — all fans set manual-mode bit + direct PWM
- RestoreDefaultFanControl: clear manual-mode bit to return to SmartFAN

Register mapping discovered via IDA analysis of BIOS firmware:
- Extended unk_101E0 table at 0x103AC contains channels 10-15
- sub_2BDC configures 5 register operations per channel before curve write
- Entry[1] in unk_104C0 = manual-mode enable register + bit position

* review: Stopwatch, engineSts rename, CompleteFanConfigUpdate

* refactor: PreciseWait via SpinWait, DateTime to Stopwatch in ReadByte/WriteByte

* review: remove regions, revert PreciseWait to Thread.Sleep
2026-04-02 14:21:13 +02:00
Blacktempel 3d0a31d4ab Update DiskInfoToolkit. (#2288) 2026-03-24 19:22:03 +01:00
Stephen Horvath 4058577277 Sensors on older Intel Framework Laptops (#2284)
* Add missing Framework Desktop

* PawnIO: Update LpcCrOSEC.bin

* Revert "Remove early Framework models"

This reverts commit 6d8326c56b15a655eb7a8f2c129176797a29786e.

* Add suspected Chromebook model
2026-03-20 12:03:24 +01:00
Blacktempel 0db3cc8e15 Add MSI B860 mainboard handling (NCT6687D-R). (#2281) 2026-03-19 13:14:54 +01:00
PhyxionNL 516c90c7be Update deps 2026-03-15 11:05:29 +01:00
Blacktempel 998b17b6f6 Update DiskInfoToolkit. (#2277) 2026-03-15 11:03:44 +01:00
BlacktempelandPhyxionNL 1a5a11b12e Handle driver restart for NVIDIA GPUs (#2255)
* Handle driver restart for NVIDIA GPUs.

* PR review

* Update NvidiaGroup.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-03-15 11:03:28 +01:00
Blacktempel 44d3263b27 Support new firmware and fix possible freeze. (#2261) 2026-03-09 12:52:11 +01:00
Blacktempel 273b47b462 Fix build for Linux (#2257)
* Fix build for Linux.

* Fix Linux runtime issues.

* PR review + fix for Windows.
2026-03-05 14:09:21 +01:00
Blacktempel a0392ad4fc Add StorageDevice.ForceWakeup property. (#2252) 2026-03-02 19:16:01 +01:00
Blacktempel 14b6daa7d6 Update RAMSPDToolkit - adds detection logic for Intel Skylake IMC. (#2250) 2026-03-02 19:15:38 +01:00
Blacktempel f5479cdbf0 Update DiskInfoToolkit & add Force Drive Wakeup option (#2245)
* Update DiskInfoToolkit.
Add option for Force Drive Wakeup.

* Change default value

* Replace name
2026-02-27 16:26:30 +01:00
Rémi Mercier e4566effd3 ROG Crosshair X870E Dark Hero (#2242)
T-Sensor support
2026-02-27 14:26:04 +01:00
Aytaç KayadelenandAytackydln e6cd6ccc74 Save Sensor.Identifier in field (#2236)
Co-authored-by: Aytackydln <aytac.kayadelen@gmail.com>
2026-02-23 11:29:06 +01:00
Blacktempel 3473a3bfd4 Add Control sensor for WVP2. (#2234)
* Add Control sensor for WVP2.

* Rename control sensor & assign control properly.
2026-02-20 12:20:06 +01:00
Blacktempel 7d94dfe265 Add Control sensor for MSI. (#2235) 2026-02-20 12:19:45 +01:00
Blacktempel 315a767fa0 Fix same memory for different GPUs. (#2232)
* Fix same memory for different GPUs.

* Status check
2026-02-19 16:21:49 +01:00
kyranmcdonnellandCursor 9158b5ac75 Add IGCL telemetry sensors (temperature, clock, voltage) for Intel integrated GPUs (#2218)
* fix: skip integrated GPU in IGCL enumeration to prevent duplicate hardware entries

IGCL's ctlEnumerateDevices returns all Intel graphics devices including
the integrated GPU, but IntelDiscreteGpu was created for every device
without filtering. This caused the iGPU to appear twice: once from the
IGCL path (as IntelDiscreteGpu) and once from the D3D path (as
IntelIntegratedGpu), with overlapping sensors.

Check the CTL_ADAPTER_PROPERTIES_FLAG_INTEGRATED flag on each device's
graphics_adapter_properties and skip integrated adapters, since they are
already handled by IntelIntegratedGpu via D3D enumeration.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: add IGCL-based telemetry sensors for Intel integrated GPUs

Use Intel Graphics Control Library (IGCL) to expose temperature, clock
frequency, and voltage sensors for the integrated GPU via the safe
user-mode ctlPowerTelemetryGet API. Each sensor is only activated if
the driver reports it as supported, so this degrades gracefully on
hardware/drivers that don't expose specific telemetry items.

This mirrors the approach already used by IntelDiscreteGpu, bringing
parity between discrete and integrated Intel GPU monitoring.

Depends on: fix/intel-igpu-deduplication

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 12:10:25 +01:00
kyranmcdonnellandCursor 1564a69c52 fix: skip integrated GPU in IGCL enumeration to prevent duplicate hardware entries (#2217)
IGCL's ctlEnumerateDevices returns all Intel graphics devices including
the integrated GPU, but IntelDiscreteGpu was created for every device
without filtering. This caused the iGPU to appear twice: once from the
IGCL path (as IntelDiscreteGpu) and once from the D3D path (as
IntelIntegratedGpu), with overlapping sensors.

Check the CTL_ADAPTER_PROPERTIES_FLAG_INTEGRATED flag on each device's
graphics_adapter_properties and skip integrated adapters, since they are
already handled by IntelIntegratedGpu via D3D enumeration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 18:16:37 +01:00
Blacktempel e2e0d1c9ad Updates for TG WVP2 (#2215)
* Implement Fan control for TG WVP2.
Calculate approximate fan speed.

Catch two exceptions.
Remove leftover close in ReadConfig.

* Support for multi device detection

* Add more data to report

* Add group for power monitors and remove from GenericGpu.

* Move files.
Add option for Power Monitor in Computer + UI.
2026-02-13 18:15:24 +01:00
Alcolawl d8a41b3313 Foundational support for all MSI B840/B850, X870(E), and Z890 Motherboards (#2216)
* Add support for MSI MAG B850 Tomahawk Wifi (non-max) using NCT6687DR Controller

* Handle MSI NCT6687DR SIO Controller declaration more elegantly

This is a more powerful yet elegant way of handling MSI motherboards with the MSI flavored Nuvoton NCT6687D (aka NCT6687D-R). While it still requires that support be manually added for each motherboard so it be properly identified, this reduces the amount of work to add support and also reduces the amount of clutter in LpcIO.cs.

* Add support for MSI MEG X870E ACE MAX

* Foundational support for ALL MSI B840/B850, X870(E), and Z890 Motherboards!

Assigns all MSI B840, B850, X870, X870E and Z890 motherboards the NCT6687D-R SIO Controller

* Remove MSI B850 GAMING PLUS WIFI6E NCT6687D handling

* Used more stringent comparison criteria for MSI 800 series NCT6687DR identification
2026-02-13 18:13:20 +01:00
Blacktempel 7caca88771 Fix for new PawnIO release. (#2222)
Add new binary.
2026-02-13 17:30:03 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 17dbcf580b Bump System.IO.Ports from 10.0.2 to 10.0.3 (#2209)
---
updated-dependencies:
- dependency-name: System.IO.Ports
  dependency-version: 10.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 15:33:45 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a57308ee94 Bump System.Threading.AccessControl from 10.0.2 to 10.0.3 (#2212)
---
updated-dependencies:
- dependency-name: System.Threading.AccessControl
  dependency-version: 10.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 15:33:19 +01:00
aureopvhandPhyxionNL 0af63c9be5 Slight refactor for ARCTIC Fan Controller (#2205)
* Slight refactor

* Update fan and control sensor naming format

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-02-11 12:42:48 +01:00
Blacktempel 9af84004a5 Add MSI controller for AIOs. (#2207)
* Add MSI controller for AIOs.
Fan RPM read, thermal sensor & fan control.

* PR comments & rename controller.

* PR review

* PR review

* PR review
2026-02-11 12:39:29 +01:00
Alcolawl 24e76153eb Add support for MSI MAG B850 Tomahawk Wifi (non-max) using NCT6687DR Controller (#2199) 2026-02-06 12:54:53 +01:00
Blacktempel 16c1e49501 Add JAF Fan for Godlike Max & fix Pump Fan 2 (#2194)
* Add JAF Fan for Godlike Max & fix Pump Fan 2.

* Update JAF Fan name according to MSI doc.
2026-02-04 11:25:03 +01:00
Blacktempel cdb0c65b4c TG WireView Pro 2: Changes for firmware update (#2193)
* Changes for firmware update.

* Undo SharedSerialPort.Open signature change.
2026-02-03 11:46:37 +01:00