Bug 97774 - [SKL] Can we support YCbCr 420 output in HDMI 2.0 port?
Summary: [SKL] Can we support YCbCr 420 output in HDMI 2.0 port?
Status: CLOSED INVALID
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: XOrg git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-12 05:53 UTC by Jun Zhao
Modified: 2017-07-07 18:23 UTC (History)
2 users (show)

See Also:
i915 platform: SKL
i915 features: display/HDMI


Attachments

Description Jun Zhao 2016-09-12 05:53:42 UTC
Hi,
CPU: Skylake Core I series, (i3-6100)

SW Environment: (from 01.org, 2016Q2)
Based on Ubuntu 16.04, and change the Kernel and libraries:
Linux kernel: 4.6
Mesa - 11.2.2
xf86-video-intel - 2.99.917
Libdrm - 2.4.68
Libva - 1.7.1
vaapi intel-driver - 1.7.1
Cairo - 1.15.2
Xorg Xserver - 1.18.3

If we connect the HDMI 2.0 port between our produce and most monitors (support 4K@60), the monitor shows the resolution 4K@60 normally.
But if we connect the HDMI 2.0 port between our produce and most TVs (support 4K@60), the TV just shows the resolution 4K@30. "xrandr" command doesn't show 4K@60. 
We also found some TVs just support 4:2:0 YCbCr. Has Linux driver not support it yet?
Comment 1 yann 2016-09-12 10:24:28 UTC
Updating to SKL rather than APL based on the details you have provided. Please change if this is not correct and update also your information.
Comment 2 cprigent 2016-10-27 11:52:11 UTC
Looking at i3-6100 Graphics Specifications (Intel® HD Graphics 520 or 530) from http://ark.intel.com/compare/90734,89063,88180,90611,88181 :
Max Resolution (HDMI 1.4): 4096x2304@24Hz

What is your motherboard model?
Execute command: sudo dmidecode -t 2

I think YCbCr is Platform-Common, so it should be supported.
What is the TV model and could you attach some logs (dmesg from fresh boot and xrandr output)?
Comment 3 Ville Syrjala 2016-10-27 12:03:04 UTC
(In reply to Jun Zhao from comment #0)
> We also found some TVs just support 4:2:0 YCbCr. Has Linux driver not
> support it yet?

No support as of now.
Comment 4 Ville Syrjala 2016-11-03 09:39:17 UTC
(In reply to Ville Syrjala from comment #3)
> (In reply to Jun Zhao from comment #0)
> > We also found some TVs just support 4:2:0 YCbCr. Has Linux driver not
> > support it yet?
> 
> No support as of now.

Just to elaborat ea bit. For SKL and whatnot the only way to get it would be via an external DP->HDMI 2.0 dongle/cable, or via LSPCON (which is the same thing pretty much).

Adding the support would involve several parts:

1) Add all the generic HDMI forum VSDB parsing and whatnot to the EDID parser

This is needed so that we'll know whether the sink supports YCbCr 4:2:0. There have been some patches towards HDMI 2.0 support for the EDID parser, but I can't recall how much was still missing from them. Not much merged so far.

3) Implement YCbCr 4:4:4 output support

This would involve doing RGB->YCbCr conversion with the pipe CSC. I started to implement this at some point, but got sidetracked and never actually finished. I should probably have a branch with some half finished code somewhere.

2) Extend out DP->HDMI dongle support to allow YCbCr 4:2:0 output.

Looking at the DP 1.4 spec, I see a PROTOCOL_CONVERTER_CONTROL_1 register that would allow you to enable YCbCr 4:2:0 conversion. If I'm reading things correctly we need to output YCbCr 4:4:4 to the dongle, and then dongle will downsample that to 4:2:0 when instructed to do so via this register. We probably have to parse a few other things from the DPCD as well so that we'll know whether the dongle even supports this.
Comment 5 JingWu Lin 2016-11-14 03:22:32 UTC
We use Megachip MDCP2800 in this case.
It works fine with Windows system on the same board.
Comment 6 N. W. 2016-11-15 00:41:27 UTC
(In reply to JingWu Lin from comment #5)
> We use Megachip MDCP2800 in this case.
> It works fine with Windows system on the same board.

Sounds somewhat similar to:

https://bugs.freedesktop.org/show_bug.cgi?id=94248

Have you already checked and updated the firmware of your MegaChips MCDP2800 LSPCon? And are you running the latest Kernel and so on?
Comment 7 Jari Tahvanainen 2017-04-11 07:49:49 UTC
JingWu Lin - please note the question on comment 6. And does the problem still persist with latest kernel (preferable drm-tip from git://anongit.freedesktop.org/git/drm-tip) ?
Comment 8 Ricardo 2017-07-07 18:22:56 UTC
Closing this bug as invalid because the lack of response please if the problem is visible test with latest configuration and open a new bug, include logs.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.