ValveSoftware / SteamOS

SteamOS community tracker
1.61k stars 70 forks source link

[Bug] [Steam Deck] HDMI issue with Full/Limited RGB. #1069

Open mk011 opened 1 year ago

mk011 commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

The Steam Deck sends an incorrect HDMI signal that can be misinterpreted by different models of TVs, which can lead to the outputted image having crushed blacks. Some TVs do not provide options for specifying the type of signal that's being inputted. https://steamcommunity.com/app/1675200/discussions/1/3395175706734931353/ Please fix the HDMI signal and/or provide options for Full/Limited RGB video output.

Steps for reproducing this issue:

  1. Connect the Steam Deck to a model of TV that automatically detects the HDMI signal wrong.
JosVerheij commented 1 year ago

I would like to see this addressed as well. Screens which do not allow for manual adjustment of the video range are effectively unusable currently. There is no way to alleviate the issue through changing the (in-game) brightness settings.

RF84 commented 11 months ago

I'm having the same issue with my tv and my projector. I can basically not use my SteamDeck with HDMI output as all games are far too dark. I did hope that the fix from SteamOS 3.5.8 Preview could have also fixed this, but unfortunately the issue still persists:

cyder2 commented 11 months ago

Same issue here. I have tried all troubleshooting steps on the popular reddit and steam community threads about this issue. Nothing works with my LG TV. My laptop and PC has no issue sending a Full RGB signal to the TV.

Very unfortunate because I would like to play some games docked.

JosVerheij commented 11 months ago

You can find a workaround in the link provided by @mk011 or click this link.

It's very barebones and somewhat tedious to setup, but it works (for games launched with vulkan).

Unarelith commented 10 months ago

For reference, this is the amdgpu driver ticket: https://gitlab.freedesktop.org/drm/amd/-/issues/476

The video driver itself doesn't provide the ability to change RGB range nor color format.

ethomp10 commented 4 months ago

Same issue here. I have a TCL 50S535-CA, and it does not let me manually select RGB full. The limited RGB output results in crushed blacks and whites.

ThePerfectVale commented 4 months ago

Experiencing the same issue. It does seem to be resolution dependant for me though. Here's my tests:

1920x1080 = Darker/improper colors 1680x1050 = Proper colors 1280x1024 = Proper colors 1440x900 = Proper colors, 1280x800 = Proper colors 1280x720 = Darker/improper colors 1024x768 = Proper colors 800x600 = Proper colors 720x480 = Darker/improper colors 640x480 = Proper colors 720x576 = Darker/improper colors

GaloGS commented 3 months ago

Same issue, Deck unusable connected to the TV.

bbtufty commented 1 month ago

Bumping this to highlight the resolution dependence @ThePerfectVale mentioned. I've gone through the (exhaustive) list of resolutions I have available, here are the ones that do/do not work, I've also put what my VRROOM outputs as the HDR (L is the important one here, since it indicates limited RGB):

3840x2160@60: Incorrect, RGB L 8b HDR 1920x1200@60: Correct, RGB 8b HDR 1920x1080@120: Incorrect, RGB L 12b HDR 1920x1080@100: Incorrect, RGB L 12b HDR 1920x1080@60: Incorrect, RGB L 12b HDR 1600x1200@60: Correct, RGB 8b HDR 1680x1050@60: Correct, RGB 8b HDR 1280x1024@60: Correct, RGB 12b HDR 1440x900@60: Correct, RGB 8b HDR 1360x768@60: Correct, RGB 12b HDR 1280x800@60: Correct, RGB 8b HDR 1152x864@60: Correct, RGB 12b HDR 1280x720@60: Incorrect, RGB L 12b HDR 1024x768@60: Correct, RGB 12b HDR 800x600@60: Correct, RGB 12b HDR 720x480@60: Incorrect, RGB L 12b HDR 640x480@60: Incorrect, RGB L 12b HDR

So it seems that most resolutions work fine, but some are problematic. I suspect this has to be something to do with src/Backends/DRMBackend.cpp in gamescope, since changing to export GAMESCOPE_NV12_COLORSPACE="k_EStreamColorspace_BT601_Full" in /usr/bin/gamescope-session also doesn't fix this, when having a quick look through there it seems it should.

bbtufty commented 1 month ago

And to follow up, I did some messing around with EDID files on my VRROOM to try and fix this at that stage. I could manage to get the various RGB L resolutions to report as full RGB, but this did also not sort the issue. It seems there's some limitation somewhere in the backend that has colorspace locked somewhere

megander56 commented 1 month ago

Tested with last update and same issue.

rostbacke commented 1 day ago

Same issue here since I've got my Steam Deck. PS4 has a setting to output limited/full RGB, which fixed the issue for me. So a switch would be a perfect solution (auto/full/limited, where auto might work or not work, just like it does now without the switch). My (TV Philips Ambilight 50PUS6704/12) doesn't have a setting to set the RGB range. Games are playable, but the colours don't like like they were intended.

SteamOS 3.6.20