Re: Issue 240341 in chromium: product code in EDID changes

5 views
Skip to first unread message

chro...@googlecode.com

unread,
May 13, 2013, 9:22:09 PM5/13/13
to chromi...@chromium.org

Comment #8 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

#6, EDID is snapshot from chrome:system. I just don't know for which
product code this EDID is being used.

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

chro...@googlecode.com

unread,
May 13, 2013, 9:29:09 PM5/13/13
to chromi...@chromium.org

Comment #9 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

#7, heh, that's exactly what I'm seeing. I'll try to get EDID used for each
id.

chro...@googlecode.com

unread,
May 13, 2013, 10:05:09 PM5/13/13
to chromi...@chromium.org

Comment #10 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

9846:
00FFFFFFFFFFFF0022F07626010101010212010380342178EEEF95A35
44C9B260F5054A56B808140818081997100A900A940B300D100283C80A070B023403020360007442100001A000000FD0030551E5E11000A2
02020202020000000FC004850204C50323436350A202020000000FF00434E4B3830323034484D0A202000A4

9845:
00FFFFFFFFFFFF0022F0752601010101021201036E342178EEEF95A35
44C9B260F5054A56B8081407100A900A940A94FB300D1C0D100283C80A070B023403020360007442100001A000000FD0030551E5E15000A2
02020202020000000FC004850204C50323436350A202020000000FF00434E4B3830323034484D0A20200045

chro...@googlecode.com

unread,
May 13, 2013, 10:08:10 PM5/13/13
to chromi...@chromium.org

Comment #11 on issue 240341 by mar...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

Hmm, more than just the prod id differs apparently. Can you run both
through edid-decode?

chro...@googlecode.com

unread,
May 13, 2013, 10:15:10 PM5/13/13
to chromi...@chromium.org

Comment #12 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

mukai-san, can you decode them?

chro...@googlecode.com

unread,
May 13, 2013, 11:01:13 PM5/13/13
to chromi...@chromium.org

Comment #13 on issue 240341 by mu...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

eye-parsing:
first 00FFFFFFFFFFFF00 is the header pattern
next two bytes 22F0 is manufacturer EISA ID, big endian
next two bytes is the product code, little endian, here is different.7626
vs 7526. In decimal, they are 9845 vs 9846

http://en.wikipedia.org/wiki/Extended_display_identification_data

Also the checksums look correct.


So that's not a parser issue, but the display somehow returns different
(but valid) EDID headers.

So... this would mean we should change the display ID's computation logic.
but how?

chro...@googlecode.com

unread,
May 13, 2013, 11:03:13 PM5/13/13
to chromi...@chromium.org

Comment #14 on issue 240341 by mar...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

The reason I'm asking for a full decode is that if you look at the second
line pasted by oshima@, there are more different bits there. I thought
maybe it'll give us a hint as to why the monitor does that.

chro...@googlecode.com

unread,
May 13, 2013, 11:58:13 PM5/13/13
to chromi...@chromium.org

Comment #15 on issue 240341 by mar...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

marcheu@marcheu2:~$ edid-decode < edid1
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 22 f0 76 26 01 01 01 01 02 12
version: 01 03
basic params: 80 34 21 78 ee
chroma info: ef 95 a3 54 4c 9b 26 0f 50 54
established: a5 6b 80
standard: 81 40 81 80 81 99 71 00 a9 00 a9 40 b3 00 d1 00
descriptor 1: 28 3c 80 a0 70 b0 23 40 30 20 36 00 07 44 21 00 00 1a
descriptor 2: 00 00 00 fd 00 30 55 1e 5e 11 00 0a 20 20 20 20 20 20
descriptor 3: 00 00 00 fc 00 48 50 20 4c 50 32 34 36 35 0a 20 20 20
descriptor 4: 00 00 00 ff 00 43 4e 4b 38 30 32 30 34 48 4d 0a 20 20
extensions: 00
checksum: a4

