What Hardware Details Can You Check on a Linux System?

Updated

You can check nearly every major hardware component on a Linux system—CPU, memory, storage, GPU, network adapters, and motherboard—using built-in commands and system files, without installing anything. The practical goal is to identify exact model numbers, capacities, and the driver in use, then compare them against a hardware database such as the Linux Hardware Database (linux-hardware.org) to judge Linux compatibility. This guide covers what to check, how to retrieve it, and how to read the results.

The hardware categories worth checking

Focus on six areas. Each answers a different question about the machine.

Category What you want to learn Typical tools
CPU Model, cores, threads, architecture lscpu, /proc/cpuinfo
Memory Total capacity, speed, slots used free -h, sudo dmidecode -t memory
Storage Drives, model, capacity, interface lsblk, sudo smartctl -i
GPU Chip model, kernel driver in use lspci -k, glxinfo
Network Adapter model, driver, link status lspci -k, ip link, ethtool
Motherboard/BIOS Vendor, board model, firmware version sudo dmidecode -t baseboard, sudo dmidecode -t bios

Retrieving details with built-in commands

CPU

lscpu

Expected output includes architecture, CPU model name, core and thread counts, and cache sizes. For per-core flags and vendor, read /proc/cpuinfo. The model name string is what you match against a database entry.

Memory

free -h
sudo dmidecode -t memory

free -h gives usable total. dmidecode reports each slot: size, type (DDR4/DDR5), speed, and manufacturer. If dmidecode shows empty slots or a lower total than expected, that is a detection or seating issue, not a Linux limitation.

Storage

lsblk -o NAME,MODEL,SIZE,TRAN
sudo smartctl -i /dev/nvme0

lsblk shows device names, models, capacity, and transport (SATA, NVMe, USB). smartctl (from smartmontools) adds firmware and interface details. The model string is the key for compatibility lookups.

GPU and network

lspci -k

The -k flag is the important part: it lists the kernel driver in use for each device. A GPU or Wi-Fi adapter with no driver line, or with Kernel driver in use: nouveau where you expected a proprietary driver, tells you immediately where a problem lies.

Motherboard and firmware

sudo dmidecode -t baseboard
sudo dmidecode -t bios

These give vendor, board model, and BIOS/UEFI version—useful when a database entry depends on firmware level.

Reading the details correctly

Three fields carry most of the diagnostic weight:

  • Model number — the exact string, not a marketing name. "Intel Wi-Fi 6 AX200" is matchable; "Intel wireless" is not.
  • Driver in use — confirms the kernel recognized the device and loaded a module. Missing driver is the most common cause of "hardware not working."
  • Capacity and speed — compare reported values against the spec sheet. A RAM stick reporting half its rated speed often means a slot or BIOS setting issue.

Comparing against a hardware database

The Linux Hardware Database (linux-hardware.org) is a high-detail database of computer hardware with reported Linux compatibility. The workflow:

  1. Collect the model strings from the commands above.
  2. Search the database for the device or the full machine (laptop/desktop model).
  3. Compare reported driver, kernel version, and compatibility status against your system.
  4. If your device is absent, submitting a probe adds data for the next user.

Use the database to answer "will this work before I buy" and "why doesn't mine work" with the same evidence.

When missing details signal a problem

Incomplete output is itself information:

  • Device listed but no driver — kernel module missing or unsupported; check dmesg for errors.
  • RAM slots empty or underreported — reseat modules or check BIOS memory mapping.
  • Storage model blank — controller in a compatibility mode; check BIOS SATA/NVMe settings.
  • GPU shows a fallback driver — expected for some cards; confirm whether the intended driver is installed.

Cross-check any anomaly in the hardware database before assuming a fault—sometimes the "missing" detail is normal for that chipset.