Summary: | [DP MST + DP-HDMI] DisplayPort always defaults to incorrect limited-range RGB on FullHD external display | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Ivan Vlk <ari> | ||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||
Status: | RESOLVED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||
Severity: | normal | ||||||
Priority: | high | CC: | ari, intel-gfx-bugs, jani.nikula, uma.shankar | ||||
Version: | unspecified | ||||||
Hardware: | x86-64 (AMD64) | ||||||
OS: | Linux (All) | ||||||
Whiteboard: | Triaged, ReadyForDev | ||||||
i915 platform: | KBL | i915 features: | display/color management, display/DP MST | ||||
Attachments: |
|
Description
Ivan Vlk
2018-11-21 11:39:26 UTC
What kind of adapter are you using for DP->HDMI? It's DP to HDMI male-male cable, nothing special: https://www.tsbohemia.cz/kabel-c-tech-displayport-na-hdmi-m-m-1m_d198856.html There isn't any further specification. I'm using HP docking station (http://www8.hp.com/us/en/products/oas/product-detail.html?oid=5422417) and then just connecting DP using this cable. So you have a DP MST branch device in the dock and an active DP->HDMI protocol converter cable, and you call that "nothing special"? :) My guess is that the CEA range main stream attribute is lost in the protocol translation. OK, I'm trying to understand what you just wrote. Does it simply mean, that my cable is too "weak" to be used with by DP output from docking station, please ? Actually I'm an "simple" user, trying to understand why my laptop to external monitor is not working properly. Can I somehow switch something in system, to get correct protocol translation? Or do I need to buy some new cable with some specific specification? As I wrote, changing to lower resolution brings back normal color range. Thank you. At some point during the DP->HDMI conversion one crucial bit gets lost. It's not about the signal being weak, it's about the conversion losing information. It would be useful to try the cable without the dock if possible. It could be the dock, or the cable, or the combination of the two that breaks this. The resolution affects this because the relevant specs say the source needs to use CEA (or broadcast or limited) range RGB for certain video modes, and full range otherwise. On the mode that works for you, we're sending full range. On the mode that doesn't work, we're sending CEA range plus the bit to indicate to the display it's CEA range. Thank you for additional information. I did some further tests meanwhile with following results: 1) Output is very same on Windows with very same devices, so it's not an driver issue 2) With another LCD monitor, problem is gone. So it isn't problem of cable nor docking station (at least seems to me) I'm using Samsung S27D390H (https://www.bhphotovideo.com/c/product/1046838-REG/samsung_s27d390h_27_led_lcd.html). So, if I understand correctly, problem is with my monitor, which can't detect the bit, you have mentioned, therefore I need to buy new one? Many thanks. Ivan Vlk (In reply to Ivan Vlk from comment #6) > 1) Output is very same on Windows with very same devices, so it's not an > driver issue So you see the same issue on Windows too? > 2) With another LCD monitor, problem is gone. So it isn't problem of cable > nor docking station (at least seems to me) Are you using the same display mode (resolution) on that other display? The color range setting depends on the mode. > I'm using Samsung S27D390H > (https://www.bhphotovideo.com/c/product/1046838-REG/ > samsung_s27d390h_27_led_lcd.html). So, if I understand correctly, problem is > with my monitor, which can't detect the bit, you have mentioned, therefore I > need to buy new one? I don't think we have enough information to make that conclusion. > So you see the same issue on Windows too? Yes, with the same devices and resolution. > Are you using the same display mode (resolution) on that other display? The color range setting depends on the mode. Yes, all is exactly the same, except refresh ration (60Hz vs 60.02Hz). Please try changing the PC/AV mode, enabling/disabling game mode, and if all else fails, finally resetting all settings on the display. Please try changing the PC/AV mode, enabling/disabling game mode, and if all else fails, finally resetting all settings on the display. Sorry for the delay, I was almost 2 weeks out of office. I did requested steps: - PC/AV mode change and back - Game mode on/off - some other changes - finally reseting monitor to factory defaults Without any change, RGB range is still the same. Thank you. Ivan So, can we finally assume, that problem is monitor, which can't detect signal from HDMI-DP conversion cable? Or have I any other possibility, like buying more expensive cable, or something like that? Thank you. Ivan Uma, can you help here? My conclusion here is that we do the right thing, but the information gets lost in the protocol conversion. Fails on Windows too. Workaround is to set the "Broadcast RGB" property to "Full". I'd go with WONTFIX. Well, I'm perfectly fine to go forward with workaround, just like to use full resolution on my monitor after 4 month. Any hint/advice how to achive setting the "Broadcast RGB" property to "Full"? Thank you. Ivan For example: xrandr --output HDMI-1 --set "Broadcast RGB" "Full" Use 'xrandr --verbose' to list the output names and current property values. So I did the setting, but mode seems to be unknown. Tried to Google it, no success with this particular setting. Here are some infos: $ glxinfo|egrep "OpenGL vendor|OpenGL renderer" OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) Active card from xrandr --verbose: DP-2-2 connected primary 1600x900+0+0 (0x76) normal (normal left inverted right x axis y axis) 598mm x 336mm Identifier: 0x6d Timestamp: 77604 Subpixel: unknown Gamma: 1.0:1.0:1.0 Brightness: 1.0 Clones: CRTC: 0 CRTCs: 0 1 2 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: _MUTTER_PRESENTATION_OUTPUT: 0 EDID: 00ffffffffffff004c2d670b55353043 15180103803c22782a9791a556549d25 0e5054bfef80714f81c0810081809500 a9c0b3000101023a801871382d40582c 450056502100001e011d007251d01e20 6e28550056502100001e000000fd0032 4b1e5111000a202020202020000000fc 00533237443339300a202020202001c0 02031af14690041f1303122309070783 01000066030c00100080011d00bc52d0 1e20b828554056502100001e8c0ad090 204031200c4055005650210000188c0a d08a20e02d10103e9600565021000018 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000061 non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad 1920x1080 (0x72) 148.500MHz +HSync +VSync +preferred h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz 1920x1080 (0x73) 148.500MHz +HSync +VSync h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.25KHz v: height 1080 start 1084 end 1089 total 1125 clock 50.00Hz 1920x1080 (0x74) 148.352MHz +HSync +VSync h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.43KHz v: height 1080 start 1084 end 1089 total 1125 clock 59.94Hz 1680x1050 (0x75) 119.000MHz +HSync -VSync h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.67KHz v: height 1050 start 1053 end 1059 total 1080 clock 59.88Hz 1600x900 (0x76) 108.000MHz +HSync +VSync *current h: width 1600 start 1624 end 1704 total 1800 skew 0 clock 60.00KHz v: height 900 start 901 end 904 total 1000 clock 60.00Hz 1280x1024 (0x77) 135.000MHz +HSync +VSync h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 79.98KHz v: height 1024 start 1025 end 1028 total 1066 clock 75.02Hz 1280x1024 (0x78) 108.000MHz +HSync +VSync h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz v: height 1024 start 1025 end 1028 total 1066 clock 60.02Hz 1440x900 (0x79) 88.750MHz +HSync -VSync h: width 1440 start 1488 end 1520 total 1600 skew 0 clock 55.47KHz v: height 900 start 903 end 909 total 926 clock 59.90Hz 1280x800 (0x7a) 71.000MHz +HSync -VSync h: width 1280 start 1328 end 1360 total 1440 skew 0 clock 49.31KHz v: height 800 start 803 end 809 total 823 clock 59.91Hz 1152x864 (0x7b) 108.000MHz +HSync +VSync h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.50KHz v: height 864 start 865 end 868 total 900 clock 75.00Hz 1280x720 (0x7c) 74.250MHz +HSync +VSync h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 45.00KHz v: height 720 start 725 end 730 total 750 clock 60.00Hz 1280x720 (0x7d) 74.250MHz +HSync +VSync h: width 1280 start 1720 end 1760 total 1980 skew 0 clock 37.50KHz v: height 720 start 725 end 730 total 750 clock 50.00Hz 1280x720 (0x7e) 74.176MHz +HSync +VSync h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 44.96KHz v: height 720 start 725 end 730 total 750 clock 59.94Hz 1024x768 (0x7f) 78.750MHz +HSync +VSync h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.02KHz v: height 768 start 769 end 772 total 800 clock 75.03Hz 1024x768 (0x80) 75.000MHz -HSync -VSync h: width 1024 start 1048 end 1184 total 1328 skew 0 clock 56.48KHz v: height 768 start 771 end 777 total 806 clock 70.07Hz 1024x768 (0x81) 65.000MHz -HSync -VSync h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz v: height 768 start 771 end 777 total 806 clock 60.00Hz 832x624 (0x82) 57.284MHz -HSync -VSync h: width 832 start 864 end 928 total 1152 skew 0 clock 49.73KHz v: height 624 start 625 end 628 total 667 clock 74.55Hz 800x600 (0x83) 50.000MHz +HSync +VSync h: width 800 start 856 end 976 total 1040 skew 0 clock 48.08KHz v: height 600 start 637 end 643 total 666 clock 72.19Hz 800x600 (0x84) 49.500MHz +HSync +VSync h: width 800 start 816 end 896 total 1056 skew 0 clock 46.88KHz v: height 600 start 601 end 604 total 625 clock 75.00Hz 800x600 (0x85) 40.000MHz +HSync +VSync h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz v: height 600 start 601 end 605 total 628 clock 60.32Hz 800x600 (0x86) 36.000MHz +HSync +VSync h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz v: height 600 start 601 end 603 total 625 clock 56.25Hz 720x576 (0x87) 27.000MHz -HSync -VSync h: width 720 start 732 end 796 total 864 skew 0 clock 31.25KHz v: height 576 start 581 end 586 total 625 clock 50.00Hz 720x480 (0x88) 27.027MHz -HSync -VSync h: width 720 start 736 end 798 total 858 skew 0 clock 31.50KHz v: height 480 start 489 end 495 total 525 clock 60.00Hz 720x480 (0x89) 27.000MHz -HSync -VSync h: width 720 start 736 end 798 total 858 skew 0 clock 31.47KHz v: height 480 start 489 end 495 total 525 clock 59.94Hz 640x480 (0x8a) 31.500MHz -HSync -VSync h: width 640 start 656 end 720 total 840 skew 0 clock 37.50KHz v: height 480 start 481 end 484 total 500 clock 75.00Hz 640x480 (0x8b) 31.500MHz -HSync -VSync h: width 640 start 664 end 704 total 832 skew 0 clock 37.86KHz v: height 480 start 489 end 492 total 520 clock 72.81Hz 640x480 (0x8c) 30.240MHz -HSync -VSync h: width 640 start 704 end 768 total 864 skew 0 clock 35.00KHz v: height 480 start 483 end 486 total 525 clock 66.67Hz 640x480 (0x8d) 25.200MHz -HSync -VSync h: width 640 start 656 end 752 total 800 skew 0 clock 31.50KHz v: height 480 start 490 end 492 total 525 clock 60.00Hz 640x480 (0x8e) 25.175MHz -HSync -VSync h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz v: height 480 start 490 end 492 total 525 clock 59.94Hz 720x400 (0x8f) 28.320MHz -HSync +VSync h: width 720 start 738 end 846 total 900 skew 0 clock 31.47KHz v: height 400 start 412 end 414 total 449 clock 70.08Hz $ xrandr --output DP-2-2 --set "Broadcast RGB" "Full" X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 139 (RANDR) Minor opcode of failed request: 11 (RRQueryOutputProperty) Serial number of failed request: 57 Current serial number in output stream: 57 So, does that men, that I simply can't switch to full mode manually? Thank you. Ivan (In reply to Ivan Vlk from comment #17) > So I did the setting, but mode seems to be unknown. Tried to Google it, no > success with this particular setting. Here are some infos: > > $ glxinfo|egrep "OpenGL vendor|OpenGL renderer" > OpenGL vendor string: Intel Open Source Technology Center > OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2) > > Active card from xrandr --verbose: > > DP-2-2 connected primary 1600x900+0+0 (0x76) normal (normal left inverted > right x axis y axis) 598mm x 336mm That looks like MST. *facepalm* we don't have limited range handling hooked up for MST... nor audio/max_bpc it seems :( (In reply to Ville Syrjala from comment #18) > That looks like MST. *facepalm* we don't have limited range handling hooked > up for MST... nor audio/max_bpc it seems :( I don't understand this kind of newspeak, but finally we found some bug? :) Thank you. Ivan Seems, that this property is really missing in this case for DP. Any possibility to fix this, please? $ xrandr -q --prop Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192 eDP-1 connected (normal left inverted right x axis y axis) EDID: 00ffffffffffff0006afed2300000000 001a010495221378116e859358589228 1e505400000001010101010101010101 010101010101143780a670382e406c30 aa0058c110000018b82480a670382e40 6c30aa0058c110000018000000000000 00000000000000000000000000000002 001048ff0f3c6e0f16286e2020200033 scaling mode: Full aspect supported: Full, Center, Full aspect Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad 1920x1080 60.03 + 40.02 DP-1 disconnected (normal left inverted right x axis y axis) Content Protection: Undesired supported: Undesired, Desired, Enabled Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad HDMI-1 disconnected (normal left inverted right x axis y axis) Content Protection: Undesired supported: Undesired, Desired, Enabled content type: No Data supported: No Data, Graphics, Photo, Cinema, Game aspect ratio: Automatic supported: Automatic, 4:3, 16:9 Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad DP-2 disconnected (normal left inverted right x axis y axis) Content Protection: Undesired supported: Undesired, Desired, Enabled Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad HDMI-2 disconnected (normal left inverted right x axis y axis) Content Protection: Undesired supported: Undesired, Desired, Enabled content type: No Data supported: No Data, Graphics, Photo, Cinema, Game aspect ratio: Automatic supported: Automatic, 4:3, 16:9 Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad DP-2-1 disconnected (normal left inverted right x axis y axis) non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad DP-2-2 connected primary 1600x900+0+0 (normal left inverted right x axis y axis) 598mm x 336mm _MUTTER_PRESENTATION_OUTPUT: 0 EDID: 00ffffffffffff004c2d670b55353043 15180103803c22782a9791a556549d25 0e5054bfef80714f81c0810081809500 a9c0b3000101023a801871382d40582c 450056502100001e011d007251d01e20 6e28550056502100001e000000fd0032 4b1e5111000a202020202020000000fc 00533237443339300a202020202001c0 02031af14690041f1303122309070783 01000066030c00100080011d00bc52d0 1e20b828554056502100001e8c0ad090 204031200c4055005650210000188c0a d08a20e02d10103e9600565021000018 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000061 non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad 1920x1080 60.00 + 50.00 59.94 1680x1050 59.88 1600x900 60.00* 1280x1024 75.02 60.02 1440x900 59.90 1280x800 59.91 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 75.00 72.81 66.67 60.00 59.94 720x400 70.08 DP-2-3 disconnected (normal left inverted right x axis y axis) non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad I pimped up a bunch of things in the MST code. It ought to help here: git://github.com/vsyrjala/linux.git dp_mst_props Please test and report back. (In reply to Ville Syrjala from comment #21) > I pimped up a bunch of things in the MST code. It ought to help here: > git://github.com/vsyrjala/linux.git dp_mst_props > > Please test and report back. I'm really happy to help with testing, however, I have no idea how to do that :-) Any step-by-step howto, plese? Thank you. Ivan (In reply to Ivan Vlk from comment #22) > (In reply to Ville Syrjala from comment #21) > > I pimped up a bunch of things in the MST code. It ought to help here: > > git://github.com/vsyrjala/linux.git dp_mst_props > > > > Please test and report back. > > I'm really happy to help with testing, however, I have no idea how to do > that :-) Any step-by-step howto, plese? > > Thank you. > Ivan git clone git://github.com/vsyrjala/linux.git cd linux git checkout dp_mst_props zcat /proc/config.gz > .config make -j$(nproc) # just keep hitting enter to select the default value # for all the new config options it asks you about # you seem to be running fedora so you can # probably just build an rpm for yourself with make binrpm-pkg (In reply to Ville Syrjala from comment #23) > > git clone git://github.com/vsyrjala/linux.git > cd linux > git checkout dp_mst_props > zcat /proc/config.gz > .config > make -j$(nproc) > # just keep hitting enter to select the default value > # for all the new config options it asks you about > > # you seem to be running fedora so you can > # probably just build an rpm for yourself with > make binrpm-pkg Thank you. I managed to built new kernel and install it. Now the options are available: DP-4 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm _MUTTER_PRESENTATION_OUTPUT: 0 EDID: 00ffffffffffff004c2d670b55353043 15180103803c22782a9791a556549d25 0e5054bfef80714f81c0810081809500 a9c0b3000101023a801871382d40582c 450056502100001e011d007251d01e20 6e28550056502100001e000000fd0032 4b1e5111000a202020202020000000fc 00533237443339300a202020202001c0 02031af14690041f1303122309070783 01000066030c00100080011d00bc52d0 1e20b828554056502100001e8c0ad090 204031200c4055005650210000188c0a d08a20e02d10103e9600565021000018 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000061 max bpc: 12 range: (6, 12) Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on non-desktop: 0 range: (0, 1) link-status: Good supported: Good, Bad 1920x1080 60.00*+ 50.00 59.94 1680x1050 59.88 1600x900 60.00 1280x1024 75.02 60.02 1440x900 59.90 1280x800 59.91 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 75.00 72.81 66.67 60.00 59.94 720x400 70.08 Can I expect this patch to be applied also to actual kernel stable branch, please? More info about the RGB range: Mode is still Automatic, but RBG range is properly detected now. What really surprised me is, that we I had "Full" mode before and that is what caused very problematic color ranges. Now it's defaults to Limited and all seems pretty normal again. So, finaly, the problem was not unreachable Full range, but unreachable Limited range. Why the colors are such blurry in Full mode, that's another question for another topic (or ranges has inverted names by mistake?) Thank you! Ivan (In reply to Ivan Vlk from comment #24) > Can I expect this patch to be applied also to actual kernel stable branch, > please? Might require a bit of wrangling but should be doable. > More info about the RGB range: > > Mode is still Automatic, but RBG range is properly detected now. What really > surprised me is, that we I had "Full" mode before and that is what caused > very problematic color ranges. Now it's defaults to Limited and all seems > pretty normal again. > > So, finaly, the problem was not unreachable Full range, but unreachable > Limited range. Why the colors are such blurry in Full mode, that's another > question for another topic (or ranges has inverted names by mistake?) The usual symptoms of a mismatch are: * source limited range + sink full range: shades of black become light gray and bright shades aren't quite as bright as they should be * source full range + sink limited range: shades of black get crushed to fully black and bright shades get saturated to full brightness (In reply to Ville Syrjala from comment #25) > * source full range + sink limited range: > shades of black get crushed to fully black and bright shades get saturated > to full brightness Right, this seems to be my case, thanks for clarification. I'm adding link to patch, if anyone found this bugreport and like to follow progress: https://patchwork.freedesktop.org/patch/291069/ Thank you. Ivan FYI I've reviewed the referenced patchset, we should get it merged soon-ish. Marking as fixed. Thanks for the bug report and testing. commit 37aa52bff2bcd4377c0f747f730f3d436f2fe58e Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Tue Mar 26 16:25:51 2019 +0200 drm/i915: Add broadcast RGB property for DP MST Thanks for your support guys! My last question to this topic: is there any place, where can I track current release to kernel status, please? Still running on the self-built rawhide v5 kernel to this day :) Thank you. Ivan Just installed Kernel 5.1 series, unfortunately fix is still not merged, so I'm still running my compiled rawhide kernel. Is there any ETA for this fix merge into kernel, please ? Thank you in advance. Ivan |
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.