[Bug 55121] Limited color range on screen that is connected via HDMI [SandyBridge]

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Thu Apr 11 02:00:57 PDT 2013


https://bugzilla.kernel.org/show_bug.cgi?id=55121





--- Comment #8 from Ville Syrjala <ville.syrjala at linux.intel.com>  2013-04-11 09:00:57 ---
(In reply to comment #7)
> 
> OK, let me see if I understood this one.
> 
> 1. Monitor default mode is CE
> 2. Monitor OSD default mode is wrong (set for Full range)
> 3. We automatically search for monitor default mode, CE is the one, set RGB
> color range to limited
> 4. Since OSD mode is Normal (instead of low) I can see white somewhat darker
> (it's not 0 now it's 16) and black somewhat lighter (it's 235 instead of 255).
> 5. Now monitor doesn't pick up that input is set to limited range and stays on
> Normal setting

Yep, you got it.

There's a perfectly good mechanism in the spec for informing the display about
the actually used range, but sadly I've not yet seen a display that implements
it :(

> 
> One thing is missing though, what have we done before this commit ? We set the
> colorimetry to full range as default and if it isn't supported at all we set it
> to 16_235 ?

The old way was to default to full range always, and allow user to change to
limited range manually. The automatic mode wasn't there.

> If the data we receive is valid at all ? Looked at intel_sdvo.c and
> intel_sdvo_regs.h and still I'm not sure about this one.
> 
> But I don't have to be, it would be nice for us to be able to select rgb color
> range as a kernel parameter ie (maybe there is already, just not aware of it
> yet).

There's no parameter currently. I started to actually think that it might be
nice to be able to override the defaults for various properties in general. But
that's a bigger topic that needs a lot more thought.

> I was just trying to figure out how can we emerge from this, if specs werent
> followed strictly - problems are bound to happen either way and the only thing
> that can help the end user is to set the parameters himself. Personally I'm
> wondering is there a way and how ?

The only chance I see is that we'd detect somehow that the display is using
full range by default. I was thinking that it might be a more general issue
with monitors, whereas TVs would be more likely to use limited range. But
unfortunately I don't know of any way to tell TVs and monitors apart based on
the EDID information. A blacklist would be another option, but that approach
won't scale very well.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the intel-gfx-bugs mailing list