Hacker News new | ask | show | jobs
by gigogkggi 3037 days ago
This all sounds interesting but I have 0 clue about what the author is talking about. Can somebody explain what is being talked about, what color calibration is and all? Not a designer, but a systems programmer. I do understand rgb, hsv colors but that's it.
3 comments

If you do any professional color work, you want a color calibrated display. This ensures that the colors you see on your screen will be the same as the ones on your designer colleague’s screen, and the same as the ones that come out of the printer’s factory, for instance.

Higher end displays are already pretty decently calibrated out of the factory, but if you want to be exact you will need to buy an external piece of hardware that will measure your display’s colors and tell you how off they might be.

The author bought a piece of color calibrating hardware that was meant to be open in design and work with Linux, as presumably he wants to support these efforts.

But he encountered a bevy of problems, ranging from packages not updated in a while to things that just plain don’t work as documented, and got frustrated.

Understandable, since on macOS or Windows with proprietary hardware, this would have been a 5 minute process. The author is sad and frustrated that the open source alternatives aren’t there.

Displays also drift over time. So even if you have a professional display calibrated at the factory it needs to be recalibrated a minimum of once per year with 6 months being preferred in a professional environment.

This is true with even the highest quality color critical displays like we use in film/tv color correction ($5-$50k+ for 25" panels).

I could understand you have to calibrate a display if the connection between PC and display would be analog. I don't understand it in the digital age.
It's not about the signal it's about the physical display.

Displays aren't calibrated at the factory. To use an LED-backlit display as an example, not every single LED in the world is created equally. Not every LED is going to give off the exact same wavelength for the same current value.

Extrapolate this out to all the other components and this is the reason that your monitor has built-in physical controls for changing RGB/contrast/brightness values to begin with.

Calibration accounts for this.

As for why ICC profiles are used instead of just changing settings on the monitors, the OSD options usually don't offer enough fine-grained control to get things just right. Display makers are typically targeting main-stream consumers so they provide simple adjustment controls.

The display at the end of it is an analog device. The calibration confirms that the actual light coming out of the screen is an accurate representation of what the digital information thinks it should be.
To add to all the comments here: the range of physical colors a monitor can display intentionally also differs (a low gamut, sRGB gamut, or one of several wide gamut standards). The video pipeline sends just 8 or 10 but values at the display, but the actual color seen can differ dramatically.
A digital communication channel allows faithfully sending an image to the display. Turning that data into colored light is another thing.

Standard values of the voltages, currents, timings etc. that are applied to LEDs, liquid crystal pieces and other electronic components of the display in order to get the desired colors are only a starting point; a calibration that measures the differences between devices and compensates them is needed because of manufacturing and accidental differences.

I also have this question. I mean, the ones and zeros that get sent over your DisplayPort/whatnot cable for some specific color in your favorite color space should be identical for all computers everywhere. Why don't we then just calibrate the monitors themselves, rather than the whole OS?
We essentially are calibrating for the monitor’s version of the color not being 100% accurate. Yo’re right, in a perfect world the monitors would just be correct from the factory.

In practice, monitors change color over time (much mire common in ccfl backlit monitors, i think) and even shift with brightness, so we have to do it “at runtime”

Monitors aren't often calibrated from the factory or they are calibrated to be "subjectively" nicer looking, e.g. high contrast and slightly cool white balance to account for show-room floors.

In addition to that the built-in options for configuration are often very simplified and have a coupling. Low resolution control plus simplified options means that you often can't dial in perfect color reproduction. Hence ICC profiles.

Because light is analogue, our eyes are analogue and the light conditions of the living room is analogue, the paper where images are printed is analogue and so on.

It is physically impossible to get an unique colour space across all surfaces.

If you display the same RGB value on different screens (or other outputs like prints) it'll be a different actual color being displayed. Color calibration measures the actual color created and creates correction information that software can use to make the color conform to a standard, so you have better control over the output.
The author cries about being not able to boot from the USB stick and that his ColorHug2 might be broken.
He wrote a pretty detailed blog article explaining his issues and how he got around them, this is all very useful information to someone who is looking to do something similar.

Spending €100 also isn't an insignificant amount, and for that price I would expect what I'm buying to work properly.

The ColorHug is a colorimeter designed to calibrate screens with an approximately-sRGB gamut. If you're trying to calibrate a wide-gamut screen with a ColorHug it isn't going to work very well. If you need to do anything other than consumer hardware you need to use a spectrophotometer (that can do spectral profiling) rather than a colorimter that's calibrated to different primaries than what it's trying to measure. A spectro is going to cost you at least $300, and a good one is going to cost you somewhat more.

Source: Person that designed the ColorHug hardware.

I get what you're saying, but when he plugged it in it didn't work. Even if he was trying to do what it's supposed to do he would have had problems.

I'd like to add I'm completely appreciative and thankful of what you're doing.

The BenQ monitor used in the article appears to be just "100% sRGB‎" and not wide-gamut.
I don't understand that attitude, that's a pretty low price for a niche open hardware device.
It's barely more than the device costs to make. It turns out making batches of 50 at a time is an order of magnitude more expensive than building them 50,000 at a time.

Source: Am the person that sits in a shed and builds each ColorHug.

Just what I suspected :) Thanks for doing it anyway!
It's not. An Eizo EX3 sells for 85 bucks here, a Spyder 5 for 95. A ColorHug2 amounts to 115. Since the ColorHug2 doesn't include the actual calibration software, it is equal to the EX3. Paying 35% more just for the "Open Hardware" label and then not being able to reap the expected benefits (better support etc.) doesn't sound like a good deal.
It is.

