1edid-decode(1) General Commands Manual edid-decode(1)
2
3
4
6 edid-decode - Decode EDID data in human-readable format
7
9 edid-decode <options> [in [out]]
10
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
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
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
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
248 Xorg(1), xrandr(1), cec-ctl(1), xorg.conf(5), fb.modes(5)
249
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)