Linux distributions are starting to get support for Colour profiles with gnome-color-manager which is planned to be part of Fedora 13 .
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 (virtual) windows machine
- Use wine
- Use cabextract
The last one is by far the easiest, but will only work on the 1yoi04ww.exe file for the old ThinkPads.
cabextract on old 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
If you use wine instead to unpack the "ThinkPad Monitor INF File" .exe file. The profiles will be extracted to ~/.wine/drive_c/DRIVERS/WIN/MONITOR/.
For older ThinkPads a bunch of OS directories will be created in this location. 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", the identifier information will have to be transposed ("LEN:3140" -> LEN4031).
$ 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.
Download "ThinkPad Monitor INF File"
- L410, L412, L510, L512, L520
- Edge 13", Edge 14", Edge 15",
- R60, R60e, R61, R61e, R61i
- R400, R500
- SL300, SL400, SL400c, SL410, SL500, SL500c, SL510
- T60, T60p, T61, T61p
- T400, T400s, T410, T410i, T410s, T410si, T420,T420s, T500, T510, T510i, T520
- W500, W510, W520, W700, W700ds, W701, W701ds
- X60, X60s, X60 Tablet, X61, X61s, X61 Tablet
- X1, X100e, X120e, X200, X200s, X200 Tablet, X201, X201s, X201 Tablet, X220, X220 Tablet, X300, X301
- Z61e, Z61m, Z61p, Z61t
- Reserve Edition
Download ThinkPad Monitor File
- 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
- iSeries s31
- T20, T21, T22, T23
- T40, T40p, T41, T41p, T42, T42p, T43, T43p
- X20, X21, X22, X23, X24
- X30, X31, X32
- X40, X41, X41 Tablet