Better support? Open Hardware means Open Hardware, and nothing more - you get the access to the schematics, documentation, sometimes also right to produce similar devices by yourself. You can expect greater hackability, definitely, but "Open Hardware" sticker means nothing in terms of support or reliability. It might be better, it might be worse, you can't tell.

The price in such projects is directly related to the production scale. How many EX3s, Spyders and ColorHugs have been produced? Open Hardware projects (especially the equivalents of already available non-free devices) are often costlier because it initially attracts only the people who really care about its hackability, which makes the yields low, which makes the prices high, which further strengthens that relation, and the circle is closed.

With userbase kept small, most users usually keep the firmware/software support just right enough to scratch their own itches.

Please remember that hardware is not software, and open hardware comes with completely different set of challenges than free (open) software and when it comes to hardware, you often really need to pay extra for the freedom - not just with your time, like we were used to with early FLOSS, but also with your money. If you choose a project because of its "Open Hardware" sticker, it's really more than likely that it will be costlier and it will be rough at edges, because it's usually harder to roll with such projects than with closed competitors and the ROIs are usually way smaller too. That's just how it is and there's nothing surprising about it; if you care about openness, you have to accept it, otherwise it will never get better.

This is one of the more important comments here, imo. Open hardware != free software. As someone who's been in the unfortunate position of having to work with locked down chips on many occasions, just simply having access to proper documentation is awesome. It can take a lot of work and dedication to interface with open hardware, but we all benefit when the fruits of that labor are shared. This is a struggle we should all be willing to undertake.
The EX3 and Spyder are not good probes. The cheapest quality probe I know of is the xrite i1 display pro. Everything below that is basically a toy. I've never used a ColorHug though so I'm not sure how it stacks up.

As for software, DisplayCal is actually very well regarded in pro color and considered one of the only serious three choices, the others being CalMAN and the big dog being Light Illusions.

What attitude? Paying for something and then expecting it to actually work?
The attitude that the cost gap between products in the same category will not be accounted for elsewhere in the user experience or product quality.

tl;dr : you get what you pay for.

Cost gap? You mean, the ColorHug being more expensive than the other alternatives which work better?

Ok, but I'm not sure how that explains it. You'll need to go into more detail.

Many people would like to see open hardware succeed, so they get annoyed when they watch yet another open hardware company sell a broken product, which inevitably leads to bankruptcy, and then starts the “Linux will never work out of the box” cycle anew.

We’ve seen this play out dozens of times since the ‘90s, and the startups keep making the same mistakes.

They should at least read their predecessors retrospectives, and strive to make different mistakes.

...which is just how the whole clusterfuck begins. At the end we know that hardly anything in the whole stack works as expected.
Also that only GNOME appears to have color management. XFCE and KDE seem to be lacking in that regard.
It appears that KDE could do much better without any actual effort. Just merge the existing code into the base packages like GNOME did, don't make it optional.
That would be one positive thing that could come out of this criticism.