Manufacturer: HWP Model 2676 Serial Number 16843009
Made week 2 of 2008
EDID version: 1.3
Digital display
Maximum image size: 52 cm x 33 cm
Gamma: 2.20
DPMS levels: Standby Suspend Off
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
Default (sRGB) color space is primary color space
First detailed timing is preferred timing
Established timings supported:
720x400@70Hz
640x480@60Hz
640x480@75Hz
800x600@60Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Standard timings supported:
1280x960@60Hz
1280x1024@60Hz
1280x1024@85Hz
1152x720@60Hz
1600x1000@60Hz
1600x1200@60Hz
1680x1050@60Hz
1920x1200@60Hz
Detailed mode: Clock 154.000 MHz, 519 mm x 324 mm
1920 1968 2000 2080 hborder 0
1200 1203 1209 1235 vborder 0
+hsync -vsync
Monitor ranges: 48-85HZ vertical, 30-94kHz horizontal, max dotclock 170MHz
Monitor name: HP LP2465
Serial number: CNK80204HM
Checksum: 0xa4
marcheu@marcheu2:~$ edid-decode < edid2
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 22 f0 75 26 01 01 01 01 02 12
version: 01 03
basic params: 6e 34 21 78 ee
chroma info: ef 95 a3 54 4c 9b 26 0f 50 54
established: a5 6b 80
standard: 81 40 71 00 a9 00 a9 40 a9 4f b3 00 d1 c0 d1 00
descriptor 1: 28 3c 80 a0 70 b0 23 40 30 20 36 00 07 44 21 00 00 1a
descriptor 2: 00 00 00 fd 00 30 55 1e 5e 15 00 0a 20 20 20 20 20 20
descriptor 3: 00 00 00 fc 00 48 50 20 4c 50 32 34 36 35 0a 20 20 20
descriptor 4: 00 00 00 ff 00 43 4e 4b 38 30 32 30 34 48 4d 0a 20 20
extensions: 00
checksum: 45

Manufacturer: HWP Model 2675 Serial Number 16843009
Made week 2 of 2008
EDID version: 1.3
Analog display, Input voltage level: 0.7/0.7 V
Sync: Separate Composite SyncOnGreen
Maximum image size: 52 cm x 33 cm
Gamma: 2.20
DPMS levels: Standby Suspend Off
RGB color display
Default (sRGB) color space is primary color space
First detailed timing is preferred timing
Established timings supported:
720x400@70Hz
640x480@60Hz
640x480@75Hz
800x600@60Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Standard timings supported:
1280x960@60Hz
1152x720@60Hz
1600x1000@60Hz
1600x1200@60Hz
1600x1200@75Hz
1680x1050@60Hz
1920x1152@60Hz
1920x1200@60Hz
Detailed mode: Clock 154.000 MHz, 519 mm x 324 mm
1920 1968 2000 2080 hborder 0
1200 1203 1209 1235 vborder 0
+hsync -vsync
Monitor ranges: 48-85HZ vertical, 30-94kHz horizontal, max dotclock 210MHz
Monitor name: HP LP2465
Serial number: CNK80204HM
Checksum: 0x45

chro...@googlecode.com

unread,
May 14, 2013, 12:01:13 AM5/14/13
to chromi...@chromium.org

Comment #16 on issue 240341 by mu...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

I do not have tools, here is manual parsing results.

summary:
The major visible difference you pointed would be standard timing
information field.
Other differences:
- product code (9846 vs 9845)
- video input parameters bitmap: digital vs analog
- Maximum pixel clock rate in EDID Monitor Range Limits Descriptor: 0x11 vs
0x15



The full result is as follows:

9846:
header: 00FFFFFFFFFFFF00
manufacturer ID: 22F0
product code: 7626
serial number: 01010101
week of manufacturer: 02
year of manufacturer: 12
EDID version: 01
EDID revision: 03

video input: 80 / Digital input
maximum horizontal image size: 34
maximum vertical image size: 21
display gamma: 78
supported feature: EE
DPMS standbly, suspended, active-off, RGB 4:4:4 + YCrCb 4:4:4, Standard
sRGB color, preferred timing block specified, GTF not supported

