22 ms·
Open Source Color Management Is Broken
- gigogkggi 9y agoThis 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.
- gsich 9y agoThe author cries about being not able to boot from the USB stick and that his ColorHug2 might be broken.
- frabbit 9y agoAlso that only GNOME appears to have color management. XFCE and KDE seem to be lacking in that regard.
- giovannicarruba 9y agoIt 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.
- frabbit 9y agoThat would be one positive thing that could come out of this criticism.
- Accacin 9y agoHe 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.
- seba_dos1 9y agoI don't understand that attitude, that's a pretty low price for a niche open hardware device.
- giovannicarruba 9y agoWhat attitude? Paying for something and then expecting it to actually work?
- serf 9y agoThe 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.
- Filligree 9y agoCost 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.
- seba_dos1 9y agoAs with most Open Hardware projects, you pay extra for the mere fact of the device's existence. Without paying extra, it wouldn't exist, because producing stuff in small amounts is way more expensive per device than producing them in high volumes.
- hedora 9y agoMany 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.
- giovannicarruba 9y ago...which is just how the whole clusterfuck begins. At the end we know that hardly anything in the whole stack works as expected.
- GuiA 9y agoIf 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.
- _trampeltier 9y agoI 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.
- semi-extrinsic 9y agoI 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?
- dljsjr 9y agoMonitors 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.
- detaro 9y agoIf 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.
- cratermoon 9y agoThe Linux community will attempt to solve the problem by attempting to create an entirely new color management system, which will get at best 80% done with a handful of outstanding Hard bugs, at least one of which will be bad enough to break the entire thing except on one specific distro/gui/hardware combination.
- userbinator 9y ago...and it'll be difficult to turn off for those not in the professions named in the other comments here which require accurate colour, using monitors with smaller gamuts, and would much prefer to have the "raw", "unmanaged" behaviour.
- LeoNatan25 9y agoWhat does “unmanaged” even mean? Anyone should strive to have as accurate colors as possible.
- giovannicarruba 9y agoDid you just assume my color space preferences?
- userbinator 9y agoMapping directly into the full gamut of the monitor, the way that almost every common computer did before the whole "color management" stuff even became a thing. Anyone should strive to have as accurate colors as possible. No, people have different needs and set their monitors' brightness and contrast accordingly. It's only the mentioned industries which require that accuracy --- and the associated, often very expensive, monitors and calibration equipment.
- seba_dos1 9y ago> Except that they only set it for the primary output. Turns out if you have multiple displays, the profile for the first one is put into the _ICC_PROFILE X11 atom, but the profile for the second one in the _ICC_PROFILE_1 X11 atom, for the third display in the _ICC_PROFILE_2 X11 atom, and so on. It’s just that nobody seems to do this. Sounds like an easy thing to fix. I'd suggest the author to try and make some patches - don't know about GNOME, but KDE is pretty friendly and easy to contribute to.
- jhasse 9y agoGNOME isn't.
- pjmlp 9y agoNot everyone is a developer, and this type of comments is why everyone that cares about UI/UX design professionally, eventually goes back to Windows or macOS.
- serf 9y agoThat type of comment is also the underlying reason why Linux improves/fixes things at such an astronomical rate compared to either of the choices you listed. It's not just saying "Hey you, go fix that." , it's saying "Hey everyone viewing this comment on a public page : this exists and needs to be fixed. Someone grab a wrench."
- pjmlp 9y agoYet the two most successfully desktop experiences among common users, based on Linux, don't expose any details of its eco-system. Quite telling.
- giovannicarruba 9y agoWhich two are those?
- 9y ago
- mark-r 9y agoIf you write the calibration info to the video LUT, why does software also need to know about it? Isn't your monitor displaying perfectly calibrated sRGB at that point?
- theatrus2 9y agoThis is assuming all the content is sRGB, which is not a safe assumption especially if you care about color management to begin with.
- seba_dos1 9y agoIf the content is not in sRGB, don't you need to actually know the contents color profile in order to convert it to sRGB? How does the monitor profile matter at this point? (not challenging, just asking, I know next to nothing about color correction)
- wereHamster 9y agoYou don't want to convert to sRGB, you want to convert to the display device color space (which in professional displays is often larger than sRGB). Most desktop environments and applications assume that the source is sRGB, unless specifically tagged (in image metadata). So you have two points: source (image, video) and reproduction device (display, printer etc). And you convert colors from the former to the later. sRGB may not even come into play if the source image is AdobeRGB and the display is a wide-gammut pro LCD display!
- deleted 9y ago[deleted]
- mark-r 9y agoDoes the software know how to bypass the LUT, or do you in effect get a double conversion?
- 9y ago
- Bitcoin_McPonzi 9y agoMany of my (Hollywood) clients need to do color grading and other accurate color work. What platforms do they all use? Not Macintosh, despite its reputation for being the platform for "graphics professionals" (it was missing 10 bit/channel color until very recently). And not Linux, despite its use in render farms. They use Windows 10 and HP DreamColor monitors. That's the only platform that works and works well for people who need to care about color.
- AboutTheWhisles 9y agoEvery large visual effects studio runs on linux, with hundreds of linux workstations at each one. Color sensitive work like lighting and compositing has been done for well over a decade on linux. Artist workstations are calibrated and every major computer graphics application has support for look up tables.
- coldtea 9y ago>Every large visual effects studio runs on linux, with hundreds of linux workstations at each one. Color sensitive work like lighting and compositing has been done for well over a decade on linux. That's for rendering, where the OS and Desktop experience doesn't really matter, and the cheaper it is the better. Few pros do the actual editing and color work (where the decisions are made, not the rendering part) on Linux.
- pzone 9y agoThat's not right - Linux is used on desktop workstations as well. Check out the discussion in this recent thread. https://www.reddit.com/r/linux/comments/7zms77/gnome_2_spotted_on_frozen_behind_scenes/ https://www.reddit.com/r/linux/comments/7zms77/gnome_2_spott...
- coldtea 9y agoFor 3D yes.
- 9y ago
- cornholio 9y agoI think niche market software, used by a limited number of highly specialized professionals, is somewhat incompatible with the open source economic model. When a piece of software is used by very many users, and there is a strong overlap with coders or companies capable of coding, say an operating system or a a web server, open sources shines: there is adequate development investment by the power-users, in their regular course of using and adapting the software, that can be redistributed to regular users for free in an open, functional package. At the other end of the spectrum, when the target audience is comprised of a small number of professionals that don't code, for example advanced graphic or music editors or an engineering toolbox, open source struggles to keep up with proprietary because the economic model is less adequate: each professional would gladly pay, say, $200 each to cover the development costs for a fantastic product they could use forever, but there is a prisoner dilema that your personal $200 donation does not make others pay and does not directly improve your experience. Because the userbase is small and non-software oriented, the occasional contributions from outside are rare, so the project is largely driven by the core authors who lack the resources to compete with proprietary software that can charge $200 per seat. And once the proprietary software becomes entrenched, there is a strong tendency for monopolistic behavior (Adobe) because of the large moat and no opportunity to fork, so people will be asked to pay $1000 per seat every year by the market leader simply because it can. A solution I'm brainstorming could be a hybrid commercial & open source license with a limited, 5 year period where the software, provided with full source, is commercial and not free to copy (for these markets DRM is not necessary, license terms are enough to dissuade most professionals from making or using a rogue compile with license key verification disabled). After the 5 year period, the software reverts to an open source hybrid, and anyone can fork it as open source, or publish a commercial derivative with the same time-limited protection. The company developing the software gets a chance to cover it's initial investment and must continue to invest in it to warant the price for the latest non-free release, or somebody else might release another free or cheap derivative starting from a 5-year old release. So the market leader could periodically change and people would only pay to use the most advanced and inovative branch, ensuring that development investment is paid for and then redistributed to everybody else.
- alphaalpha101 9y ago
- jzl 9y agoThe complaints in this article appear to be regarding OS-controlled lut adjustments, i.e. via special X11 features. I've used color calibrated monitors on linux in color-sensitive industries with hundreds or even thousands of artist seats (including film, animation, vfx, real-time, etc.) and the monitor has always been calibrated via the physical menus/buttons on the bezel and not a software/OS monitor-specific lut adjustment. I'm not judging which is better or worse as it would indeed be nice if the calibration could be controlled by the OS. I'm just saying that adjusting the monitor hardware directly is what's being done in the pro linux content creation world. Also, I imagine that certain brightness and color gamut controls could only happen from the bezel controls. Dreamcolors can switch between srgb & P3 for example.
- mark-r 9y agoThat would seem to be the only sane way, as anything else requires all the pieces end-to-end to be working properly in perfect harmony.
- appleflaxen 9y agoi don't know color management, but it sounds like the situation is analogous to complaining that VLC on linux doesn't have volume controls (for example; of course it does in reality...) when the solution is to reach over and twist your hardware volume knob. it's good to know that you've found the controls sufficient on the systems you have adjusted!
- newnewpdro 9y agoIt's unclear to me why there's no color palette/correction table exposed in libdrm/KMS at the kernel. It should just be part of the video mode, maybe with a bit to indicate when the driver/hardware doesn't support changing it. But always be able to read it out, make it linear nonsense when the support isn't there - that won't be worse than what we have now. Then the layers up the stack like Wayland/X/GNOME/KDE are just messengers to/from the bottom @ drm. We also need floating point frame buffers to be first-class citizens at the KMS level. I don't want to be forced into OpenGL/Vulkan just to be able to have the hardware apply gamma correction on a software-rendered frame buffer, and if I have the hardware do color correction, it kind of needs the HDR of floats - not uchars, which I don't think libdrm supports with dumb buffers of today. If not floats, at least more bits than 8 per color component. Programs like Plymouth or other embedded style applications running directly on libdrm should be able to have color-corrected output without needing bespoke software implementations and their own calibration tables. I should be able to tell the kernel the correction table, maybe compile it in, or another payload on the boot parameters cmdline. Hell there are fairly well-known simple algorithms for generating approximate color tables from a single gamma value. If I only want to make things look "better" in my linux kiosk, and care not about absolute color correctness, let me stick a drm.gamma=.55 field on the kernel commandline to generate the correction table in lieu of a full calibrated table.
- braderhart 9y agoHave you created it, cause if not then that might explain why what you want in detail doesn't exist.
- newnewpdro 9y agoIs your point that I should get off my ass and do it instead of complaining? Or is your point that it's substantially more complicated than it appears, and I'd know that if I tried doing it myself?
- BenjiWiebe 9y agoBoth points are likely applicable. :) However I think complaining about open source software has its place. Sometimes the developer has never thought of adding the feature that the end user can't get along without.
- gugagore 9y agoIs there anyway to display something in Linux without any color management? Can you access the buffer that gets read directly to the monitor? I've wanted to know whether two colors I'm displaying actually get distinguished by the monitor or if the LIST maps then to the same output value.
- unhammer 9y agoI've been using the ColorHug 1, and found it worked quite nicely. The included Fedora CD (yes, this was some time ago) let me calibrate just fine. Once I wanted to do it straight from XCFE, I ran into a few challenges, but it wasn't unsurmountable: https://askubuntu.com/questions/427821/can-i-run-gcm-calibrate-on-xubuntu-without-installing-all-of-gnome https://askubuntu.com/questions/427821/can-i-run-gcm-calibra... Basically, you have to run xiccd in the background, since XFCE doesn't have built-in colord support to set the X11 atom[1]. I've never used multiple monitors though, I don't know if that's possible with xiccd+xfce instead of Gnome. [1] https://bugzilla.xfce.org/show_bug.cgi?id=8559 https://bugzilla.xfce.org/show_bug.cgi?id=8559