Difference between revisions of "Colour profile"

From ThinkWiki
Jump to: navigation, search
m (Unpack and find your colour profile)
(replaced cabextract by innoextract)
 
(44 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
{| width="100%"
 +
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__
 +
|style="vertical-align:top" |
 
Linux distributions are starting to get support for Colour profiles with gnome-color-manager which is planned to be part of Fedora 13 [https://fedoraproject.org/wiki/Features/ColorManagement].
 
Linux distributions are starting to get support for Colour profiles with gnome-color-manager which is planned to be part of Fedora 13 [https://fedoraproject.org/wiki/Features/ColorManagement].
  
IBM and Lenovo have been providing colour profile packages for years, unfortunately they are stuck away in Windows .exe files, so you need wine or a windows machine to unpack them.
+
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}}
 
{{Todo|simplify the procedure for finding the right colour profile to load}}
==Unpack and find your colour profile==
+
|}
If you unpack the exe file using Wine the profiles will be located in {{path|~/.wine/drive_c/DRIVERS/WIN/MONITOR/}}
+
 
In that file you will find a .INI 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 vendor information, but monitor-edid from the monitor-edid RPM (on Fedora) does.
+
==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 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 {{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.
 +
 
 +
==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
 
  $ monitor-edid
Line 18: 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 28: 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 TPLCD.INF
+
  $ grep -A 2 \\[TPLCDSXGAP.Install] TPLCD.INF
....
+
  [TPLCDSXGAP.Install]                   ; SXGA+ 1400x1050
  [TPLCDSXGAP.Install.NTx86]             ; SXGA+ 1400x1050
+
 
  DelReg=DEL_CURRENT_REG
 
  DelReg=DEL_CURRENT_REG
 
  AddReg=1400, DPMS, ICM
 
  AddReg=1400, DPMS, ICM
--
 
[TPLCDSXGAPF.Install.NTx86]            ; SXGAP 1400x1050 IPS
 
DelReg=DEL_CURRENT_REG
 
AddReg=1400, DPMS, ICMF
 
 
This will generate quite a bit of output, but at the end you will see lines like those shown above. The last hit is a false-positive and not what we are looking for, but the one above it is correct. As you can see 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 ICM TPLCD.INF
+
  $ grep -A 1 \\[ICM] TPLCD.INF
....
+
 
  [ICM]
 
  [ICM]
 
  HKR,,ICMProfile,0,"TPLCD.icm"
 
  HKR,,ICMProfile,0,"TPLCD.icm"
[ICMG60]
 
HKR,,ICMProfile,0,"TPLCD60.icm"
 
[ICMF]
 
HKR,,ICMProfile,0,"TPFLX.icm"
 
[ICMMB60]
 
HKR,,ICMProfile,0,"TPMB60.icm"
 
[ICMMB72]
 
HKR,,ICMProfile,0,"TPMB72.icm"
 
  
As you can see above the ICM colour profile, maps to the '''TPLCD.icm''' file, so that is the file we need to load in gnome-color-manager for our 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==
[http://www-307.ibm.com/pc/support/site.wss/MIGR-62923.html Download monitor profiles]
+
Download {{LNVDOCURL|DS015012|"ThinkPad Monitor INF File"}}
  
 
===Supported ThinkPads===
 
===Supported ThinkPads===
* L410, L510
+
* L410, {{L412}}, L510, {{L512}}, {{L520}}
* {{R60}}, {{R60e}}, {{R61}}, R61e, {{R61i}}
+
* {{Edge 13"}}, {{Edge 14"}}, {{Edge 15"}},
 +
* {{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}}
  
== Old ThinkPads==
+
== Older ThinkPads==
[http://www-307.ibm.com/pc/support/site.wss/MIGR-44320.html Download monitor profiles]
+
Download {{IBMDOCURL|MIGR-44320|ThinkPad Monitor File}}
  
 
===Supported ThinkPads===
 
===Supported ThinkPads===
Line 82: Line 112:
 
* {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
 
* {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
 
* {{i1200}}, {{i1300}}
 
* {{i1200}}, {{i1300}}
* i1400 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}}

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