1edid-decode(1)              General Commands Manual             edid-decode(1)
2
3
4

NAME

6       edid-decode - Decode EDID data in human-readable format
7

SYNOPSIS

9       edid-decode <options> [in [out]]
10

DESCRIPTION

12       edid-decode  decodes  EDID  monitor  description data in human-readable
13       format.  If [in] is not given, or [in] is '-', then the  EDID  will  be
14       read from standard input. If [out] is given then the EDID that was read
15       from [in] is written to [out] or to standard output if [out] is '-'. By
16       default  the  output  is written as a hex dump when writing to standard
17       output or a raw EDID if written to a file.
18
19       If [out] is given then edid-decode only does the  conversion,  it  will
20       skip the decoding step.
21
22       Input  files may be raw binaries or ASCII text.  ASCII input is scanned
23       for hex dumps; heuristics are included to search for hexdumps in  edid-
24       decode(1)  output  (as  long  as  the  initial  hex dump was included),
25       xrandr(1) property output and Xorg(1) log file formats,  otherwise  the
26       data  is  treated as a raw hexdump.  EDID blocks for connected monitors
27       can be found in /sys/class/drm/*/edid on modern Linux systems with ker‐
28       nel modesetting support.
29
30       All timings are shown in a short format, for example:
31
32           VIC   16:   1920x1080    60.000  Hz  16:9    67.500 kHz 148.500 MHz
33       (native)
34           VIC   5:  1920x1080i  60.000 Hz  16:9    33.750 kHz  74.250 MHz
35           VIC  39:  1920x1080i  50.000 Hz  16:9    31.250 kHz  72.000 MHz
36
37       Each format starts with a  timings  type  prefix,  the  resolution,  an
38       optional  interlaced  indicator  ('i'),  the frame rate (field rate for
39       interlaced formats), the picture  aspect  ratio,  the  horizontal  fre‐
40       quency,  the  pixelclock  frequency  and  optionally  additional  flags
41       between parenthesis.
42
43       Note that for interlaced formats the frame height  is  given,  not  the
44       field height. So each field in a 1920x1080i format has 540 lines.
45
46       Detailed timings have another 2-3 lines of data:
47
48           VIC   16:   1920x1080    60.000  Hz  16:9    67.500 kHz 148.500 MHz
49       (native)
50                          Hfront   88 Hsync  44 Hback 148 Hpol P
51                          Vfront    4 Vsync   5 Vback  36 Vpol P
52           VIC   5:  1920x1080i  60.000 Hz  16:9    33.750 kHz  74.250 MHz
53                          Hfront   88 Hsync  44 Hback 148 Hpol P
54                          Vfront    2 Vsync   5 Vback  15 Vpol P  Vfront  +0.5
55       Odd Field
56                          Vfront     2  Vsync   5 Vback  15 Vpol P Vback  +0.5
57       Even Field
58           VIC  39:  1920x1080i  50.000 Hz  16:9    31.250 kHz  72.000 MHz
59                          Hfront   32 Hsync 168 Hback 184 Hpol P
60                          Vfront   23 Vsync   5 Vback  57 Vpol N Both Fields
61
62       These describe the horizontal and vertical front porch, sync, backporch
63       and  sync  polarity  values. For interlaced formats there are two lines
64       for the vertical information: one for the Odd Field (aka Field  1)  and
65       one  for  the Even Field (aka Field 2). The vertical front porch of the
66       Odd Field is actually 2.5 (hence the 'Vfront +0.5' at the  end  of  the
67       line), and the back porch of the Even Field is actually 15.5 (hence the
68       'Vback  +0.5' at the end of the line).
69
70       There is a special 'VIC 39' interlaced format where  both  fields  have
71       the  same  vertical  timings,  in  that  case this is marked with 'Both
72       Fields'.
73
74       The following timing types can be shown:
75
76
77              DMT #: Discrete Monitor Timing (see DMT 1.3 standard). The  num‐
78              ber is the DMT ID in hexadecimal.
79
80              CVT: Coordinated Video Timings (formula-based, see CVT 1.2 stan‐
81              dard)
82
83              GTF: Generalized Timing  Formula  (formula-based,  see  GTF  1.1
84              standard)
85
86              IBM: Old IBM Timings
87
88              Apple: Old Apple Timings
89
90              VIC  #:  Video  Identification  Code (see CTA-861 standard). The
91              number is the actual
92                     VIC code.
93
94              HDMI VIC #: HDMI-specific Video Identification  Code  (see  HDMI
95              2.1 standard). The number
96                     is the actual HDMI VIC code.
97
98              DTD  #:  Detailed  Timings  Descriptor (see EDID standard). Also
99              used for
100                     DisplayID Video Timing Modes Types I, II, VI and VII. The
101                     number denotes that this is the Nth DTD in the EDID.
102
103       By  default  DTDs  are  shown  in the long format while others are just
104       shown in the short format. With the option --short-timings all  timings
105       are shown in short format only. With the option --long-timings all tim‐
106       ings are shown in long format.
107
108       Alternate formats for long timings can be chosen via the --xmodeline or
109       --fbmode options.
110
111

STANDARDS

113       The following EDID standards are supported by edid-decode:
114
115              EDID 1.3: VESA Enhanced Extended Display Identication Data Stan‐
116              dard, Release A, Revision 1
117
118              EDID 1.4: VESA Enhanced Extended Display Identication Data Stan‐
119              dard, Release A, Revision 2
120
121              DisplayID  1.3:  VESA  Display  Identification  Data (DisplayID)
122              Standard, Version 1.3
123
124              DisplayID 2.0: VESA DisplayID Standard, Version 2.0
125
126              DI-EXT:  VESA  Display  Information  Extension  Block  Standard,
127              Release A
128
129              LS-EXT:  VESA Enhanced EDID Localized String Extension Standard,
130              Release A
131
132              VTB-EXT:  VESA  Video  Timing  Block  Extension  Data  Standard,
133              Release A
134
135              DTCDB:  VESA  Display  Transfer Characteristics Data Block Stan‐
136              dard, Version 1.0
137
138              DDDB: VESA Display Device Data Block (DDDB) Standard, Version 1
139
140              HDMI 1.4b: High-Definition Multimedia Interface, Version 1.4b
141
142              HDMI 2.1: High-Definition Multimedia Interface, Version 2.1
143
144              HDMI 2.1: Amendment A1 to HDMI Specification Version 2.1
145
146              CTA-861-G: A DTV Profile for  Uncompressed  High  Speed  Digital
147              Interfaces
148
149              SPWG Notebook Panel Specification, Version 3.5
150
151              EPI Embedded Panel Interface, Revision 1.0
152
153
154       The following related standards are also used by edid-decode:
155
156              DMT 1.3: VESA and Industry Standards and Guidelines for Computer
157              Display Monitor Timing (DMT), Version 1.0, Rev. 13
158
159              CVT 1.2: VESA Coordinated Video Timings (CVT) Standard,  Version
160              1.2
161
162              GTF 1.1: VESA Generalized Timing Formula Standard, Version: 1.1
163
164

OPTIONS

166       -h, --help
167              Prints the help message.
168
169       -o, --output-format=<fmt>
170              If [out] is specified, then write the EDID in format <fmt>.
171              The output format can be one of:
172              hex: hex numbers in ascii text (default for stdout)
173              raw: binary data (default unless writing to stdout)
174              carray: c-program struct
175
176       -c, --check
177              Check  if the EDID conforms to the standards. Warnings and fail‐
178              ures are reported at the end.
179
180       -C, --check-inline
181              Check if the EDID conforms to the standards. Warnings and  fail‐
182              ures are reported as they happen.
183
184       -n, --native-timings
185              Report the native timings at the end.
186
187       -p, --preferred-timings
188              Report the preferred timings at the end.
189
190       -P, --physical-address
191              Just  report  the HDMI Source Physical Address and nothing else.
192              Reports f.f.f.f if the EDID could not be parsed, or if there was
193              no  CTA-861 Vendor-Specific Data Block with OUI 00-0C-03. Other‐
194              wise it reports the Source Physical Address as provided in  that
195              Data Block. This can be used as input to HDMI CEC utilities such
196              as the linux cec-ctl(1) utility.
197
198       -S, --short-timings
199              Report all video timings in a short format.
200
201       -L, --long-timings
202              Report all video timings in a long format.
203
204       -X, --xmodeline
205              Report all long video timings in the ModeLine format as  defined
206              in  xorg.conf(5).   This  ModeLine  can be used in the xorg.conf
207              file or passed to xrandr(1) with the xrandr --newmode option.
208
209       -F, --fbmode
210              Report all long video  timings  in  the  video  mode  format  as
211              defined in fb.modes(5).
212
213       -V, --v4l2-timings
214              Report  all  long  video  timings  in  the  video mode format as
215              defined in the linux header v4l2-dv-timings.h for use  with  the
216              V4L2 VIDIOC_S_DV_TIMINGS ioctl.
217
218       -s, --skip-hex-dump
219              Skip the initial hex dump of the EDID.
220
221       --skip-sha
222              Don't show the SHA hash. Normally edid-decode will show the SHA,
223              i.e. the hash of the git commit  used  to  compile  edid-decode.
224              This uniquely identifies the version of edid-decode that is used
225              to generate the warnings and failures. But it will  also  change
226              the output of edid-decode for every new commit in the git repos‐
227              itory, even if nothing else changed in the  edid-decode  output.
228              Use  this  option  to avoid including the SHA in the edid-decode
229              output.
230
231       -e, --extract
232              Extract the contents of the first block in hex values.  This was
233              always  done in old edid-decode versions. To get the same behav‐
234              ior add this option.
235
236

NOTES

238       Not all fields are decoded, or decoded completely.  Some fields' decod‐
239       ing may appear to corrupt the output (for example, detailed string sec‐
240       tions have their contents printed literally).  edid-decode does attempt
241       to  validate its input against the relevant standards, but its opinions
242       have not been double-checked with the  relevant  standards  bodies,  so
243       they may be wrong.  Do not rely on the output format, as it will likely
244       change in future versions of the tool as additional fields  and  exten‐
245       sions are added.
246

SEE ALSO

248       Xorg(1), xrandr(1), cec-ctl(1), xorg.conf(5), fb.modes(5)
249

AUTHORS

251       edid-decode  was  written by Adam Jackson, with contributions from Eric
252       Anholt, Damien Lespiau, Hans Verkuil and others.  For complete  history
253       and   the  latest  version,  see  http://git.linuxtv.org/cgit.cgi/edid-
254       decode.git
255
256
257
258                                                                edid-decode(1)
Impressum