Skip to content

Repository files navigation

Rustid

A cli CPU identification tool for Arm, Risc-V, PowerPC and x86/x86_64 cpus.

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, Risc V 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 set of binaries that can be run on DOS environments (on real hardware 386-class or better, or with DOSBox/DOSBox-X).
  • UEFI Compatibility: Compiles to a standalone UEFI application (32-bit and 64-bit x86)

Platform Support

Tier 1

Primary platforms, with the majority of testing effort.

DOS EFI Windows macOS Linux Haiku
x86_64 🟢
x86_32 ¹ 🟢
ARM 64 🟢
ARM 32
RISC-V 64
PowerPC
PowerPC 64 ⚠️

Tier 2

These are best-effort platforms: they should work, but information may be more limited and/or less correct.

FreeBSD NetBSD OpenBSD Android
x86_64 ⚠️²
x86_32
ARM 64
ARM 32 ⚠️³ ⚠️³ ⚠️³ ⚠️²
RISC-V 64
PowerPC
PowerPC 64

Legend:

  • 🟢 Supported and CI-tested (just test-all on ubuntu-latest)
  • ✅ Supported
  • ⚠️ Partial
  • ❌ Not supported

Notes:

  • ¹ DOS: requires 386 or newer CPU
  • ² Android: untested, except on Arm64. Runs through termux.
  • ³ ARM 32 BSD: less tested than Arm64
  • ⁴ PowerPC 64 Linux: untested
  • ⁵ Windows ARM 64: limited data

Getting Started

Installing (DOS)

Extract the binaries from the release into the same folder on DOS.

Installing (EFI / UEFI)

Copy the EFI binaries from the Github release (BOOTX64.EFI for 64-bit, BOOTIA32.EFI for 32-bit) to the EFI/BOOT directory of the EFI System Partition. They can also be run from a USB drive.

Installing (MacOS, Linux, Windows, etc.)

  • Rust (cargo needs to be installed)
  • For most environments, cargo install rustid will add rustid to your path
  • Rust on Windows can be slightly more complicated, see this guide for steps to install the MSVC compiler and libraries.

Usage

  • For binaries, just run rustid, for more commands run rustid --help.

Output varies by architecture. Here is an example for x86_64:

--------------- Rustid 2.0.0 (x86_64-linux) ---------------
        System: N7 B650E

  Architecture: x86_64-v4

        Vendor: AuthenticAMD (AMD)

         Model: AMD Ryzen 9 9950X3D2 16-Core Processor

     MicroArch: Zen 5

      Codename: Granite Ridge

  Process Node: 4nm

      Topology: 16 cores (32 threads)

         Cache: L1d: 16x 48 KB, 12-way
                L1i: 16x 32 KB, 8-way
                L2:  16x 1 MB, 16-way
                L3:  2x 96 MB, 16-way

     Frequency: 4.29 GHz

     Signature: Family 1Ah, Model 44h, Stepping 0h
                (11, 15, 4, 4, 0)

      Features: Base: FPU TSC CX8 CX16 CMOV MMX MMX+ 3DNow!-Prefetch HT APIC AMD64
                SSE: SSE SSE2 SSE3 SSE4A SSE4.1 SSE4.2 SSSE3
                AVX: AVX AVX2 AVX-VNNI VPCLMULQDQ
                AVX512: F DQ IFMA CD BW VL BITALG VPOPCNTDQ VP2INTERSECT
                Security: NX RDSEED RDRAND AES VAES SHA AMD-V
                Math: FMA BMI1 BMI2 F16C
                Other: POPCNT

See the examples folder for other examples

Development

See DEVELOPMENT.md

Information References

About

A CLI Utility for viewing CPU info (x86, Arm, PowerPC, RiscV)

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages