Colour profile
Linux distributions are starting to get support for Colour profiles with gnome-color-manager which is planned to be part of Fedora 13 [1]. IBM and Lenovo have been providing colour profile packages for years, unfortunately they are stuck away in Windows .exe files, with no easy to read mapping of ThinkPad model to ICM file. These instructions will tell you how to unpack the archive and locate the correct ICM file for your ThinkPad.
|
Unpacking the EXE
Download the Windows EXE file for your model. There are three methods of unpacking it.
- Use a windows machine
- Use wine
- Use cabextract
The last one is by far the easiest, and will extract the files to your current directory.
$ cabextract 79oi18ww.exe 79oi18ww.exe: library not compiled to support large files. 79oi18ww.exe: library not compiled to support large files. Extracting cabinet: 79oi18ww.exe extracting TPFLX.ICM extracting TPLCD.CAT extracting TPLCD.ICM extracting TPLCD.INF extracting TPLCD60.ICM extracting TPMB60.ICM extracting TPMB72.ICM
If you use wine instead to unpack the "ThinkPad Monitor INF File" .exe file. The profiles will be located in ~/.wine/drive_c/DRIVERS/WIN/MONITOR/, or in ~/.wine/drive_c/DRIVERS/WIN/MONITOR/WINXP for older models1.
Finding your colour profile
After unpacking the windows EXE you should find a bunch of ICM files and the tplcd.inf file (ibmtplcd.ini for older models) with a mapping of the LCD vendor to colour profile.
But first you need to know which LCD you have. Unfortunately xrandr does not provide the EISA vendor information, but monitor-edid from the monitor-edid RPM (on Fedora) does.
$ monitor-edid EISA ID: LEN4022 Screen size: 28.6 cm x 21.4 cm (14.06 inches, aspect ratio 4/3 = 1.34) Gamma: 2.2 Digital signal # Monitor preferred modeline (60.0 Hz vsync, 64.0 kHz hsync, ratio 4/3, 124 dpi) ModeLine "1400x1050" 108 1400 1448 1560 1688 1050 1051 1054 1066 -hsync -vsync # Monitor preferred modeline (50.0 Hz vsync, 53.3 kHz hsync, ratio 4/3, 124 dpi) ModeLine "1400x1050" 89.97 1400 1448 1560 1688 1050 1051 1054 1066 -hsync -vsync
As you can see from the above, I have a LEN4022. If I then look at the INF file
$ grep LEN4022 tplcd.inf %TPSXGAP% = TPLCDSXGAP.Install, Monitor\LEN4022 ; 14" SXGA+ TFT 1400x1050 %TPSXGAP% = TPLCDSXGAP.Install.NTx86, Monitor\LEN4022 ; 14" SXGA+ TFT 1400x1050 %TPSXGAP% = TPLCDSXGAP.Install, Monitor\LEN4022 ; 14" SXGA+ TFT 1400x1050
You will see this maps to TPLCDSXGAP
We now need to find what colour profile that maps to.
$ grep -A 2 \\[TPLCDSXGAP.Install] tplcd.inf [TPLCDSXGAP.Install] ; SXGA+ 1400x1050 DelReg=DEL_CURRENT_REG AddReg=1400, DPMS, ICM
As you can see on the last line, it refers to a ICM colour profile. Now to finally find out which file we need to use
$ grep -A 1 \\[ICM] tplcd.inf [ICM] HKR,,ICMProfile,0,"TPLCD.icm"
As you can see above the ICM colour profile, maps to the TPLCD.icm file (the actually filename is tplcd.icm), so that is the file I need to load in gnome-color-manager for my ThinkPad LCD.
Recent ThinkPads
Download "ThinkPad Monitor INF File"
Supported ThinkPads
- L410, L510
- R60, R60e, R61, R61e, R61i
- R400, R500
- SL300, SL400, SL400c, SL410, SL500, SL500c, SL510
- T60, T60p, T61, T61p
- T400, T400s, T500
- W500, W700, W700ds
- X60, X60s, X60 Tablet, X61, X61s, X61 Tablet
- X200, X200s, X200 Tablet, X300, X301
- Z61e, Z61m, Z61p, Z61t
- X61Ls
Older ThinkPads
Download "ThinkPad Monitor File"
Supported ThinkPads
- 240, 240X, 240Z
- 390, 390E, 390X
- 570, 570E
- 600, 600E, 600X
- 770E, 770ED, 770X, 770Z
- i Series 1200, i Series 1300
- i Series 1400, Type 2621, 2651
- i Series 1720, i Series 1721, i1781
- A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p
- A30, A30p, A31, A31p
- G40, G41
- R30, R31
- R40, R40e
- R50, R50e, R50p, R51, R52
- S31
- T20, T21, T22, T23
- T30
- T40, T40p, T41, T41p, T42, T42p, T43, T43p
- X20, X21, X22, X23, X24
- X30, X31, X32
- X40, X41, X41 Tablet
- TransNote
Footnotes
- There are actually four paths extracted from the "ThinkPad Monitor INF File" for older ThinkPad models: ./WIN98, ./WINME, ./WIN2000, ./WINXP, but the IBMTPLCD.INF file in each is essentially identical--any of them will work for the purposes of this article.
- NeedsEditing
- R60
- R60e
- R61
- R61e
- R61i
- R400
- R500
- SL300
- SL400
- SL500
- T60
- T60p
- T61
- T61p
- T400
- T400s
- T500
- W500
- W700
- W700ds
- X60
- X60s
- X60 Tablet
- X61
- X61s
- X61 Tablet
- X200
- X200s
- X200 Tablet
- X300
- X301
- Z61e
- Z61m
- Z61p
- Z61t
- X61Ls
- 240
- 240X
- 240Z
- 390
- 390E
- 390X
- 570
- 570E
- 600
- 600E
- 600X
- 770E
- 770ED
- 770X
- 770Z
- I1200
- I1300
- I1720
- I1721
- A20m
- A20p
- A21e
- A21m
- A21p
- A22e
- A22m
- A22p
- A30
- A30p
- A31
- A31p
- G40
- G41
- R30
- R31
- R40
- R40e
- R50
- R50e
- R50p
- R51
- R52
- S31
- T20
- T21
- T22
- T23
- T30
- T40
- T40p
- T41
- T41p
- T42
- T42p
- T43
- T43p
- X20
- X21
- X22
- X23
- X24
- X30
- X31
- X32
- X40
- X41
- X41 Tablet
- TransNote