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:
- Collect the model strings from the commands above.
- Search the database for the device or the full machine (laptop/desktop model).
- Compare reported driver, kernel version, and compatibility status against your system.
- 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
dmesgfor 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.