CPU-X: Linux System Profiling and Monitoring
For those familiar with CPU-Z on Windows,CPU-X delivers a similar experience for Linux users.
- Sean Potter
For nearly twenty years, CPU-Z has been a staple for performance Windows users who want to see as much detailed information about their system as possible. Windows’ built-in device manager and resource monitor only provided so much information about the hardware in a computer, but finding certain settings or tweaks that may have been set in the system BIOS or UEFI may not be exposed. Applications such as CPU-Z have filled this gap for Windows users over the years, however Linux and BSD users have been without a single desktop GUI that gives the same information.
CPU-X was first released in 2014, and can be easily downloaded from their Github repository. Written in C, CPU-X can be run on the desktop with a GTK interface similar to that of CPU-Z, or from the command line using ncurses. It provides to Linux users essentially what CPU-Z provides to Windows users.
The quickest way to install the latest version of CPU-X is by downloading the latest AppImage from their Github Repository. Most modern Linux distributions now support AppImage, a method of packaging compiled programs with all the necessary dependencies, allowing them to run on nearly any compatible distribution, but there are repositories out there with distro-specific builds. Their Github page also documents building CPU-X from source if so desired.
$ wget https://github.com/X0rg/CPU-X/releases/download/v4.5.0/CPU-X-v4.5.0-x86_64.AppImage
chmod +x CPU-X-v4.5.0-x86_64.AppImage
./CPU-X-v4.5.0-x86_64.AppImage Your GPU user mode driver is unknown: 4.6.0 NVIDIA 470.141.03 Failed to create Vulkan for device 1 (VK_ERROR_EXTENSION_NOT_PRESENT) VK_EXT_pci_bus_info is not supported for device 1, use only deviceID for matching Failed to create Vulkan for device 3 (VK_ERROR_EXTENSION_NOT_PRESENT) VK_EXT_pci_bus_info is not supported for device 3, use only deviceID for matching Your CPU socket is not present in the database ==> AMD Ryzen 7 5800X 8-Core Processor , codename: Ryzen 7 (Warhol)
By default, the AppImage launches the desktop version of CPU-X. The interface is remarkably similar to that of CPU-Z, so users familiar with CPU-Z should feel right at home. The first tab lists all the CPU information, such as the model, core speed, support instruction sets, and more. The tab provides information on the CPU’s caches.
The third tab, “Motherboard” is specific to the system’s motherboard, and even provides the firmware version currently flashed. A fourth tab, “System”, provides information about the operating system itself, as well as RAM and swap capacity and usage.
The final profile tab is all about the GPU, or in same instances, GPUs. This tab will show temperature, usage, memory, and even the versions of OpenGL, OpenCL, and Vulkan that are available.
The “Bench” tab provides some basic benchmark utilities, while the final tab, “About”, gives a little bit information about the utility itself.
It’s important to note that CPU-X is also available from the command line, so this utility can be just as useful for retrieving hardware information from headless or GUI-less servers and other remote systems. Adding the “-N” switch to the command will launch the ncurses version of CPU-X:
CPU-Z was a staple of my arsenal of programs for years while testing and reviewing hardware in Windows. CPU-X, which is free and open source, brings a similar level of information about system hardware to Linux users in a very familiar user interface, and even makes that same information available through the command line when dealing with systems that may not have a desktop interface available. This brings a certain level of convenience to users, rather than trying to find motherboard information from a command line tool that requires a certain level of technical expertise.