Difference between revisions of "Colour profile"

From ThinkWiki
Jump to: navigation, search
(replaced cabextract by innoextract)
 
(31 intermediate revisions by 8 users not shown)
Line 10: Line 10:
 
==Unpacking the EXE==
 
==Unpacking the EXE==
 
Download the Windows EXE file for your model. There are three methods of unpacking it.
 
Download the Windows EXE file for your model. There are three methods of unpacking it.
# Use a windows machine
+
# Use a (virtual) windows machine
 
# Use wine
 
# Use wine
# Use cabextract
+
# Use innoextract
  
The last one is by far the easiest, and will extract the files to your current directory.
+
The last one is by far the easiest, but will only work on the 1yoi04ww.exe file for the old ThinkPads.
  
$ cabextract 79oi18ww.exe
+
==== innoextract on old ThinkPads====
79oi18ww.exe: library not compiled to support large files.
+
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.
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
+
  
{{NOTE|Unlike indicated, when using the cabextract method, the files will actually be saved with lower-case filenames}}
+
$ innoextract 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 will be extracted to {{path|~/.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.
  
If you use wine instead to unpack the "ThinkPad Monitor INF File" .exe file.  The profiles will be located in {{path|~/.wine/drive_c/DRIVERS/WIN/MONITOR/}}, or in {{path|~/.wine/drive_c/DRIVERS/WIN/MONITOR/WINXP}} for older models<sup><small>'''[[Colour_profile#Footnotes|1]]'''</small></sup>.
 
 
==Finding your colour profile==
 
==Finding your colour profile==
{{NOTE|These instructions assume you used the cabextract method to obtain the files. If you used wine or a Windows machine all filesnames will be upper-case, and you will need to take that into account when executing the commands. e.g. tplcd.inf becomes TPLCD.INF}}
+
{{NOTE|These instructions assume you have a newer model ThinkPad. If you have an older model ThinkPad you need to use IBMTPLCD.INF instead.}}
After unpacking the windows EXE you should find a bunch of ICM files and the {{path|tplcd.inf}} file ({{path|ibmtplcd.ini}} for older models)  with a mapping of the LCD vendor to 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.
+
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
 
  $ monitor-edid
Line 48: Line 60:
 
  # Monitor preferred modeline (50.0 Hz vsync, 53.3 kHz hsync, ratio 4/3, 124 dpi)
 
  # 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
 
  ModeLine "1400x1050" 89.97 1400 1448 1560 1688 1050 1051 1054 1066 -hsync -vsync
 +
 +
{{NOTE|x201s on Ubuntu 10.10 can't have get-edid working. Instead, I looked carefully at the TPLCD.INF file and concluded that x201s's monitor id is LEN4014. --> following the steps the icm file I used is TPLCD.ICM. I'm not professional but it does make the color look a lot better than none, by setting the profile using gnome-color-manager.}}
  
 
As you can see from the above, I have a '''LEN4022'''. If I then look at the INF file
 
As you can see from the above, I have a '''LEN4022'''. If I then look at the INF file
  $ grep LEN4022 tplcd.inf
+
  $ grep -i LEN4022 TPLCD.INF
 
  %TPSXGAP%  = TPLCDSXGAP.Install,    Monitor\LEN4022  ; 14"  SXGA+    TFT              1400x1050
 
  %TPSXGAP%  = TPLCDSXGAP.Install,    Monitor\LEN4022  ; 14"  SXGA+    TFT              1400x1050
 
  %TPSXGAP%  = TPLCDSXGAP.Install.NTx86,    Monitor\LEN4022  ; 14"  SXGA+    TFT              1400x1050
 
  %TPSXGAP%  = TPLCDSXGAP.Install.NTx86,    Monitor\LEN4022  ; 14"  SXGA+    TFT              1400x1050
Line 58: Line 72:
  
 
We now need to find what colour profile that maps to.
 
We now need to find what colour profile that maps to.
  $ grep -A 2 \\[TPLCDSXGAP.Install] tplcd.inf
+
  $ grep -A 2 \\[TPLCDSXGAP.Install] TPLCD.INF
 
  [TPLCDSXGAP.Install]                  ; SXGA+ 1400x1050
 
  [TPLCDSXGAP.Install]                  ; SXGA+ 1400x1050
 
  DelReg=DEL_CURRENT_REG
 
  DelReg=DEL_CURRENT_REG
Line 64: Line 78:
  
 
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
 
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
+
  $ grep  -A 1 \\[ICM] TPLCD.INF
 
  [ICM]
 
  [ICM]
 
  HKR,,ICMProfile,0,"TPLCD.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.
+
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.
 +
{{NOTE|Even though I need to use TPLCD.ICM for my ThinkPad does not mean the outcome will be the same for your ThinkPad. Please run through the steps to determine what file you need to use}}
  
== Recent ThinkPads==
+
== Current ThinkPads==
Download [http://www-307.ibm.com/pc/support/site.wss/MIGR-62923.html "ThinkPad Monitor INF File"]
+
Download {{LNVDOCURL|DS015012|"ThinkPad Monitor INF File"}}
  
 
===Supported ThinkPads===
 
===Supported ThinkPads===
* L410, L510
+
* L410, {{L412}}, L510, {{L512}}, {{L520}}
 +
* {{Edge 13"}}, {{Edge 14"}}, {{Edge 15"}},
 
* {{R60}}, {{R60e}}, {{R61}}, {{R61e}}, {{R61i}}
 
* {{R60}}, {{R60e}}, {{R61}}, {{R61e}}, {{R61i}}
 
* {{R400}}, {{R500}}
 
* {{R400}}, {{R500}}
* {{SL300}}, {{SL400}}, SL400c, SL410, {{SL500}}, SL500c, SL510
+
* {{SL300}}, {{SL400}}, {{SL400c}}, {{SL410}}, {{SL500}}, {{SL500c}}, {{SL510}}
 
* {{T60}}, {{T60p}}, {{T61}}, {{T61p}}
 
* {{T60}}, {{T60p}}, {{T61}}, {{T61p}}
* {{T400}}, {{T400s}}, {{T500}}
+
* {{T400}}, {{T400s}}, {{T410}}, {{T410i}}, {{T410s}}, {{T410si}}, {{T420}},{{T420s}}, {{T500}}, {{T510}}, {{T510i}}, {{T520}}
* {{W500}}, {{W700}}, {{W700ds}}
+
* {{W500}}, {{W510}}, {{W520}}, {{W700}}, {{W700ds}}, {{W701}}, {{W701ds}}
 
* {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}
 
* {{X60}}, {{X60s}}, {{X60 Tablet}}, {{X61}}, {{X61s}}, {{X61 Tablet}}
* {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X300}}, {{X301}}
+
* {{X1}}, {{X100e}}, {{X120e}}, {{X200}}, {{X200s}}, {{X200 Tablet}}, {{X201}}, {{X201s}}, {{X201 Tablet}}, {{X220}}, {{X220 Tablet}}, {{X300}}, {{X301}}
 
* {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}}
 
* {{Z61e}}, {{Z61m}}, {{Z61p}}, {{Z61t}}
 
* {{Reserve Edition}}
 
* {{Reserve Edition}}
  
 
== Older ThinkPads==
 
== Older ThinkPads==
Download [http://www-307.ibm.com/pc/support/site.wss/MIGR-44320.html "ThinkPad Monitor File"]
+
Download {{IBMDOCURL|MIGR-44320|ThinkPad Monitor File}}
  
 
===Supported ThinkPads===
 
===Supported ThinkPads===
Line 96: Line 112:
 
* {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
 
* {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
 
* {{i1200}}, {{i1300}}
 
* {{i1200}}, {{i1300}}
* i Series 1400, Type 2621, 2651
+
* {{i1400}}, Type 2621, 2651
 
* {{i1720}}, {{i1721}}, i1781
 
* {{i1720}}, {{i1721}}, i1781
 
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}
 
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}
Line 112: Line 128:
 
* {{X40}}, {{X41}}, {{X41 Tablet}}
 
* {{X40}}, {{X41}}, {{X41 Tablet}}
 
* {{TransNote}}
 
* {{TransNote}}
 
== Footnotes ==
 
# There are actually four paths extracted from the "ThinkPad Monitor INF File" for older ThinkPad models: {{path|./WIN98}}, {{path|./WINME}}, {{path|./WIN2000}}, {{path|./WINXP}}, but the {{path|IBMTPLCD.INI}} file in each is essentially identical--any of them will work for the purposes of this article.
 

Latest revision as of 17:04, 28 August 2016

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.

TODO
simplify the procedure for finding the right colour profile to load

Unpacking the EXE

Download the Windows EXE file for your model. There are three methods of unpacking it.

  1. Use a (virtual) windows machine
  2. Use wine
  3. Use innoextract

The last one is by far the easiest, but will only work on the 1yoi04ww.exe file for the old ThinkPads.

innoextract 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.

$ innoextract 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 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

NOTE!
These instructions assume you have a newer model ThinkPad. If you have an older model ThinkPad you need to use IBMTPLCD.INF instead.

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
NOTE!
x201s on Ubuntu 10.10 can't have get-edid working. Instead, I looked carefully at the TPLCD.INF file and concluded that x201s's monitor id is LEN4014. --> following the steps the icm file I used is TPLCD.ICM. I'm not professional but it does make the color look a lot better than none, by setting the profile using gnome-color-manager.

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.

NOTE!
Even though I need to use TPLCD.ICM for my ThinkPad does not mean the outcome will be the same for your ThinkPad. Please run through the steps to determine what file you need to use

Current ThinkPads

Download "ThinkPad Monitor INF File"

Supported ThinkPads

Older ThinkPads

Download ThinkPad Monitor File

Supported ThinkPads