Skip to content

L3tum/HardwareInformation

Repository files navigation

HardwareInformation

.NET 5 Cross-Platform Hardware Information Gatherer

GitHub release (latest by date) Nuget

Build Simple Test

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.