GNOME 3.2 is polishing up nicely, but some of us have twitchy fingers and are looking forward to 3.4.
One of my goals is to complete the desktop color management work, and bring OSX-style full screen color management to the GNOME desktop. This means doing full screen color management on the GPU, probably using a GLSL shader. If hardware shaders are not supported, then we can fall back to just uploading the VCGT gamma ramps like we're doing in 3.2. So, what does FSCM actually bring us? On newer LED hardware you have a much larger gamut (range of colors) and so artwork designed for a 1990's style CRT gamut is going to make all the colors painful and give everyone headaches. It allows us to make dual monitors look the same, and even allows us to make the colors more accurate on shitty TFT panels. It means we can have full screen movies with the right colors without everything looking either overly saturated or washed out. It also means that we have to think about; * Word processing applications can just ignore color management completely and just output everything as sRGB which gets converted to something sane (which doesn't make your eyes bleed) by mutter. * Full screen power applications that care, e.g. blender, can opt-out the whole window and get to do all the color management stuff themselves. * Games running full screen just get to tell the compositor to naff-off and let the game use all the texture memory (each loaded color profile is currently stored as 16x16x16 which is ~3Mb). * Mixed content applications like Firefox only opt out regions of the window, e.g. when browsing Flickr, and only one image is color managed and the rest of the page is sRGB. This is basically what OSX allows you to do. I appreciate bringing this to Linux/GNOME is no mean feat, but all of the groundwork was done for 3.2. I also want to do something that's easy to use, so rather than having blender do some archane thing with some random library we just tell it to use gtk_window_enable_color_management(window, FALSE); or the alternative in Qt. So, basically, is this something we want? I've got some PoC patches for mutter but they are just hacks that show we can do FSCM without hurting UI latency or without burning loads more power. If this is something we want, then we have to decide on the integration points for GTK and mutter and how do do the opt-out of windows and regions. Ideas and feedback welcome. Thanks. Richard _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list