HardwareInformation icon indicating copy to clipboard operation
HardwareInformation copied to clipboard

.NET Standard Cross-Platform Hardware Information Gatherer

HardwareInformation

.NET 5 Cross-Platform Hardware Information Gatherer

GitHub release (latest by date) Nuget

Build Simple Test

  • Features
  • Goal

Usage

Download from Nuget via your favorite Nuget client like dotnet

dotnet add package HardwareInformation

Get hardware information from the gatherer

MachineInformation info = MachineInformationGatherer.GatherInformation(bool skipClockspeedTest = true)

Result is cached internally so don't worry about calling it multiple times

Overall Features

  • No Kernel Driver, Module or Administrator/Elevated Rights needed
  • Supports Windows, Linux and OSX
  • Pretty fast :)
  • Supports multiple CPUs (i.e. multiple Sockets) and GPUs
  • Supports BIG.little as far as Intel and Apple provided it
  • Supports ARM, x86 and AMD64
  • Lots of information provided

A detailed list of information gathered by this library can be found in here, although the OS-specific remarks may not always be accurate.

Goal

The immediate goal is somewhat feature-parity with CPU-Z/CPUID. While this may be impossible for some features (like RAM latencies) without a kernel driver, part of the goal is also to bring these kind of capabilities without requiring a software installation or kernel driver.

In some parts, this library has already more features than CPU-Z/CPUID, since it's cross-platform (for most features).

TODOs are tracked in the feature table. Crosses basically mean TODO.