red and green least significant bits: EF
Red x value least-significant bit = 11, Red y = 10, Green x and y least
significant bit = 11
blue and white least significant bit: 95
Red x value most significant 8 bits: A3
Red y value most significant 8 bits: 54
Green x and y value most significant 8 bits: 4C9B
Blue x and y value most significant 8 bits: 260F
Default white point x and y value most significant 8 bits: 5054

established timing bitmap: A56B80
720×400 @ 70 Hz, 640×480 @ 60 Hz, 640×480 @ 75 Hz, 800×600 @ 60 Hz,
800×600 @ 75 Hz, 832×624 @ 75 Hz, 1024×768 @ 60 Hz, 1024×768 @ 75 Hz,
1280×1024 @ 75 Hz, 1152x870 @ 75 Hz

Standard timing information:
1. 8140
x resolution: 81 (== 1280)
xy pixel ratio: 4:3
vertical frequency: 00 (==60hz)
2. 8180
x resolution: 81 == 1280
xy pixel ratio: 5:4
vertical frequency: 00 (==60hz)
3. 8199
x resolution: 81 == 1280
xy pixel ratio: 5:4
vertical frequency: 19 == 85hz
4: 7100
x resolution: 71 == 1152
xy pixel ratio: 16:10
vertical frequency: 0 = 60hz
5: A900
x resolution: a9 == 1600
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz
6: A940
x resolution: a9 == 1600
xy pixel ratio: 5:4
vertical frequency: 0 == 60hz
7: B300
x resolution: b3 = 1680
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz
8: D100
x resolution: d1 == 1920
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz

descriptor 1: detailed timing descriptor
283C80A070B023403020360007442100001A

descriptor 2: other monitor descriptor, monitor range limits
000000FD0030551E5E11000A202020202020
Minimum vertical field rate: 30
Maximum vertical field rate: 55
Minimum horizontal line rate: 1E
Maximum horizontal line rate: 5E
Maximum pixel clock rate: 11 (== 170MHz)
Extended timing information type: 000A202020202020 / no information
descriptor 3: other monitor descriptor, monitor name (HP LP2465)
000000FC004850204C50323436350A202020

descriptor 4: other monitor descriptor, monitor serial number text
000000FF00434E4B3830323034484D0A2020

number of extensions: 00
checksum: A4 correct



9845:
header: 00FFFFFFFFFFFF00
manufacturer id: 22F0
product code: 7526
serial number: 01010101
month of manufacture: 02
year of manufacture: 12
EDID version: 01
EDID revision: 03
Video input parameters bitmap: 6E
analog, Video white and sync levels == +0.7/0 V, Separate sync supported,
Composite sync (on HSync) supported, Sync on green supported
Maximum horizontal image size: 34
Maximum vertical image size: 21
Display gamma: 78
Supported features bitmap: EE (same)
Red and green least-significant bits: EF (same)
Blue and white least-significant 2 bits: 95
Red x value most significant 8 bits: A3
Red y value most significant 8 bits: 54
Green x and y value most significant 8 bits: 4C9B
Blue x and y value most significant 8 bits: 260F
Default white point x and y value most significant 8 bits: 5054
established timing bitmap: A56B80 (same)

Standard timing information:
1. 8140
x resolution: 81 (== 1280)
xy pixel ratio: 5:4
vertical frequency: 00 (==60hz)
2. 7100
x resolution: 71 == 1152
xy pixel ratio: 16:10
vertical frequency: 0 = 60hz
3. A900
x resolution: a9 == 1600
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz
4. A940
x resolution: a9 == 1600
xy pixel ratio: 5:4
vertical frequency: 0 == 60hz
5. A94F
x resolution: a9 == 1600
xy pixel ratio: 5:4
vertical frequency: 0f == 76hz
6. B300
x resolution: b3 = 1680
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz
7. D1C0
x resolution: d1 == 1920
xy pixel ratio: 16:9
vertical frequency: 0 == 60hz
8. D100
x resolution: d1 == 1920
xy pixel ratio: 16:10
vertical frequency: 0 == 60hz


