Commit Graph
475 Commits
Author SHA1 Message Date
Nick Babcock b39bf31fac Fix DimmMemory concatenated identifier (#1923)
Instead of identifiers like `/memory%2Fdimm%2F0`, I'm assuming they are
meant to be split up like `/memory/dimm/0`
2025-10-01 19:25:53 +02:00
PhyxionNL 43fd84d182 Fixes #1824 2025-10-01 12:50:35 +02:00
PhyxionNL 2eb3105252 Merge branch 'master' of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor 2025-10-01 10:42:02 +02:00
PhyxionNL e2227e2d94 Fixes #1919 2025-10-01 10:42:01 +02:00
demorfi bcc197f265 Added base support Asus ROG Crosshair X670E Hero and PSU MSI MEG Ai1300P (#1575)
* Added base support matherboard Asus ROG Crosshair X670E Hero

* Added base support PSU MSI MEG Ai1300P

* Refactoring MSI PSU lib
2025-09-30 19:03:13 +02:00
PhyxionNL d594734225 Move remainder to CsWin32 (#1918) 2025-09-30 18:58:21 +02:00
PhyxionNL 1d7b3223c9 Move more to CsWin32 (#1917) 2025-09-30 16:50:44 +02:00
PhyxionNLandCopilot ee60348eac Use CsWin32 (#1912)
* Use CsWin32

* Update LibreHardwareMonitorLib/Hardware/Cpu/CpuLoad.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update pull requests.yml

* Update pull requests.yml

* Update master.yml

* A couple more to CsWin32

* Restore PawnIO defaults

Fixes #1910

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-29 18:48:00 +02:00
Teemu KorhonenandPhyxionNL c56cf3f042 Use PawnIO driver directly in LibreHardwareMonitorLib (#1908)
* Use PawnIO driver directly.

- Implemented PawnIO library in C#
- Builds in AnyCPU, x64 and x86
- Fixes #1895

* Implement review changes for PawnIO.

- Use existing Kernel32.CreateFile import.
- Move new DeviceIOControl to Kernel32.
- Replace Lazy Version loading with static property.
- Remove bin resource cache.
- Add constant for function name length.

* More review changes for PawnIO.

- Replace redundant internal checks with IsLoaded.
- Convert Win32 error code to HRESULT before returning it in
  ExecuteHR()

* Drop KernelDriver

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-09-29 16:41:57 +02:00
PhyxionNL 79a043e5bf Fixes #1889 2025-09-27 12:54:24 +02:00
辉夜andPhyxionNL 3023089017 Changed NvApi lifecycle (#1885)
* Changed NvApi lifecycle

* Changed from public to internal

* Revert unnecessary changes.
Reinitialize() -> Initialize().

* Refactor try-catch blocks for NVML device methods

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-09-26 10:34:20 +02:00
Jonathan Smith 16fcb62135 fix: Add missing sensors for Asus ROG X670E-HERO / GENE (#1900) 2025-09-25 19:15:50 +02:00
Betalos (Oussama Thoura) 12fcfa6752 Record RTX 50XX gpu core temp with decimal precision (#1899) 2025-09-25 19:05:35 +02:00
PhyxionNL ca5f07d776 Merge branch 'master' of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor 2025-09-25 18:54:12 +02:00
PhyxionNL 9ad730d811 Clean up CorsairPsu 2025-09-25 18:54:08 +02:00
JoeBroesele a18b1221ad Added support for Lenovo V50t Gen 2. (#1897) 2025-09-25 11:54:33 +02:00
PhyxionNL 4534276fb6 Add MS-7C35 motherboards
Closes #1573
2025-09-23 11:57:13 +02:00
PhyxionNL 8b9c33100d Update SuperIOHardware.cs 2025-09-23 11:43:44 +02:00
PhyxionNL 8042a505b0 Merge branch 'pr/1503' 2025-09-23 11:42:48 +02:00
PhyxionNL 4d77721c42 Merge 2025-09-23 11:40:21 +02:00
PhyxionNL 0f86b50ff4 Merge branch 'pr/1578' 2025-09-23 11:40:15 +02:00
PhyxionNL aa4428ba2a Rename 'CPU VDDIO / MC' to 'CPU VDDIO Memory' 2025-09-23 11:37:55 +02:00
PhyxionNL c234bb5a88 Update SuperIOHardware.cs 2025-09-23 10:44:27 +02:00
Betalos (Oussama Thoura) 52f22e0f7b Add support for Asrock X870E Taichi (lite) (#1888) 2025-09-23 10:40:09 +02:00
Blacktempel bb65e069fd Fix memory only being available for Intel (#1887)
* Current implementation of PawnIo.LoadModuleFromResource swallows exceptions instead of throwing them like it has been previously.
It also returns a not-null PawnIo object.
RAMSPDToolkitDriver has been catching exception, returning false for LoadModule and checking if returned object is null.
Therefore the return for a failed loaded module was true where it should have been false.

Returning null from PawnIo.LoadModuleFromResource in catch block fixes this issue.

* Add IsValid property for PawnIo and check in RAMSPDToolkitDriver.
Remove null return.

* Update RAMSPDToolkit to newest version.
Fixes bug in .NET Framework and changed PawnIO interface due to adjusted Piix4 detection.

Add new Data sensor.

* Rename property.
2025-09-23 10:38:48 +02:00
辉夜 3d8642c03f Fix RTX 40 Series Hot Spot and Memory Junction sensor not reading (#1890)
* Resolved an issue where RTX 40 Series sensors.

* change if to else if
2025-09-22 23:00:21 +02:00
Rémi Mercier afa34e080e close lmsensors+lpcIO after hardware.close() (#1886)
internally hardware.close() may use lpcIO like SuperIOHardware which does SetControl(index, null).
2025-09-22 22:56:07 +02:00
Vladimir 4477ae8826 Merge remote-tracking branch 'upstream/master' 2025-09-22 02:14:29 +03:00
Betalos (Oussama Thoura)andPhyxionNL 2f595d76c2 FIX RTX 50XX Memory junction temp reading (#1878)
* Update NvidiaGpu.cs

* Enhance 50 series detection logic

* Remove unused namespace import in NvidiaGpu.cs

Removed unused 'System.Xml.Linq' namespace import.

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-09-21 13:54:21 +02:00
namazsoandPhyxionNL eb5e1a20be Swap WinRing0 to PawnIO (#1857)
* Replace WinRing0 with PawnIO

* Update RAMSPDToolkit

* Add install check + cleanup

* Move folder + formatting

* Add back missing TryLoadDll

* Update PawnIo.cs

* Add third party notices file

* Remove the how to apply section

* Drop silent

* Don't crash if PawnIO isn't installed

* Formatting

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-09-16 11:58:31 +02:00
Jerry Liu 1704f8c7b7 Support ASUS ROG Crosshair X870E Apex (#1834)
* Support ASUS ROG Crosshair X870E Apex

* Remove unnecessary HashSet

* Adjust Temperature Sensor Mapping

Both Temp #1 and Temp #22 move with CPU load, but it looks like Temp #22 is actually CPU which is the same as the Hero. #1 doesn't align mostly with VRM but isn't an exact match.

* Refactor temperature sensor mapping

Replaces the temperature sensor dictionary mapping with explicit additions for known sensors and a loop to add unmapped sensors.
2025-09-11 15:35:37 +02:00
WinFinn 92af930021 Add sensors to aquacomputer d5 next (#1825)
* Add sensors to D5Next

* Cleanup debug code
2025-09-08 13:16:37 +02:00
Blacktempel 3f8294898d RAMSPDToolkit Update + timings added (#1835)
* Workaround for page changing on DDR5 systems with SPD Write Protection active has been implemented in new version of RAMSPDToolkit.

Code for LHM has been adjusted accordingly.

Added more sensors (timings).

* Move abbreviation of timings to start of string.

* Simplify names for timings.

* Update version.

* Remove extra padding.
2025-09-08 13:14:32 +02:00
Nick Babcock 16ad77afc6 Disambiguate TotalMemory and VirtualMemory identifiers (#1817)
Both use the "ram" hardware identifier which makes it difficult for
downstream applications to disambiguate them.
2025-09-04 20:16:11 +02:00
MoshiMoshi0 cc9b897368 Fix possible collection was modified exception (#1836) 2025-09-04 20:14:32 +02:00
MoshiMoshi0andPhyxionNL 418e9ec85f Fix missing DIMM temperature sensors (#1821)
* Fix missing DIMM temperature sensors

* Update MemoryGroup.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-08-29 10:39:41 +02:00
sebastian-dev 78829b97e1 Fix issues with missing samsung nvme data. (#1818)
Reorder read out order in the same way as CrystalDiskInfo
2025-08-29 10:34:45 +02:00
Vladimir 28f57d51d7 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs
2025-08-10 02:00:59 +03:00
Rémi Mercier 8036ea21cb Restore fan control for IT8696E + make the 0 values array specific to the X870 Aorus elite WIFI7 (#1812)
* Make the 0 values array specific to the X870 Aorus elite WIFI7

* Update IT87XX.cs

* Update IT87XX.cs

* Update IT87XX.cs
2025-08-06 16:54:53 +02:00
Mihai Vasiliu c40db485f9 Add support for MSI PRO Z890 WIFI (Nuvoton NCT6687D) (#1809) 2025-08-05 12:42:27 +02:00
Rémi Mercier 06b714ae1b MemoryGroup: Remove retry + proper identifier (#1797)
* Remove retry + proper identifier

* Update LibreHardwareMonitorLib.csproj

* Revert "Update LibreHardwareMonitorLib.csproj"

This reverts commit 185aa2dbd3d338da79aff8bfa9419f016d107e77.

* Add safer retry logic for MemoryGroup

* Move kernel driver assignation in instance ctor instead of static (one time) ctor, since Ring0 can get closed and reopened multiple times in the lifetime of an application.
* Add Task based retry logic with try catch + exception reporting + hardware changed event

* Update MemoryGroup.cs

* Update RAMSPDToolkitDriver.cs

* Update RAMSPDToolkitDriver.cs

* Mutate _hardware field to avoid enumeration exceptions

* Add Report + set configureAwait on the Delay.
2025-07-21 21:28:46 +02:00
PhyxionNL 8dc7d17e45 NetworkGroup thread safety 2025-07-21 18:15:58 +02:00
PhyxionNL 250cdc6d3f Update SuperIOHardware.cs 2025-07-21 17:30:49 +02:00
PhyxionNL 8d18f151ce Update Model.cs 2025-07-21 17:24:58 +02:00
aeeviandPhyxionNL 719ef68908 Added support for Asus ROG STRIX X870-I Gaming WIFI (#1566)
* added asus rog strix x870i gaming wifi

* Add chipset fan temp and control

* Update SuperIOHardware.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-07-21 17:20:01 +02:00
PhyxionNL e920eca98d Fix whitespace 2025-07-21 17:03:44 +02:00
fd3bfeb7c5 GIGABYTE X870 AORUS ELITE WIFI7 (ITE IT8696E, ITE IT87952E) (#1510)
* Initial support for Gigabyte X870 AORUS ELITE WIFI 7 and ITE IT8696E

* remove unintentional gitignore change

* Add support of X870E AORUS ELITE WIFI7

* Remove X870E

* move x870 to its own case

* rename fan#3

* apply suggestion from code review

* Fix broken merge

* Update IT87XX.cs

* Update IT87XX.cs

---------

Co-authored-by: davidmoellmann <public.cushy530@passinbox.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-07-21 17:01:53 +02:00
Maciej ZonskiandPhyxionNL 4a964dd6c4 Add support for ROG STRIX X870-I GAMING WIFI (#1794)
* Add support for ROG STRIX X870-I GAMING WIFI

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

* Update LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-07-21 16:57:07 +02:00
xnaughtandPhyxionNL 6267899eb8 Fix null reference in MemoryGroup when Ring0 is disabled. (#1796)
* Create RAMSPDToolkitDriver with null when Ring0 is absent

* Update MemoryGroup.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-07-21 16:55:20 +02:00
Alcolawl 3b1c1cbd12 Add support for three additional MSI motherboards (#1791)
* Add Support for MSI B840P PRO WIFI

* Rectify loop mathematical operator syntax

* Add support for two additional motherboards

Z890 Gaming Plus Wifi and Pro Z890-S Wifi Project Zero
2025-07-17 13:30:56 +02:00