cpufetch Dr-Noob
winget install --id=Dr-Noob.cpufetch -e
Simple yet fancy CPU architecture fetching tool
cpufetch is a command-line tool designed to display CPU architecture information in a visually appealing and user-friendly format. It provides detailed insights into the processor's microarchitecture, making it easier for users to identify and understand their system's hardware.
Key Features:
- Support for multiple architectures including x86_64, ARM, PowerPC, and RISC-V.
- Cross-platform compatibility with Linux, Windows, macOS, and Android.
- Customizable color schemes for the CPU logo and text output.
- Detailed detection of CPU microarchitecture and vendor-specific information.
Audience & Benefit: Ideal for system administrators, developers, hardware enthusiasts, and anyone requiring detailed insights into their processor's capabilities. cpufetch simplifies the identification of CPU architecture and provides a visually appealing way to display this information, helping users quickly understand their system's hardware configuration.
The tool can be installed via winget on supported platforms, ensuring easy setup for users.
README
Simple yet fancy CPU architecture fetching tool
cpufetch is a command-line tool written in C that displays the CPU information in a clean and beautiful way
Table of contents
- 1. Support
- 2. Installation
- 3. Examples
- 4. Colors
- 5. Implementation
- 6. Bugs or improvements
- 7. Acknowledgements
- 8. cpufetch for GPUs (gpufetch)
1. Support
OS | x86_64 / x86 | ARM | RISC-V | PowerPC |
---|---|---|---|---|
GNU / Linux | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Windows | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
Android | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
macOS | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: |
FreeBSD | :heavy_check_mark: | :x: | :x: | :x: |
NOTES:
- Colors will be used in Windows only if the terminal supports it.
- Support in macOS ARM is limited to Apple chips only
2. Installation
2.1 Installing from a package
Choose the right package for your operating system:
If there is no available package for your OS, you can download the cpufetch binary from the releases page, or build cpufetch from source (see below).
2.2 Building from source
You will need a C compiler (e.g, gcc
) and make
to compile cpufetch
. Just clone the repo and run make
:
git clone https://github.com/Dr-Noob/cpufetch
cd cpufetch
make
./cpufetch
2.3 Android
- Install
termux
app (terminal emulator) - Run
pkg install -y git make clang
inside termux. - Build from source normally:
- git clone https://github.com/Dr-Noob/cpufetch
- cd cpufetch
- make
- ./cpufetch
3. Examples
3.1 x86_64
AMD EPYC HPC server
Intel Xeon HPC server
3.2 ARM
Samsung Galaxy S8 (left) Xiaomi Redmi Note 7 (right)
3.3 PowerPC
Talos II
3.4 RISC-V
StarFive VisionFive 2
4. Colors
By default, cpufetch
will print the CPU logo with the system colorscheme. However, you can set a custom color scheme in two different ways:
4.1 Specifying a name
By specifying a name, cpufetch will use the specific colors of each manufacture. Valid values are:
- intel
- intel-new
- amd
- ibm
- arm
./cpufetch --color intel (default color for Intel)
4.2 Specifying the colors in RGB format
5 colors must be given in RGB with the format: [R,G,B:R,G,B:R,G,B:R,G,B:R,G,B]
. These colors correspond to the CPU logo color (first 3 colors) and for the text colors (following 2).
./cpufetch --color 239,90,45:210,200,200:0,0,0:100,200,45:0,200,200
5. Implementation
See cpufetch programming documentation.
6. Bugs or improvements
6.1 Unknown microarchitecture error
If you get the Unknown microarchitecture detected
error when running cpufetch, it might be caused by two possible reasons:
- You are running an old release of cpufetch (most likely)
- Your microarchitecture is not yet supported
Download and compile the latest version (see https://github.com/Dr-Noob/cpufetch#22-building-from-source for instructions) and verify if the error persists.
- If the error dissapears: It means that this is the first situation. In this case, just use the latest version of cpufetch which already has support for your hardware.
- If the error does not dissapear: It means that this is the second situation. In this case, please create a new issue with the error message and the output of 'cpufetch --debug' on https://github.com/Dr-Noob/cpufetch/issues
6.2 Other situations
See cpufetch contributing guidelines.
7. Acknowledgements
Thanks to the fellow contributors and interested people in the project. Special thanks to:
- Gonzalocl and OdnetninI: Tested cpufetch in the earlier versions of the project in many different CPUs.
- Kyngo: Tested cpufetch in the Apple M1 CPU.
- avollmerhaus: Helped with PowerPC port giving ssh access to a PowerPC machine.
- bbonev and stephan-cr: Reviewed the source code.
- mdoksa76 and exkc: Excellent ideas and feedback for supporting Allwinner SoCs.
- Sakura286, exkc and Patola: Helped with RISC-V port with ssh access, ideas, testing, etc.
- ThomasKaiser: Very valuable feedback on improving ARM SoC detection (Apple, Allwinner, Rockchip).
- zerkerX: Helped with feedback for supporting old (e.g., Pentium III) Intel CPUs.
8. cpufetch for GPUs (gpufetch)
See gpufetch project!