You are not logged in.

#1 2017-11-15 04:17:19

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,132

How to extract EISA/EDID to identify display?

[EDITED in an attempt to tidy this up and summarise what I now want to know.]

I want to extract the identification for the display installed in my laptop (in order to identify the correct ICC profile from an archive downloaded from Lenovo as explained at http://www.thinkwiki.org/wiki/Colour_profile).

get-edid fails to extract anything useful. However, using the EDID block from xrandr's output and the online EDID extractor at  http://www.edidreader.com/, I got something which at least appears meaningful:

Header Information
---------------------------
Valid Checksum: TRUE
EDID Header: OK
EISA ID: AUO
Product Code: 226D
Serial Number: 0
Manufacture Date: 52/2015
EDID Version: 1.4

Number of Extensions: 0
Checksum: 0xA8

However, neither AUO nor 226D appear anywhere in the INF file provided to match EISAs with profiles. The EISAs in that file all start LEN or IBM and are then followed by four additional letters/numbers.

The archive of profiles I downloaded (r0dmi04w.exe) was obtained from the list of downloads for my machine, so it should contain something relevant. I extracted the files with innoextract.

The ThinkWiki instructions suggestion using monitor-edid, but that appears to be no longer available or maintained. Moreover, I can't figure out the correct profile by a process of elimination (as also suggested there), because information about my display dimensions, resolution and type does not discriminate between cases paired with different hardware.

grep IPS TPLCD.INF  | grep 12.5 | grep 1920x1080
%TPWFHDF%   = TPLCDWFHDF.Install,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile
%TPWFHDF%   = TPLCDWFHDF.Install.NTx86,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install.NTx86,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile
%TPWFHDF%   = TPLCDWFHDF.Install,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile

How can I identify the correct profile for my machine?

Here's the output from get-edid using the comment at https://unix.stackexchange.com/question … 171_323121:

modprobe i2c-dev
get-edid | parse-edid

However, I am not getting a neat identifier as I'm meant to, so I must still be doing something wrong:

Section "Monitor"
        Identifier ""
        ModelName ""
        VendorName "AUO"
        # Monitor Manufactured week 52 of 2015
        # EDID version 1.4
        # Digital Display
        DisplaySize 280 160
        Gamma 2.20
        Option "DPMS" "false"
        Modeline        "Mode 0" 141.00 1920 1936 1952 2104 1080 1083 1097 1116 -hsync -vsync 
EndSection

The identifier and model name are not actually empty - the characters look like those you see when the terminal doesn't know what to do with some strange unicode character or is trying to use the wrong encoding to display the file. (I'm not saying that's what it is - just that 'what the hell is this?' symbols display rather than nothing, as it looks here.)

I'm rather confused by the fact that parse-edid returns as the vendor what the online tool returns as the EISA.

Last edited by cfr (2017-11-18 00:10:28)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#2 2017-11-16 04:25:17

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,132

Re: How to extract EISA/EDID to identify display?

[Summary in edited post above.]

I tried writing the EDID block into a file edid:

00ffffffffffff0006af6d2200000000
34190104a51c1078026ba79659579527
1d4e5300000001010101010101010101
010101010101143780b8703824401010
3e00149b100000180000000f00000000
00000000000000000020000000fe0041
554f0a202020202020202020000000fe
004231323548414e30322e32200a00a8

and using

parse-edid <edid

However, it told me that I had too many extension blocks. (I guess because the block includes information for multiple devices, even though I only have the one laptop screen, but I'm not sure.) So I tried splitting the file by line into edid0, ..., edid7. However, parsing any of these returns

Partial Read... Try again

So I guess it wants less than edid but more than one line of edid? But I have no idea whether I can break it into appropriate chunks or if that is even what I'm meant to do with it.

I also tried following some of the hints in https://unix.stackexchange.com/a/114398/219455:

less /sys/devices/pci0000\:00/0000\:00\:02.0/drm/card0/card0-eDP-1/edid 

But if the output means anything, it is rather lost on me:

^@<FF><FF><FF><FF><FF><FF>^@^F<AF>m"^@^@^@^@4^Y^A^D<A5>^\^Px^Bk<A7><96>YW<95>'^]NS^@^@^@^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^A^T7<80><B8>p8$@^P^P>^@^T<9B>^P^@^@^X^@^@^@^O^@^@^@^@^@^@^@
^@^@^@^@^@^@ ^@^@^@<FE>^@AUO
         ^@^@^@<FE>^@B125HAN02.2 
^@<A8>

Last edited by cfr (2017-11-18 00:11:39)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#3 2017-11-16 04:37:15

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,132

Re: How to extract EISA/EDID to identify display?

[Summary in edited post above.]

I finally got get-edid to work using the comment at https://unix.stackexchange.com/question … 171_323121:

modprobe i2c-dev
get-edid | parse-edid

However, I am not getting a neat identifier as I'm meant to, so I must still be doing something wrong:

Section "Monitor"
        Identifier ""
        ModelName ""
        VendorName "AUO"
        # Monitor Manufactured week 52 of 2015
        # EDID version 1.4
        # Digital Display
        DisplaySize 280 160
        Gamma 2.20
        Option "DPMS" "false"
        Modeline        "Mode 0" 141.00 1920 1936 1952 2104 1080 1083 1097 1116 -hsync -vsync 
EndSection

The identifier and model name are not actually empty - the characters look like those you see when the terminal doesn't know what to do with some strange unicode character or is trying to use the wrong encoding to display the file. (I'm not saying that's what it is - just that 'what the hell is this?' symbols display rather than nothing, as it looks here.)

I've also tried looking at the INF file manually.

grep IPS TPLCD.INF  | grep 12.5 | grep 1920x1080
%TPWFHDF%   = TPLCDWFHDF.Install,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile
%TPWFHDF%   = TPLCDWFHDF.Install.NTx86,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install.NTx86,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile
%TPWFHDF%   = TPLCDWFHDF.Install,         Monitor\LEN40E4   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F
%TPWFHDF%   = TPLCDWFHDFN.Install,        Monitor\LEN40E6   ; 12.5" Wide FHD   16:9  IPS          1920x1080   F, No color profile

However, there seems no further way of narrowing it down. In one case, I take it I souldn't install a profile at all; in the other I should install one. Or does 'No color profile' just mean 'if none is yet installed?' or ...?

Last edited by cfr (2017-11-18 00:11:19)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#4 2017-11-17 02:36:56

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,132

Re: How to extract EISA/EDID to identify display?

[Summary in edited post above.]

Using http://www.edidreader.com/ I managed to turn the output from xrandr into something readable:

Header Information
Valid Checksum: TRUE
EDID Header: OK
EISA ID: AUO
Product Code: 226D
Serial Number: 0
Manufacture Date: 52/2015
EDID Version: 1.4


Number of Extensions: 0
Checksum: 0xA8


Basic Display Parameters
Digital Input
Compatible with VESA DFP
Maximum Horizontal Image Size: 28
Maximum Vertical Image Size: 16
Display Gamma: 2.20
DPMS Standby
DPMS Suspend
DPMS Active-Off
Display Type: RGB 4:4:4
Standard sRGB Color Space
Preferred Timing Mode
GTF Supported


Chromaticity Coordinates
Red X: 0.587
Red Y: 0.350
Green X: 0.342
Green Y: 0.585
Blue X: 0.154
Blue Y: 0.115
White X: 0.306
White Y: 0.327



Timing Bitmap
720×400 @ 70 Hz
720×400 @ 88 Hz
640×480 @ 60 Hz
640×480 @ 67 Hz
640×480 @ 72 Hz
640×480 @ 75 Hz
800×600 @ 56 Hz
800×600 @ 60 Hz
800×600 @ 72 Hz
800×600 @ 75 Hz
832×624 @ 75 Hz
1024×768i @ 87 Hz
1024×768 @ 60 Hz
1024×768 @ 72 Hz
1024×768 @ 75 Hz
1280×1024 @ 75 Hz
1152x870 @ 75 Hz


Standard Display Modes


Detailed Timing Descriptor
Pixel Clock: 141MHz
Horizontal Active: 1920
Horizontal Blanking: 184
Vertical Active: 1080
Vertical Blanking: 36
Horizontal Sync Offset: 16
Horizontal Sync Pulse: 16
Vertical Sync Offset: 3
Vertical Sync Pulse: 14
Horizontal Display Size: 276
Vertical Display Size: 155
Horizontal Border: 0
Vertical Border: 0
Interlaced: false
Stereo Mode: 0
Sync Type: 3


2-Way Line-Interleaved Stereo: false

However, I expected an EISA such as LEN followed by four numbers/letters, but all I have is AUO. I might think I should append 226D to make AUO226D. That looks likely, but can't be right because the first three characters should be LEN or IBM. At least, that's what's listed in the INF file.

In fact, grep finds neither AUO nor 226D in *any* of the files extracted from the archive. So I'm misunderstanding something or the web edid reader is telling tall tales or something else is wonky somewhere ....

Last edited by cfr (2017-11-18 00:11:08)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#5 2017-12-09 13:51:43

plintX
Member
Registered: 2016-08-02
Posts: 5

Re: How to extract EISA/EDID to identify display?

That seems to be correct, as the product ID matches a Lenovo notebook listed here: https://www.notebookcheck.net/Lenovo-Yo … 687.0.html

My guess is that the color profile info that you downloaded from Lenovo doesn't actually do anything for some screens that are included in their products.

Notebook Check actually uploads ICC files that they generate from their colorimeters when they review their devices; just look under the 'Display' section of their reviews. Might be worth trying out.

Last edited by plintX (2017-12-09 13:56:21)

Offline

#6 2017-12-11 03:02:12

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,132

Re: How to extract EISA/EDID to identify display?

Thanks for the link!

So AUO226D could be correct? That isn't my laptop and my screen is not glossy and not touch. However, I guess the insides might be the same component.

Would it work to use the ICC profile for the linked machine? Or should I not bother anyway? According to the review, calibration has little effect, so maybe I should leave well enough alone?

Last edited by cfr (2017-12-11 03:02:36)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

Board footer

Powered by FluxBB