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 on newer ThinkPads
yum install cabextract
The files will be saved in the current working directory. No directories will be created.
$ 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
cabextract on older ThinkPads
Files and directories will be created in the current working directory. You can use the files in any of the directories created, they are all the same.
$ cabextract 1yoi04ww.exe Extracting cabinet: 1yoi04ww.exe extracting WIN98/IBMTPFLX.ICM extracting WIN98/IBMTPLCD.CAT extracting WIN98/IBMTPLCD.ICM extracting WIN98/IBMTPLCD.INF extracting WIN2000/IBMTPFLX.ICM extracting WIN2000/IBMTPLCD.CAT extracting WIN2000/IBMTPLCD.ICM extracting WIN2000/IBMTPLCD.INF extracting WINME/IBMTPFLX.ICM extracting WINME/IBMTPLCD.CAT extracting WINME/IBMTPLCD.ICM extracting WINME/IBMTPLCD.INF extracting WINXP/IBMTPFLX.ICM extracting WINXP/IBMTPLCD.CAT extracting WINXP/IBMTPLCD.ICM extracting WINXP/IBMTPLCD.INF
Using wine
If you use wine instead to unpack the "ThinkPad Monitor INF File" .exe file. The profiles for newer ThinkPads will be located in ~/.wine/drive_c/DRIVERS/WIN/MONITOR/.
For older ThinkPads a bunch of OS directories will be created in ~/.wine/drive_c/DRIVERS/WIN/MONITOR. It does not matter which OS directory you use, the ICM files are all the same.
Finding your colour profile
After unpacking the windows EXE you should find a bunch of ICM files and a INF file 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. On ubuntu, you can install read-edid ("sudo aptitude install read-edid") and then run "sudo get-edid | parse-edid".
$ 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 -i 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 actual filename will be all upper-case), 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
- Template:Edge
- R60, R60e, R61, R61e, R61i
- R400, R500
- SL300, SL400, SL400c, SL410, SL500, SL500c, SL510
- T60, T60p, T61, T61p
- T400, T400s, T410, T500, T510
- W500, W510, W700, W700ds
- X60, X60s, X60 Tablet, X61, X61s, X61 Tablet
- X200, X200s, X200 Tablet, X201, X201i, X201s, X201 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
- Pages using duplicate arguments in template calls
- NeedsEditing
- R60
- R60e
- R61
- R61e
- R61i
- R400
- R500
- SL300
- SL400
- SL400c
- SL410
- SL500
- SL500c
- SL510
- T60
- T60p
- T61
- T61p
- T400
- T400s
- T410
- T500
- T510
- W500
- W510
- W700
- W700ds
- X60
- X60s
- X60 Tablet
- X61
- X61s
- X61 Tablet
- X200
- X200s
- X200 Tablet
- X201
- X201i
- X201s
- X201 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