A lightweight CPU identification tool for Windows, Linux, and DOS. rustid queries processor information using the CPUID instruction and maps it to specific microarchitectures and feature sets. There is also some support for ARM and PowerPC cpu detection.
AI Disclaimer:
This application is developed using some AI, mostly related to:
- DOS Build
- Assembly code
Features
- Multi-Architecture Support: Detects CPUs on x86/x86_64, ARM/AArch64, and PowerPC.
- Vendor & Model Detection: Identifies CPUs from Intel, AMD, Cyrix, VIA, Zhaoxin, Rise, Transmeta, Apple Silicon, Qualcomm, and more.
- Feature Flag Reporting (x86): Detects support for FPU, MMX, SSE (up to 4.2), AVX, AVX-512, BMI, and others.
- Cache & Topology Info: Displays cache sizes, associativity, core/thread counts, and socket counts.
- DOS Compatibility: Compiles to a single binary that can be run on DOS environments (on real hardware 386-class or better, or with DOSBox/DOSBox-X).
Getting Started
Prerequisites
- Rust (
rustupandcargoneed to be installed) just- Required to run build scripts. Can be installed withcargo install just.- DOSBox-X (optional) - Helpful for development and testing of the DOS version
Building
Standard Build:
Build for DOS:
This produces a rustid.com binary compatible with DOS environments (like DOSBox-X).
Cross-Compilation:
For other architectures, see the justfile for available targets (just build-arm64, just build-ppc, etc). Cross-compilation should be considered experimental.
Usage
Simply run the compiled binary to see your CPU details:
Output varies by architecture. Here is an example for x86_64:
---------------------
Rustid version 0.9.0
---------------------
Architecture: x86_64_v4
Vendor: AuthenticAMD (AMD)
Model: AMD Ryzen 9 7950X3D 16-Core Processor
MicroArch: Zen 4
Codename: Raphael
Process Node: 5nm
Cores: 16 cores (32 threads)
Cache: L1d: 16x 32 KB, 8-way
L1i: 16x 32 KB, 8-way
L2: 16x 1 MB, 8-way
L3: 96 MB, 16-way
Frequency: 4.19 GHz
Signature: Family 19h, Model 61h, Stepping 2h
(10, 15, 6, 1, 2)
Features: FPU TSC CMPXCHG8B CMPXCHG16B CMOV MMX HT AMD64 SSE SSE2 SSE3 SSE4A SSE4.1 SSE4.2 SSSE3 AVX AVX2 AVX512F FMA BMI1 BMI2 RDRAND POPCNT F16C
For ARM and PowerPC, the output includes different fields (e.g., brand/implementor, codename, cache per core type).
Information References
- sandpile.org - One of the best known x86 references
- cpufetch (a similar tool that might work better for you)
- Paradice CPUID Guide - helpful for Cyrix workarounds
- x86-cpuid-db - good reference of various cpuid information leaves
- cpuid visualizer - helpful for mapping cpu signatures from other sources
- CPU-World
- My own hardware collection