Looking for help: PopOS 7900XTX Wayland Force Full RGB 4:4:4 3840x2160 120hz 10bpc

tl;dr: Need to set Wayland to use Full RGB 4:4:4 3840x2160 120hz 10bpc for my new 7900XTX. Appears to be using ycbcr444 or something similar.


System Specs:
OS: Pop!_OS 22.04 LTS
CPU: Ryzen 7 5800X3D
MOBO: ASRock A520M PHANTOM GAMING 4
RAM: 64GB DDR4 3200 Corsair Vengeance
GPU: 7900XTX 24GB (spare R9 270x for swapping)
DISPLAY: LC C1 48" OLED

I bought a 7900XTX and am transitioning from Win11 to PopOS. Card runs great in
Windows, but I couldn’t install Fedora or PopOS, so I found this reddit post on Google outlining the issue: https://www.reddit.com/r/pop_os/comments/zoiq45/cant_boot_with_7900_xtx/

He was able to get it up and running with this article: CatWithCode - AMD Radeon RX 7900 XT/XTX on Linux shortly after release

I swapped my 7900XTX for the spare R9 270x and was able to do everything from the article.

After swapping back to my 7900XTX, I do notice that color depth is’nt the best and that there is fringing on text, almost like chromatic aberration. I am assuming this is because it’s not using the RGB layout, but instead ycbcr444 or something similar. I am using the below fiber optic HDMI cables, and again, everything works fine full bandwidth wise on Windows with the 7900XTX.

image

I’ve dabbled with Linux Desktop, server, and Pi’s in the past, and still actively host some linux servers, but I’m pretty green when it comes to things like this. Is there a configurator (I’m used to the NVidia Control Panel for reference) or some way I can see and edit these advanced graphics settings? 4k 120hz is working, just not the best picture!

Any help would be much appreciated!

-Blizz

After some more digging, I think I need to try this:

Had my wisdom teeth removed yesterday, gonna hit the hay and try this more at a later point.

-Blizz

Looking further into this, I do not see the “Broadcast RGB” in my output for the only HDMI connector on my only gpu in this system.
I do see that it says HDCP is Type 0 abd that the Max BPC is set to 8 of 16. VRR is on and working as expected.

I followed the article above for editing my HDMI settings, in my case Connector 93, and I ran this as a test:

/usr/bin/proptest -M amdgpu -D /dev/dri/card0 93 connector 94 10

I then added this to the service, per the superuser answer.

It did indeed update my max bpc from 8 to 10, which I believe is what I use on Windows. It still looks funky, but I’m not sure what exactly the issue is. Any thoughts? I can give the full output from proptest if that would help.

Again, any help would be appreciated!

Connector 93 (HDMI-A-1)
	1 EDID:
		flags: immutable blob
		blobs:

		value:
			00ffffffffffff001e6dc8c001010101
			...
			00000000000000000000000000000066
	2 DPMS:
		flags: enum
		enums: On=0 Standby=1 Suspend=2 Off=3
		value: 0
	5 link-status:
		flags: enum
		enums: Good=0 Bad=1
		value: 0
        ...
	94 max bpc:
		flags: range
		values: 8 16
		value: 10
	7 HDR_OUTPUT_METADATA:
		flags: blob
		blobs:

		value:
	95 vrr_capable:
		flags: immutable range
		values: 0 1
		value: 1
	81 Content Protection:
		flags: enum
		enums: Undesired=0 Desired=1 Enabled=2
		value: 0
	82 HDCP Content Type:
		flags: enum
		enums: HDCP Type0=0 HDCP Type1=1
		value: 0

I do have my system dual booted right now until I can get PopOS the way I want it and make sure it’s good to finally switch. In Windows, using the Radeon software, I see that yes, the pixel format is RGB 4:4:4 with color depth of 10bpc and Fresync enabled.

When I try to set color depth to 12, it auto reverts back to 10. I believe this is because the C1 is a 10bpc panel, but it also says it has “12bpc processing”. All HDMI ports on the C1 are HDMI 2.1. I know 10bpc for this resolution and refresh rate is 35.83 Gbps, while 12bpc is 41.80 Gbps, and my Fiber HDMI cables are 48Gbps rated, linked in original post.

I use HDMI #4.

“The LG C1 supports a wide color gamut, covering ~97% of the DCI-P3 color space (equivalent to ~130% sRGB) and it has a true 10-bit panel with 12-bit color processing.”

12bpc processing quote: LG OLED48C1 Review 2023: Why This TV Is EXCELLENT.

image

The only difference to my understanding is the OS. The EDID info should be correct, and that’s how windows / AMD’s Radeon drivers know what’s available from the card. Do I have to export the EDID and attempt to use that on PopOS?

I don’t have a solution, but I can confirm the same issue exists on the iGPU of my zen 4 processor. I can do full RGB in windows at 4k60Hz, but in Linux only 4:4:4 due to the missing Broadcast RGB in EDID.

I’d suspect a bug/missing feature in the amdgpu drivers…

I can only do 120Hz at 4:2:0 due to bandwith limitations on the iGPU/motherboard.

Perhaps with the Club3D CAC-1085 active DP 1.4 → HDMI 2.1 it could work…

DP 1.4 bandwidth is only 32.4Gbps, so that would be 4k 120 at a max of 8bpc (30gbps). I did just buy an RX 6400 just to see if that would work as expected. Hoping so, then technically I can just pass the 7900XTX through to my windows VM I use for gaming and use Looking Glass on the host :slight_smile:

Bandwidth Calculator: Bandwidth calculator - Kramer Electronics

Can confirm via the C1 that it is indeed running at 4k120 YCBCR 4:2:0 8bpc.

Sadly the 6400 with it’s HDMI 2.1 has the same issue. I also tried a DP 1.4 adapter to HDMI 2.1, but the bandwidth is too tight for 4k 120 RGB 4:4:4 and I couldn’t get it to work in any scenario, including windows.

When I plugged the adapter into my DP 2.0/2.1, it worked right away. There are no cards with DP 2.0/1 besides the RX 7000 series, and they’re too expensive to buy just for this purpose. And even if it were to work, I’d lose VRR.

Sad day, I’ll have to keep using Windows until I can get my C1 to work at its full capabilities. Very much so ready for the Linux switch, but not experienced enough to be able to solve this.