Commit Graph
53 Commits
Author SHA1 Message Date
BlacktempelandPhyxionNL 5027bd9d57 Add DIMM Temperature to LHM. (#1743)
* Add DIMM Temperature to LHM.

* Remove RAMSPDToolkit as submodule and use nuget package instead.
Upgrade System.Management assembly (required for nuget package).
Implement retry mechanism for RAM detection due to possible issue at system boot.

* Change to static field.

* Driver now back in LHM.
Ring0 replaced with OLS implementation.

* Update package version.

* Undo most of changes.
Implement IDriver interface.

* Change package to new one.

* Review changes.
Explicitly set UseWMI (current default is also false).

* PR comments:
Now having one DimmMemory instance per RAM stick.
Separated memory sensors into two new classes.

* PR feedback

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-06-23 11:31:17 +02:00
Blacktempel 9cefa1c93a Samsung NVME now being detected properly. (#1762) 2025-06-21 15:04:31 +02:00
EMN-CSharp 4961d4f0a4 Improvements to battery monitoring (#1158)
* Check whether battery values are available

* Rename _degradationPercentage to _degradationLevel

* Add support for temperature monitoring

* Include the battery device name and tag in the hardware identifier

* Set sensor index value properly

* Fix temperature conversion

The returned temperature value must be divided, not multiplied.

* Disable sensors that have a "null" value

* Fix random symbols in battery device name and manufacturer
2024-11-24 11:49:46 +01:00
sebastian-dev b665144692 Direct3D Bugfix (#1472)
https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/1251
wrong structure definition, only had an effect in 32 bit mode
2024-09-27 11:25:41 +02:00
Emerson Pinter 3959e8e3c0 Fix AMD Overdrive, update ADL methods to ADL2 variants (#1332)
After the change of ADL2_Main_Control_Create in commit 07234e3,
overdrive api checks and sensors broke. Updating to ADL2_ variants fixes
the problem.
2024-05-15 19:21:11 +02:00
Emerson Pinter 92bfa55f12 Add memory info for Amd GPUs (#1326)
* Add DedicatedVideoMemorySize to D3D

* Add memory info for Amd GPUs
2024-05-02 23:55:39 +02:00
Emerson Pinter 07234e3594 Avoid multiple initializations of AmdGpu (#1324)
ADL finds multiple logical gpus, this commit avoids multiple
unneeded initializations of AmdGpu class. The main control is moved to
AmdGpuGroup and the ADL_* calls are updated to ADL2_*, using the
context. Adapters using PMlog should be initialized only if sensors are
detected, adapters that pmlog is not enabled or doesn't work, should
fallback previous logic.
2024-05-02 21:42:22 +02:00
Emerson PinterandPhyxionNL 0c3ebb1933 Refactor ADL sensors update (#1317)
* Refactor ADL sensors update

- Check support for each sensor, on OD8 and new PMLog.
- Exclude cards before Vega10 from using PMLog
- Better validation for individual sensor support (for now asic-power/board-power)
- Validate pmlog struct using the lastUpdate, there are situations the
  sensors values are corrupted, maybe because something blocking the pointer access to
  the struct, but this needs to be verified.

* Update AmdGpu.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2024-04-27 13:47:50 +02:00
Emerson PinterandPhyxionNL 331d334aef Add ADL pmlog support, fix metrics on newer gpus (#1308)
* Add ADL pmlog support, fix metrics on newer gpus

Newer GPUs needs this to show performance metrics properly. Sample rate
is hard coded (1000ms).

* Clean up

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2024-04-09 11:00:16 +02:00
Iksas 20b7394e96 fix heap corruption caused by incorrect pointer size in calls to Ftd2xx.dll (#1302) 2024-03-28 19:34:52 +01:00
sebastian-dev ea5d28166c Bugfix: Crash when access to nvml api is unavailable (#1252) 2024-03-25 17:08:15 +01:00
dde9e52823 reading the proposed Total Board Power for RX 7000 Cards (#1123)
* reading the proposed Total Board Power for RX 7000 Cards

* undo requested changes

* Update AmdGpu.cs

---------

Co-authored-by: Peter Hindelang <PHindelang@artiso.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2023-08-31 10:14:40 +02:00
Corey Shuman 6743fd3bc8 fix support for x86 32-bit process builds (#1144) 2023-08-24 10:26:38 +02:00
PhyxionNL 77f2e4b399 Don't request all access for OpenSCManager 2023-03-23 10:46:55 +01:00
PhyxionNL e236d7c9a0 Add support for IPMI sensors and Supermicro IPMI fan control (#1024)
* Add support for IPMI sensors and Supermicro IPMI fan control

Closes #958, thanks to @lukefor
2023-03-21 19:14:10 +01:00
PhyxionNL 50d7adb9ba Fixes #948 2023-03-15 19:11:17 +01:00
PhyxionNL 76245c9a32 Read storage performance sensors without WMI 2023-03-15 18:00:38 +01:00
Arnold Vink 6a1a28a893 Fix for Windows 11 22H2 (22621) incorrect total CPU load issue. (#933)
* Fix for Windows 11 22H2 (22621) incorrect total CPU load issue.

* Fix for Windows 11 22H2 (22621) incorrect total CPU load issue.
2022-12-19 18:55:10 +01:00
PhyxionNL c4ec54e1cf Thread affinity
Don't set thread affinity in IsValid.
Remove SetThreadAffinityMask fallback as SetThreadGroupAffinity is available in W7 and up.
2022-11-07 15:00:44 +01:00
PhyxionNL 58cef111a1 Use file-scoped namespaces (#842) 2022-10-09 13:22:57 +02:00
PhyxionNL 3ac329f247 Fix some code analysis issues (#841) 2022-10-09 13:16:31 +02:00
PhyxionNL 38b97e10d0 Update editorconfig + changes (#771) 2022-06-29 19:38:57 +02:00
PhyxionNL 47f33f91d9 Update Interop
[ci skip]
2022-06-29 18:17:49 +02:00
EMN-CSharp 8d8d84af22 Add battery remaining time sensor (#660) 2022-02-11 19:41:56 +01:00
EMN-CSharp 5152b435fc Add support for battery monitoring (#612)
Thanks to @EMN-CSharp.
2022-02-07 17:05:36 +01:00
Tim Sirmovics 1701eb91b2 Nvidia Hotspot / VRAM temps (#583)
Thanks to @TimSirmovics
2021-10-27 16:34:07 +02:00
Pomian 3cf5fe92fd [Feature] Update library documentation (#580)
* Minor IHardware doc fixes

* Add XML with documentation to NuGet and output

* Update Software namespace docs

* Update some internal classes

* Update main Computer class docs

* Update interfaces docs

* Update Computer class documentation

* Update motherboard docs

* Update hardware docs

* Fix code formatting

* Update SensorVisitor handler doc
2021-10-18 13:23:43 +02:00
PhyxionNL 8c01e4b21b NV API changes (#553)
* NV API changes

Restores parts of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/commit/eea8558825cc0d5a76aa3e57fcc862b5d6f22100 while implementing the missing bits from the original implementation.

Fixes #524.
2021-09-29 11:34:13 +02:00
javguit 0fd00e27bb Fixed compatibility with older AMD/ATI cards when calling ADL2_Adapter_FrameMetrics_Caps (#535) 2021-09-10 11:02:39 +02:00
PhyxionNL eea8558825 Use NvAPIWrapper (#479)
From https://github.com/falahati/NvAPIWrapper
2021-06-21 19:02:10 +02:00
PhyxionNL a10c33ec0a WinRing0 revert (#478) 2021-06-21 18:30:21 +02:00
kolos 5dc6cb95c8 Add D3D GPU Sensors (#426)
Thanks to @kolos.
2021-06-01 13:30:52 +02:00
Nick Babcock 73c0be1384 Rename CopyMemory RtlCopyMemory (#438)
There is no entry for `CopyMemory` exported from kernel32.dll as it is
omitted from the following output:

```
dumpbin /exports C:\Windows\System32\kernel32.dll
```

The name we're looking for is `RtlCopyMemory`. This does not affect
traditional .NET framework users as `CopyMemory` was special cased prior
to .NET core
([source](https://github.com/dotnet/runtime/issues/12496#issuecomment-483442084))

The incorrect entry point will cause an `EntryPointNotFoundException`
for NET core users (ref:
https://github.com/nickbabcock/OhmGraphite/issues/214)

There were a couple other entries in kernel32 that are missing:

  - CreateFile
  - LoadLibrary

Both functions appear to have a `CreateFileA` and `LoadLibraryA`
variant, but I do not know if those are appropriate.
2021-05-09 16:46:11 +02:00
kolos e9af4a5481 Add Fullscreen FPS sensor for AMD GPU (#427)
* Add Fullscreen FPS sensor for AMD GPU

* Renamed variable _fullscreenFPS
2021-04-12 13:38:01 +02:00
kolos b894b4e08e Fix AMD Overdrive5 detection (#425)
* Extract ADL Overdrive5 calls

* Checks whether Amd Overdrive api is supported
2021-04-11 13:58:26 +02:00
PhyxionNL c30ba69f31 Revert "ADL Overdrive 6 support and integration (#386)" (#387)
This reverts commit 411203902b.
2021-02-11 19:03:32 +01:00
Rem0o 411203902b ADL Overdrive 6 support and integration (#386) 2021-02-11 11:17:36 +01:00
PhyxionNL 1d21c74e68 Check whether Ftd2xx DLL exists. 2020-12-07 11:57:54 +01:00
fyilmazzandFurkan YILMAZ f82baea56a add smart health read (#300)
Co-authored-by: Furkan YILMAZ <furkan@apziva.com>
2020-10-02 11:26:18 +02:00
Phyxion 3cc3d9139c Add support for multiple processor groups.
Merge from upstream.
2020-05-11 13:29:52 +02:00
Phyxion a18136b55e Add AMD GPU memory load
Fixes #245
2020-05-11 12:17:16 +02:00
Aaron Wood 0aa01230a6 Fix generic Windows NVMe drive detection (#232) 2020-04-23 22:57:30 +02:00
Stefan Hirschmann b0e7ea96b1 Fix AccessViolationException when closing and reopening a NvidiaGpu instance (#221)
Thanks to @hirschmann
2020-03-30 11:26:50 +02:00
Phyxion 5bd108167d Restore OHM in copyright statement 2020-02-28 11:39:25 +01:00
Phyxion 9a9d670ca7 Update from upstream 2020-02-26 10:58:56 +01:00
Phyxion 6309cbe5a5 Apply code style 2020-02-17 13:12:24 +01:00
Phyxion d1cff07571 Fixes #196
Switch to bus id instead of adapter index.
2020-01-31 15:21:37 +01:00
Nick Babcock f4fb5ad13b Fix source file names on case sensitive file systems (#192)
Source file names will now match the class names.
2020-01-06 10:24:18 +01:00
Ferenc Boldog 36a9d0604b Support rx5700 series (#177)
Fixes #134.
2019-12-17 09:47:39 +01:00
MoshiMoshi0 14338554da Fix buffer over-read causing AccessViolationException in NVMeSamsung (#160) 2019-10-27 10:24:23 +01:00