Skip to content

Dr-Noob/cpufetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

OS x86_64 / x86 ARM RISC-V PowerPC
GNU / Linux ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️
Android ✔️ ✔️
macOS ✔️ ✔️ ✔️
FreeBSD ✔️

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:

Packaging status

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

  1. Install termux app (terminal emulator)
  2. Run pkg install -y git make clang inside termux.
  3. Build from source normally:

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:

  1. You are running an old release of cpufetch (most likely)
  2. 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!