How to calibrate the screen on a Thinkpad X230 within Linux

If you run Gnome or KDE Plasma as your desktop environment, there are built in tools for you to calibrate your screen. You just need to find an .icm or .icc profile file that matches your screen to calibrate it. (See below to find one that matches the X230 with the IPS screen.) I have run LXDE up to now and have just switched to LXQt. Neither of these lighter and smaller desktop environments have a built in screen calibrator, so I needed to find another solution. The solution I found will work in any desktop environment or window manager as long as you use X11.

(I would think colour calibration is one of those issues where Wayland will not be as easy to work with since there are so many different Wayland implementations due to the nature of it being only a protocol and not a display server like X11. Maybe each desktop environment or window manager needs to make their own solution (or a common one if they share the compositor like it seems many are planning to do with Mir). Well, I don’t really know much about Wayland, so this paragraph is in parenthesis.)

Lindesnes lighthouse

I first tried using DisplayCAL to calibrate my screen. To get it to calibrate my screen, I also needed a profile to use. I downloaded some files from Lenovo’s website for use with Windows 8, dug through one of the files to find which of the other files to use which demanded looking at vast amounts of irrelevant data before finding what I wanted, and then had to extract the file I needed from a Windows executable file (.exe) with Wine to find the profile I needed. It took a lot of time and was mind-bogglingly cumbersome. One would think that Lenovo, being the supplier of computers to the largest Linux software company, Red Hat, could have just supplied the relevant profile on the support pages for the X230 so Linux users wouldn’t have to run Windows executables to get to the profile.

When I started DisplayCal and loaded the .icm file for the screen, it gave me an error message that the file did not contain any info for correction. DisplayCAL is a bit of an overkill for what I wanted to do anyway since it is made to be used with colour calibration hardware to make a profile fitting the screen before applying the profile to the screen. I just wanted to apply the profile to the screen to correct the colour rendering. Anyway, it did not work whatever way I tried to load the profile which was quite frustrating after spending lots of time getting to the profile in the first place. After a while, I had to give up. I don’t know why it didn’t work. It just didn’t work.

Lyngdalsfjorden

I then turned to another solution I found on the Arch Wiki when I searched for icc colour profiles: xcalib. This is a command line tool that takes an .icc colour profile and calibrates the screen with it. It does exactly what I want and nothing more. I tried with the .icm profile I had extracted from the Windows executable and it didn’t work. I then DuckDuckWent and found on a Thinkpad forum that there was a colour profile for the X230 available in the Display section of a review of the X230 on notebookcheck.net. The profile is hidden on the bottom of a table with technical info on the right of a picture with the text “distribution of brightness” underneath. (If it should ever disappear, contact me through my contact page and I will happily email you a copy.)

I downloaded the .icc profile file and fed it to xcalib and the colours changed. I also have a Thinkpad W520 with a calibrated screen and know how my pictures on Flickr should look from seeing them on that screen, so I took a look at the same pictures on the X230 screen and they looked as they should as far as I was able to ascertain. It was really obvious that they did not look right before the calibration, but after the calibration, they looked alright.

To make this change permanent, all you need to do is to execute the xcalib command with the .icc profile file that fits the screen at the start up of your desktop environment or window manager. In LXQt, you can use the Session Settings to autostart xcalib thenameoftheprofile.icc. In LXDE, you can use the LXsession session manager to do the same. I put the .icc profile file in my home folder to be certain I back it up properly.

View from the bus stop

To me, getting the screen calibrated was the one missing piece to make the Thinkpad X230 an excellent ultraportable machine that can replace my Thinkpad W520 most of the time. My Thinkpad W520 is a wonderful, powerful, hardcore, moveable workstation which was designed with film producers and videographers in mind (at least the version I have with the Quad i5 processor with multithreading, Nvidia Quadro 2000M and calibrated 1080p matte screen), but it is too large to travel with unless you really really need the power of it. I usually don’t.

The X230 gives me many of the features of the W520 (powerful processor, USB 3, SATA 3, IPS screen, possibility to have an M2 + a SATA3 SSD/HDD (M2 + 2 SATA3 drives in the W520 though), good keyboard, enough RAM, good selection of ports…) in a more portable machine. With the screen calibrated, I can now use it for light photo editing and video editing on the go. The one thing the X230 doesn’t have is the Nvidia card of the W520 which means it is not as good for gaming as the W520, but on the other hand, I don’t have to deal with Nvidia optimus and the proprietary Nvidia driver. Gaming isn’t all that important to me anyway. I hope the HD4000 iGPU in the X230 will be good enough for some 1080p video editing in Kdenlive.

Leave a Reply

Your email address will not be published. Required fields are marked *