descriptor 1: same
283C80A070B023403020360007442100001A

descriptor 2: other monitor descriptor, monitor range limits, different
000000FD0030551E5E15000A202020202020
Minimum vertical field rate: 30
Maximum vertical field rate: 55
Minimum horizontal line rate: 1E
Maximum horizontal line rate: 5E
Maximum pixel clock rate: 15 (== 210MHz)
Extended timing information type: 000A202020202020 / no information

descriptor 3: same
000000FC004850204C50323436350A202020

descriptor 4: same
000000FF00434E4B3830323034484D0A2020

number of extensions: 00
checksum: 45 correct

chro...@googlecode.com

unread,
May 14, 2013, 12:07:13 AM5/14/13
to chromi...@chromium.org

Comment #17 on issue 240341 by mar...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

Hmm ok; so I guess what happens is that the monitor is in digital mode by
default, and when it detects load on its VGA input it switches to analog
edid. That makes sense (the DDC pin is shared on DVI-I connectors so you
have to do something like this except without the bugs).

I guess you could use the name and/or serial number, but there's nothing
which says you won't encounter the same bug with those fields on other
monitors; EDIDs are pretty sloppy usually.

Maybe we should use heuristics: when we match 3 out of 4 out of (name, id,
serial number, default resolution) we assume that it's the same monitor?

chro...@googlecode.com

unread,
May 14, 2013, 2:55:30 AM5/14/13
to chromi...@chromium.org

Comment #18 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

We already know serial number can be (and largely is) bogus (as we can see
above).

I can think of only two workarounds. Please let me know if you have any
other way.

1) ignore LSB (or two bits)
2) fingerprint of product name.
2.1) optionally fallback 1 if the product name is empty
3) use product name (that is, change the type of id to string)
3.1) optionally fallback to string representation 1)

It's better to have collision than one display having two different IDs IMO,
therefore I'm inclined to 2.1) unless there is better alternative.

WDYT?

chro...@googlecode.com

unread,
May 14, 2013, 3:11:32 AM5/14/13
to chromi...@chromium.org

Comment #19 on issue 240341 by mu...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

agree, probably 2.1 would be the best.

chro...@googlecode.com

unread,
May 14, 2013, 3:38:32 AM5/14/13
to chromi...@chromium.org

Comment #20 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

@marcheu, do you think it's happens only with VGA and will not have this
issue
on digital ports (hdmi/dp)? If so, doing 1) for displays connected to VGA
may not
be so bad.

chro...@googlecode.com

unread,
May 14, 2013, 11:41:58 PM5/14/13
to chromi...@chromium.org

Comment #21 on issue 240341 by mar...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

I think this type of problem could happen on any monitor which has analog
and digital inputs, regardless of the input currently in use.

chro...@googlecode.com

unread,
May 14, 2013, 11:44:58 PM5/14/13
to chromi...@chromium.org

Comment #22 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

Ok let's do 2.1) then. Thank you for clarification.

chro...@googlecode.com

unread,
May 14, 2013, 11:48:58 PM5/14/13
to chromi...@chromium.org
Updates:
Cc: Kusc...@chromium.org jame...@chromium.org

Comment #23 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

by the way, this makes un-mirroring impossible with this type of display,
so we may want to fix this for 28.

+jamescook/kuscher , what is your opinion?

chro...@googlecode.com

unread,
May 15, 2013, 5:58:39 PM5/15/13
to chromi...@chromium.org

Comment #24 on issue 240341 by jame...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

What do you mean by "makes un-mirroring impossible"? The user hits mirror,
then can't get out of it? Does unplugging the monitor help?

chro...@googlecode.com

unread,
May 15, 2013, 9:40:08 PM5/15/13
to chromi...@chromium.org

