hardware.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 03 Jan 2019 22:13:18 +0200
changeset 2334 c44e4331713c
parent 2252 95d312f81861
permissions -rw-r--r--
merged

.. -*- coding: utf-8; -*-

================
 List hardware.
================
.. contents::
   :local:

Linux hardware compatibility databases.
=======================================

http://www.linux-drivers.org/
  Links for various databases.
https://h-node.org/
  Hardware database of devices that work with a fully free operating system.
http://linux-sound.org/hardware.html
  Audio interfaces for Linux.
http://openbenchmarking.org/
  Public result database from Phoronix Test Suite for Linux.

Distros list of supported hardware:

https://wiki.debian.org/InstallingDebianOn/
  How to install, configure and use Debian on some specific hardware.
https://en.opensuse.org/Hardware
  OpenSuse.
https://hardware.redhat.com/
  RedHat.

List of supported video / graphics card / chipset card by Xorg:

http://xorg.freedesktop.org/wiki/Projects/Drivers/
  graphics card / chipset

List of supported laptops/mobile:

http://www.linux-on-laptops.com/
  Reports on running Linux on notebook or laptop computers.
http://tuxmobil.org/
  Laptop/mobile support.

Printers:

http://www.openprinting.org/printers
  List of printers.
http://www.openprinting.org/drivers
  List of drivers.

LAN:

http://linux-wless.passys.nl/
  Linux wireless LAN support.

List hardware under Linux.
==========================

Command line:

``dmesg``
  Messages about detecting new hardware.
``lshal -m``
  monitor for hardware changes
``lspci``
  All PCI devices.
``lspci -vvv``
  All PCI devices. Very verbose output.
``sudo lspci -vvvnn``
  All PCI devices. Very verbose output with vendor and device codes as both numbers and names.
``hwinfo --short``
  Overview of all hardware, as well as more detailed info.
``lshw``
  Another program for listing hardware.
``lshw -html | w3m -T text/html``
  Lists hardware with HTML output in the w3m web browser.
``uptime``
  Current time elapsed since last reboot, users, and load average.
``lsusb``
  USB buses and attached devices.
``lsusb -vvv``
  USB buses and attached devices. Very verbose output.

GUI: ``hardinfo``, ``lshw-gtk``.

List hardware under Windows.
============================

``%WINDIR%\system32\msinfo32.exe``
  msinfo32
http://www.cpuid.com/softwares/cpu-z.html
  cpu-z
``%WINDIR%\system32\dxdiag.exe``
  DirectX Diagnostic Tool
``%WINDIR%\system32\devmgmt.msc /s``
  Device Manager
https://www.hwinfo.com/
  In-depth Hardware Information for Windows.

List processors.
================

``cat /proc/cpuinfo``
  All processors, clock speeds, flags, and more.
``watch -d grep MHz /proc/cpuinfo``
  CPU MHz speed monitor.
``cat /proc/loadavg``
  Processor load average for the last 1, 5, and 15 minutes.
``top``
  Press C key to sort processes by CPU usage.
``sudo powertop``
  CPU usage by processes, idle/freq/dev stats

For Windows 10 use ``coreinfo``.

List memory.
============

``free``
  Total, used, and free memory.
``free -m``
  Total, used, and free memory shown in MB.
``cat /proc/meminfo``
  Amount of RAM and swap, and how much is being used for what.
``top``
  Real-time memory consumption. Press M key to sort processes by memory usage.

::

  $ cat /proc/meminfo
  $ sudo lshw -class memory
  $ sudo lshw -short -C memory
  $ sudo dmidecode --type memory

  $ sudo apt-get install i2c-tools
  $ sudo modprobe eeprom
  $ sudo decode-dimms

  $ read-edid

Graphics card/GPU/DRM.
======================

``glxinfo``
  Details about OpenGL, the Xserver, and your graphics card.
``glxinfo | grep direct``
  Do you have direct 3d rendering?
``glxinfo | grep vendor``
  Graphics card vendor.
``lspci | grep VGA``
  Specific graphics card model.
``glxgears``
  A simple 3d benchmark, prints frame rate to the terminal.
``xrandr``
  Supported display resolutions.
``xdpyinfo``
  Utility for displaying information about an X server, monitor DPI, resolutions, etc.
``xvinfo``
  Print out X-Video extension adaptor information.
``xdriinfo``
  Query configuration information of DRI drivers.

``GPU-z`` may be used under Windows.

Nvidia cards.
-------------

What cards present on system and what monitors managed by card::

  $ sudo apt-get install nvidia-settings
  $ nvidia-settings

Memory usage, GPU utilization and temperature for Nvidia cards::

  $ sudo apt-get install nvidia-smi
  $ nvidia-smi

https://nouveau.freedesktop.org/wiki/
  Open source drivers for GeForce cards.

Intel cards.
------------
::

  $ sudo apt-get install intel-gpu-tools

Show ``top`` like statistics::

  $ intel_gpu_top

Show GPU usage like ``time`` command::

  $ intel_gpu_time $CMD

AMD/Radeon cards.
-----------------

For ``fglrx`` driver::

  $ aticonfig --odgc --odgt

Audio.
======

``lspci | grep Audio``
  Audio controller.
``aplay --list-devices``
  More audio device information.

Software versions.
==================

``cat /etc/issue``
  Current distribution and version.
``apt-cache showpkg packagename``
  Packagename’s version and dependencies.
``uname -r``
  Linux kernel version.
``uname -a``
  All kernel details.

Networking.
===========

``lspci | grep Ethernet``
  Ethernet controllers.
``lshw -class network``
  Hardware capabilities of network devices.
``sudo ethtool eth0``
  Hardware capabilities of network device.
``ethtool -i eth0``
  Driver info.
``ip link show``
  List of netword devices and MAC addresses.
``ip addr show``
  List of netword devices, assigned IP addresses and MAC addresses.
``ifconfig``
  Networking interfaces, IP addresses, and more.

Hard disks.
===========

``df -H``
  Partitions, as well as their mount-points and usage in GB.
``sudo fdisk -l``
  All partitions, their device names, and positions on disk.
``hwinfo --disk`` or  ``lshw -class disk``
  Disk hardware info.
``smartctl``
  Show S.M.A.R.T. reports about disk heals.

Fan/temperature/voltage.
========================

Detect available sensors::

  $ sudo apt-get install lm-sensors
  $ sudo sensors-detect

Load corresponding kernel module, like::

  $ sudo modprobe coretemp

Check output::

  $ sudo sensors

``sensors`` uses ``/sys/class/hwmon/*`` hierarchy.

HDD temperature through SMART::

  $ sudo hddtemp /dev/sd?

BIOS info.
==========

Human readable string with BIOS.motheboard names::

  $ dd if=/dev/mem bs=64k skip=15 count=1 | strings

Find out virtualization type
============================
::

  $ sudo apt-get install virt-what
  $ virt-what

  $ sudo apt-get install imvirt
  $ imvirt

  $ dmidecode -s system-product-name