Commit Graph
582 Commits
Author SHA1 Message Date
BlacktempelandPhyxionNL df9e0a5131 Add support for Thermal Grizzly WireView Pro 2. (#2171)
* Add support for Thermal Grizzly WireView Pro 2.

* Process PR comments.

* PR comments.

* Add private keyword.

* PR comments.

* Replace WMI with SetupAPI.

Some first updates according to Thermal Grizzly code.

* Add report.

* Further improve implementation according to code of Thermal Grizzly (thanks !).

* No connection check for welcome message.

* Rename class + change SerialPort to SharedSerialPort for guard - fixing mutex issues.

* PR comments.

* Remove SP_DEVINFO_DATA from NativeMethods.txt

* Update WireViewPro2.cs

* Rename hasMutex to _hasMutex for consistency

* Formatting

* Fix build

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-01-27 13:20:07 +01:00
TimotejandPhyxionNL 6f9ac5aece Add sensors for Astral GPUs (#2168)
* Add sensors for Astral GPUs

* Clean up imports

* Code clean-up

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-01-22 10:00:23 +01:00
Blacktempel 24218b0703 Add core voltage for NVIDIA GPU. (#2175) 2026-01-20 17:21:06 +01:00
Rémi Mercier 4b3ed8bb46 Update PawnIO modules to 2.2 (#2174)
* Update PawnIO modules to 2.2

https://github.com/namazso/PawnIO.Modules/releases/tag/0.2.2

* Update RyzenSMU.cs

From RyzenSMU module
2026-01-20 17:19:50 +01:00
Rémi Mercier 5ea3a7a573 Update Identification.cs (#2164) 2026-01-16 12:15:05 +01:00
Rémi Mercierandaureopvh ab9551ca2d Feature/arctic fan controller (#2152)
* Port Artic Fan Controller code

* Fixed misspelling and added improvements
- Fixed thread not starting (added _thread.Start())
- Added control sensor activation
- Added PWM initialization from device
- Improved PWM value reading for fast updates

* Slight refactor

Extract message response

* Create README.MD

* Code review

* Add license header
* Make readonly fields
* Remove redundant const
* format
* Remove redundant index check in Update()
* add missing control lock in close()
* add missing hid lock in update loop for array access
* join thread (wait for exit) on cose()

* Proper Hardware type

* File scoped namespaces

* Update ArcticFanController.cs

---------

Co-authored-by: aureopvh <aureoserrano@hotmail.com>
2026-01-13 19:04:55 +01:00
Rémi Mercier 157481adc5 Add missing controls (#2157) 2026-01-13 18:56:16 +01:00
Blacktempel a673f60d0b RAM: (#2124)
- add temperature sensors for high/low/critical limits
- change thermal sensor index to 0
- adjust sensor indices accordingly

Storage:
- add Free Space sensor
- add Total Space sensor
- change temperature sensors indices to start from 0
- remove temperature sensor 1 as the non numbered sensor is the same
2026-01-06 23:23:59 +01:00
Rémi Mercier 9b4ec91e9e Remove the 0-initialized control registers array (#2137) 2026-01-06 23:06:00 +01:00
Alcolawl 1ee7c16cba Add support for three additional MSI Motherboards (#2132)
* Support for 10 new MSI motherboards with NCT6687D-R SIO controller

* Support for newly established fan and control register structure

WILL ABSOLUTELY BREAK FAN CONTROL CONFIGS FOR NCT6687DR USERS. This introduces Support for 16 System Fans and Controls, including EZ-Connect, Pump Fan 2, and System Fan 7. Also improved the logic for nct6687dr control.

* Add support for X870E Tomahawk WIFI, fix B850 Gaming Plus WIFI PZ identification

Additionally sync with upstream

* Add support for B850M Gaming Plus WIFI and Z890 Unify-X

Also removes duplicate model identification case for B850M GAMING PLUS WIFI6E
2026-01-03 10:30:16 +01:00
Rémi Mercier 8e9a633389 EC support for TUF_Gaming-X870_Plus_WIFI (#2121)
* EC support for TUF_Gaming-X870_Plus_WIFI

* Update Identification.cs
2026-01-03 10:29:00 +01:00
Blacktempel cc13e1e909 Add MAG B850M MORTAR (MS-7E61). (#2125) 2025-12-30 17:08:27 +01:00
Blacktempel 9bf916e4d6 Remove duplicate MAG X870 TOMAHAWK WIFI identification (#2129)
Removed duplicate identification for MAG X870 TOMAHAWK WIFI motherboard.
2025-12-30 17:08:11 +01:00
Lando Verardo 6dcd8838f0 Add limited support for “ASUS ROG STRIX Z690-G GAMING WIFI” (#2117) 2025-12-24 10:55:41 +01:00
lochorst e41611863b Add support for MSI MAG X870E TOMAHAWK MAX WIFI PZ (#2120) 2025-12-24 10:49:22 +01:00
Blacktempel 4e4ed660d2 Add method to be able to access Storage object. (#2116)
* Add method to be able to access Storage object.

* Make property public and remove method.
2025-12-19 15:46:34 +01:00
Soo-Hwan Na f92832dfa9 Add support for ASUS TUF GAMING B850M-PLUS II (#2115) 2025-12-19 15:33:17 +01:00
Rémi Mercier 2c14ac128a Add support for MSI Z390 EDGE AC (NCT6797D) (#2111) 2025-12-16 20:00:33 +01:00
PhyxionNL 073b4ce60b Improve various "Other" D3D friendly names 2025-12-15 12:11:47 +01:00
PhyxionNL 830aa65e0f Support Gigabyte B650 EAGLE AX 2025-12-15 11:56:43 +01:00
Betalos (Oussama Thoura) 8f632dca1c Remove faulty register (#2105) 2025-12-14 15:05:16 +01:00
辉夜 94c742b22d [Feature] Show Performance & Efficient Core instead of Core (#2095)
* Push

* Change Voltages, Temperatures to P/E Core.
Use independent counter for P/E Core.
2025-12-09 12:16:57 +01:00
A1ive ecd1c25b7f Add support for ASUS TUF GAMING B760M-PLUS WIFI D4 (#2097) 2025-12-09 12:15:45 +01:00
呉真andPhyxionNL fc15d76600 Add ASUS ROG STRIX B850-E GAMING WIFI Support (#2093)
* Add ASUS ROG STRIX B850-E GAMING WIFI Support

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-12-08 16:59:01 +01:00
A1ive c94df74fba Add support for Gigabyte A320M-S2H (#2094) 2025-12-08 16:58:20 +01:00
David ReneltandPhyxionNL a792c26891 Add intel vram sensors (#2077)
* Add Intel Arc VRAM sensors support

- Implement BDF-based device matching for Intel discrete GPUs
- Add VRAM sensors (total, used, free, load percentage)
- Use D3D device enumeration with fallback logic
- Enable Windows-specific VRAM monitoring for Intel Arc GPUs
- Fix device identification to distinguish between multiple identical GPUs

Resolves issue where both Intel Arc GPUs showed identical VRAM values.
Now each GPU displays unique, accurate memory usage statistics.

* Add defensive validation to GetBdfFromDeviceIdentifier

- Add null/empty check for deviceIdentifier parameter
- Return false explicitly when LastIndexOf('#') returns -1
- Add DEVPROPTYPE.DEVPROP_TYPE_UINT32 validation after property queries
- Use sizeof(uint) instead of hardcoded 4 for buffer sizes
- Apply PCI spec bit masks (5-bit device, 3-bit function)
- Add bus range validation (0-255)

* Revert to Windows DEVPKEY_Device_Address spec masks

Use 0xFFFF masks as per Windows documentation instead of PCI spec
bit widths. The Windows API uses full 16-bit fields for device and
function numbers.

* Update IntelDiscreteGpu.cs

* Update NativeMethods.txt

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-28 21:54:04 +01:00
Betalos (Oussama Thoura) dcc3825521 Add missing T_Sensor from NCT6799D (#2073) 2025-11-25 10:29:07 +01:00
Alcolawl affd01db48 Re-Structure Fan and Control Register Layout for NCT6687DR, Support 10 new MSI Motherboards (#2068)
* Support for 10 new MSI motherboards with NCT6687D-R SIO controller

* Support for newly established fan and control register structure

WILL ABSOLUTELY BREAK FAN CONTROL CONFIGS FOR NCT6687DR USERS. This introduces Support for 16 System Fans and Controls, including EZ-Connect, Pump Fan 2, and System Fan 7. Also improved the logic for nct6687dr control.
2025-11-24 16:40:59 +01:00
Blacktempel 5a1a40a549 Fix warnings. (#2072) 2025-11-24 16:39:42 +01:00
Betalos (Oussama Thoura) e0cc2e2d4e FIX Correctly Initialize NCT67XX registries (#2069)
* FIX Correctly Initialize NCT67XX registries

* FIX Correclty address X570 phantom temp indexes

* FIX File formatings
2025-11-24 16:39:05 +01:00
David Renelt 4c9e9f5dfd Add VRAM memory and bandwidth sensors for Intel discrete GPUs (#2067)
- Add GPU Memory Total, Used, Free sensors (SmallData type, in MB)
- Add GPU Memory load sensor (percentage)
- Add GPU Memory Read/Write bandwidth sensors (Throughput type, in B/s)
- Use D3DDisplayDevice API to query VRAM usage via Windows kernel
- Match Intel discrete GPUs using PCI vendor/device IDs
- Include fallback detection for Intel GPUs if initial matching fails
- Bandwidth sensors read from Intel GCL telemetry with unit conversion
2025-11-23 13:45:55 +01:00
Rémi MercierandPhyxionNL f6c2c70a50 Try and migrate the old GigabyteController stuff with PawnIO (#2014)
* Try and migrate the old GigabyteController stuff with PawnIO

* Bring back WinRing0 era GigabyteController stuff
* ISABridge use the PawnIO module with its built-in logic
* Ecio uses LpcIO directly (not sure about the initialization logic in TryCreate() to make this work)

* Code-review

* Fix inverted logic
* Remove IsaBridgeEc field init
* Format document

* Combine logic

* Gigabyte Implementation best attempt

* Update IsaBridgeGigabyteController.cs

* Cleanup and fix enablind logic for Isa version

* Add debug logs

* Update IsaBridgeGigabyteController.cs

* Code review

* Unmap + restore the mmio state  is done through the closing of the module.
* Fix boolean logic
* Restore the fan control byte instead

* Fallback to ECIO if FanControl enable byte is 0xFF

+ add logs to ECIO

* Port back to validation logic

* Allow for one or the other MMIO to be 0

* Wrap enter/exit mmio logic + enter/exit each time

* Keep state of EcioPort enable

* Missing dispose + close order fix

* Update IsaBridgeGigabyteController.cs

* Remove empty line before TryCreate method

* Code review

* Remove try/finally for SW

* Cleanup debug log methods

* Add DEBUG_LOG define conditional

* Misc

* Misc

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-20 19:06:32 +01:00
PhyxionNL e5ec823726 Update Nct677X.cs 2025-11-20 18:31:21 +01:00
Stephen HorvathandPhyxionNL b02fc4c4cf Sensors on Framework Laptops (#1681)
* Begin CrOS implementation for Framework Laptops

* CrOS: Talk directly to the EC, instead of through ACPI

* Add a few Framework models

* Remove early Framework models

These have a different EC, and don't currently work

* Migrate CrOS ECs to PawnIO

* Implement EcCommand and read sensor names

* Add more Framework models

* Add some error handling

* Misc

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-19 10:57:57 +01:00
Rémi MercierandPhyxionNL 0ed17c77ce Nct677x Make the Debug,WriteLine opt in with a symbol define (#2048)
* Make the Debug,WriteLine opt in with a symbol define

Having all these Debug,WriteLine made the update method painfully slow and the running process laggy during a debug session.

* Update Nct677X.cs

* Update Nct677X.cs

* Update Nct677X.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-18 10:34:05 +01:00
Blacktempel c333504957 Update DiskInfoToolkit. (#2046)
Remove usage sensor if any partition on disk is another operating system partition as this leads to incorrectly reported free space.
2025-11-14 14:16:45 +01:00
BlacktempelandPhyxionNL f402533ddf Add limited support for MSI MEG Z790 GODLIKE MAX (#2040)
* Add support for MSI MEG Z790 GODLIKE MAX.

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

* Rename M2_1 to M2 #1 in temperature readings

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-13 16:30:56 +01:00
Jerry Liu 813318d379 Support X870E Apex CPU Sensor Index for BIOS 1804+ (#2041)
X870E Apex's CPU Sensor Index changed from 22 to 21 after the latest BIOS 1804 update.
2025-11-13 10:36:12 +01:00
Rémi Mercier 1ce2d63bd5 Make _lastUpdate per storagedevice, not static. (#2024)
Otherwise throttling will only enable 1 drive per cycle to update, always the first.
2025-11-11 10:38:27 +01:00
Blacktempel c542e856d4 Replace Storage implementation with CrystalDiskInfo based implementation (#2015)
* Replace Storage implementation with CrystalDiskInfo based implementation.

* Formatting.

* Code review.

* Code review.

* Increase space for attribute name in report.

* Implement dynamic disk handling for usage sensor.

Disable unused warnings.

* Further cleanup in NativeMethods.txt and referenced.
2025-11-08 10:53:43 +01:00
objecttothis 517794ce53 Add ASRock X870E Nova WiFi Support (#2012)
* Add ASRock X870E Nova WiFi Support

- Added support for Nuvoton NCT5585D chip
- Added support for Nuvoton NCT6796D-S chip
- Added motherboard-specific switch to select the correct chip due to duplicate chip ID/Revision (see #2005)
- Added chips to disable monitor i/o space lock block
- Added business logic to include chips in _superIOs.Add for the Nct677X() logic.
- Added chips to business logic to properly assign indices for fans, controls, temperatures and voltages.
- Added TSENSOR to the enum for SourceNct67Xxd to display the 3rd thermistor sensor.
- Added Naming and Identification for the X870E Nova WiFi
- Supressed warnings and added documentation

* Corrections

These changes reflect scraping the datasheet for the correct registers, half-registers, halfBits, sourceRegisters and alternateRegisters
- Replaced TSENSOR with AUXTIN5 as it is named in the datasheet
- Corrected Register values
- Reworked indexes and temperature naming

* Requested Changes

- Linked to PR instead of Datasheet which may change.
- Changed descriptions to be more understandable rather than using Datasheet labels

* Removed duplicate TSENSOR in enum
2025-11-06 13:39:13 +01:00
Betalos (Oussama Thoura)andPhyxionNL 7aff2a8a77 FIX missing T_SENSOR of X870e Taichi (#2003)
* FIX missing T sensor 3 of X870e Taichi

* FIX Adjust X870E taichi votages readings

* FIX Conditionally add missing register to NCT6799D

* Update Nct677X.cs

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-11-04 12:46:09 +01:00
Betalos (Oussama Thoura) 0d3b16c704 Add support to Gigabyte b650i AX (#2011)
* Add support to Gigabyte B650I

* Update SuperIOHardware.cs
2025-11-03 17:05:33 +01:00
salvathor79andPhyxionNL 2a886a938d X570_MS7C35 added 2 temperatures from NTCs connected to voltage channels. Fixed Nct67x registers. (#1975)
* X570_MS7C35 added 2 temperature form NTCs connected to voltage channels.
Fix Nct677X registers.

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

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

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

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

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-10-31 10:38:03 +01:00
dependabot[bot]PhyxionNLcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Copilot
cbd3f4b1d2 Bump Microsoft.Windows.CsWin32 from 0.3.235 to 0.3.236 (#1999)
* Bump Microsoft.Windows.CsWin32 from 0.3.235 to 0.3.236

---
updated-dependencies:
- dependency-name: Microsoft.Windows.CsWin32
  dependency-version: 0.3.236
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix build compatibility with Microsoft.Windows.CsWin32 0.3.236 (#2000)

* Initial plan

* Fix compatibility with CsWin32 0.3.236 and resource path case sensitivity

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

* Remove unnecessary local variable pData in BatteryGroup.cs

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

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-10-30 23:51:27 +01:00
PhyxionNL 5670130347 Refactor value assignment to use new string constructor 2025-10-29 10:27:01 +01:00
PhyxionNL 21e09cb5b1 Refactor devicePath initialization in BatteryGroup
Ref: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/1946
2025-10-29 10:05:58 +01:00
Arnold VinkandPhyxionNL 4e0ba8959c Added Gigabyte X870 AORUS ELITE WIFI7 ICE support. (#1991)
* Added Gigabyte X870 AORUS ELITE WIFI7 ICE support.

* Update LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/IT87XX.cs

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

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-10-27 13:43:23 +01:00
Serial95andPhyxionNL 9ba0002de6 Add Information for Gigabyte GA-MA790X-DS4 motherboard and more (#1980)
* Add Info for Gigabyte GA-MA790X-DS4 and some Typo corrections

* Fix casing of 'VBAT' to 'VBat' in SuperIOHardware

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-10-24 16:05:12 +02:00
Riccardo Manzan 3abeda696b [#1934] dev: add support for MSI B850M GAMING PLUS WIFI6E (#1967) 2025-10-17 16:45:26 +02:00