Comment #25 on issue 240341 by osh...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

We do remember the mirroring state for display ID pairs, with assumption
that product code (i.e. Displa ID) won't change.

Because un-mirroring changes display ID, it can revert the state back to
mirroring.
When you unplug/replug display, it still go back to mirroring state because
that's
what chrome remembers.

chro...@googlecode.com

unread,
May 16, 2013, 10:45:19 AM5/16/13
to chromi...@chromium.org
Updates:
Labels: -M-29 M-28

Comment #26 on issue 240341 by jame...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

That seems worth considering for backport to M28.

chro...@googlecode.com

unread,
May 17, 2013, 7:38:06 PM5/17/13
to chromi...@chromium.org
Updates:
Status: Started

Comment #27 on issue 240341 by mu...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

(No comment was entered for this change.)

chro...@googlecode.com

unread,
May 23, 2013, 7:51:35 AM5/23/13
to chromi...@chromium.org

Comment #28 on issue 240341 by bugdro...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341#c28

------------------------------------------------------------------------
r201756 | mu...@chromium.org | 2013-05-23T11:49:59.391738Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chromeos/display/output_util_unittest.cc?r1=201756&r2=201755&pathrev=201756
M
http://src.chromium.org/viewvc/chrome/trunk/src/chromeos/display/output_util.cc?r1=201756&r2=201755&pathrev=201756
M
http://src.chromium.org/viewvc/chrome/trunk/src/chromeos/display/output_util.h?r1=201756&r2=201755&pathrev=201756

Changes how to compute the id of a display.

Due to the discussion in crbug.com/240341, we prefer to use
the name field rather than the product_code field.

BUG=240341
R=osh...@chromium.org, mar...@chromium.org
TEST=compilation passed

Review URL: https://chromiumcodereview.appspot.com/15368003
------------------------------------------------------------------------

chro...@googlecode.com

unread,
May 23, 2013, 1:27:28 PM5/23/13
to chromi...@chromium.org
Updates:
Labels: Merge-Requested

Comment #29 on issue 240341 by mu...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

requesting the merge to M28

chro...@googlecode.com

unread,
May 24, 2013, 12:08:28 PM5/24/13
to chromi...@chromium.org

Comment #30 on issue 240341 by dd...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

Please verify this is working on a canary build.

chro...@googlecode.com

unread,
May 24, 2013, 12:52:50 PM5/24/13
to chromi...@chromium.org
Updates:
Labels: -Merge-Requested Merge-Approved

Comment #31 on issue 240341 by lafo...@google.com: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341

(No comment was entered for this change.)

chro...@googlecode.com

unread,
May 24, 2013, 8:08:22 PM5/24/13
to chromi...@chromium.org

Comment #36 on issue 240341 by bugdro...@chromium.org: product code in EDID
changes
http://code.google.com/p/chromium/issues/detail?id=240341#c36

------------------------------------------------------------------------
r202225 | mu...@chromium.org | 2013-05-24T23:30:00.221132Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/branches/1500/src/ui/gfx/display.cc?r1=202225&r2=202224&pathrev=202225
M
http://src.chromium.org/viewvc/chrome/branches/1500/src/ui/gfx/display.h?r1=202225&r2=202224&pathrev=202225
M
http://src.chromium.org/viewvc/chrome/branches/1500/src/ash/display/display_change_observer_x11.cc?r1=202225&r2=202224&pathrev=202225

Manual Merge 201756 "Changes how to compute the id of a display." (2nd)

> Due to the discussion in crbug.com/240341, we prefer to use
> the name field rather than the product_code field.

> BUG=240341
> R=osh...@chromium.org, mar...@chromium.org
> TEST=compilation passed

The first attempt of the merge was reverted due to a compile error.
This 2nd manual merge includes the fix for the error (adding a
missing include).

TBR=osh...@chromium.org

Review URL: https://codereview.chromium.org/15830003
------------------------------------------------------------------------
Reply all
Reply to author
Forward
0 new messages