Display monitor info via command line
Yes there is, read-edid hardware information-gathering tool for VESA PnP monitors. This tool have two commands: get-edid
and parse-edid
: tools to retrieve and interpret monitor specifications using the VESA VBE DDC protocol. EDID (Extended Display Identification Data) is a metadata format for display devices to describe their capabilities to a video source.
First:
sudo apt-get install read-edid
Then try:
sudo get-edid | parse-edid
$ grep "NVIDIA(GPU-0)" /var/log/Xorg.0.log |head -17| cut -d\: -f2
Display (Samsung SA300/SA350 (DFP-0)) does not support NVIDIA
3D Vision stereo.
The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
mode "1920x1080" is specified in the EDID; however, the
EDID's valid VertRefresh range (56.000-75.000 Hz) would
exclude this mode's VertRefresh (50.0 Hz); ignoring
VertRefresh check for mode "1920x1080".
The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
mode "1280x720" is specified in the EDID; however, the
EDID's valid VertRefresh range (56.000-75.000 Hz) would
exclude this mode's VertRefresh (50.0 Hz); ignoring
VertRefresh check for mode "1280x720".
The EDID for Samsung SA300/SA350 (DFP-0) contradicts itself
mode "720x576" is specified in the EDID; however, the
EDID's valid VertRefresh range (56.000-75.000 Hz) would
exclude this mode's VertRefresh (50.0 Hz); ignoring
VertRefresh check for mode "720x576".
Case where get-edid
does not show all monitors
Like mine, I have:
$ lshw -c display
*-display
description: VGA compatible controller
product: 3rd Gen Core processor Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:27 memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)
get-edid
shows only the external monitor which is plugged to VGA port.
Install
read-edid
sudo apt-get install read-edid
Read EDID info directly from SYSFS tree, it should show all detected monitors
ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"