Why would we need to validate the MST functionality of a MST Hub using the W5700, which has 6x display outputs? You won't get more than 6x displays regardless how many monitors and hub you connect to the card.
You said you removed the MST hub and have issues to get the proper bpp. In that case I can assist you.
Feel free to submit a support ticket:
I figure all Navi cards will have similar MST code and behavior so if there's a problem with the W5700 then there is likely a problem with a 5500M or whatever that does not have 3 DisplayPort outputs and that such problems should be reported. I'm sorry I can't contribute my MST hub experiences because my GPU has too many ports.
1, 2) I've uploaded amdz and EDID to https://we.tl/t-GZLiGEvdSK
amdz doesn't list custom resolutions. The 60 Hz timing is not custom so it allows 6bc, 8bpc, 10bpc, and 12bpc. The 57 Hz timing is a custom resolution created by me using the Radeon Software - Only the 6bpc option works - selecting the other 3 options just goes back to 6bpc.
3) no adapters - a DisplayPort 1.4 cable is used (Club 3D CAC-2068)
4) Acer XV273K - two DisplayPort 1.4 ports (no DSC) and two HDMI 2.0 ports; supports 4K 120Hz; can also scale down higher resolutions such as 5K, 6K, and 8K; has a dual cable 4K 144Hz mode. Each port and mode has a different EDID but I included only the EDID for the mode and DisplayPort port that I am testing.
I'll do the support ticket thing.
The display supports arbitrary resolutions and refresh rates. All my tests are with the 4K (3840x2160) resolution. RGB. 6 bpc works for non-custom and custom resolutions/refresh rates. 8, 10, 12 bpc only works for non-custom resolutions/refresh rates. For my tests, I used 60Hz from the non-custom timings and 57Hz for a custom timing (though any refresh rate used in a custom timing will have the same problem).
I am using the Mini DisplayPort to DisplayPort adapter that came with the W5700 (comes with only two - can they be bought separately?). Since I am getting an image and the Radeon Software says it's connected with 8.1 Gbps 4 lanes, then it means there's probably no problem with the cable/adapter (the cable and the adapter do not modify the EDID or capabilities of the GPU or display).
I went to the driver page for the W5700. It shows Enterprise 20.Q4 and Adrenalin 21.2.2. I chose Adrenaline because it's newer. The page also says 21.Q1 will be ready later so maybe I'll switch then. There isn't any info on the this page that helps me decide which driver to choose (though I get the impression that Enterprise gets more testing but I don't know if that makes a difference since more people probably use Adrenaline). The release notes for 20.Q4 have this item which is interesting "EDID management has moved from Radeon Pro Advanced Settings to Radeon Pro Settings, and can be located under the Display tab." Seems silly that in the Adrenaline driver there's a separate app to do EDID management. Still, in either case, I have to use a separate app to change resolution and timing which is not convenient so there's still improvements that can be made (or is this a requirement of DCH drivers?)
I suppose a new VBIOS would be interesting. Is there a change list describing the differences? I'll send a PM.
I am able to connect displays to Intel and W5700 simultaneously so I don't think the problem is there. Having to uninstall the Intel Graphics driver is not convenient but I guess it will be interesting to know if it has an effect so I'll give it a try. But aren't AMD and Intel drivers supposed to work together, especially for features like XConnect?
First I'll uninstall Intel. Test Adrenaline driver. Then use DDU to remove any Nvidia and AMD stuff and test Enterprise driver.
Well, I didn't get the answer to my question regarding desired resolution, pixel format, refresh rate and so on. I emulated your EDID and I can get even 12bpc using 4K@60Hz RGB444
FYI: We do not support co-existence with Intel drivers.
You have 6x display outputs on W5700, why would you need to use Intel Onboard Graphics? How many monitors are you planning to use?
I misread the question. You wanted me to pick a single resolution/refresh rate/pixel format. I basically said I wanted all of them (because GPUs are supposed to be able to do that - within the limits of the GPU and display). You can ignore that and pick one of the the examples I gave such as 4K 57Hz RGB 8bpc.
Thanks for trying to reproduce my problem.
In your test, you didn't show that you were using a custom resolution such as 57Hz. You might ask why I want 57Hz when 60Hz works fine (I've already said that 12bpc 4K@60Hz RGB444 works). The answer is that 57Hz is an example, and that the problem exists for all custom refresh rates. Since 57Hz requires less bandwidth than 60Hz, one can conclude that it should be able to use all the bpc options (6,8,10,12) that 60Hz can but I'm only able to get 6bpc with 57Hz.
You don't support co-existence with Intel drivers. What about laptops and eGPUs? Doesn't XConnect depend on Intel GPU existing? So that a Radeon eGPU can draw to the laptop's display?
I might want Intel graphics to test Intel graphics stuff. My motherboard has a Thunderbolt port that only connects to Intel graphics so I need Intel graphics to test Thunderbolt DisplayPort stuff. Or I might want Intel graphics to test AMD stuff - for example I can have a display connected to Intel and do stuff with a display connected to AMD and if AMD produces a black screen then I can use the Intel display to make changes. There might be other reasons to have Intel graphics, such as Quick Sync (but I don't know much about that or how it compares to AMD solutions).
You ask why I want to use stuff like MST, DSC, or Intel with W5700 and my answer is basically because they exist. You can use your imagination and maybe come up with better reasons if it helps get to the problem. If I don't have a good enough reason, maybe someone else will and your help can help them.
Here's a couple examples for why one would want custom resolutions:
1) If I have a DisplayPort to VGA adapter, I will want to use the max refresh rate for a resolution - this usually requires creating custom resolutions.
2) If I have a 5K display like the LG UltraFine 5K display (which can accept USB-C input) and I don't have a Thunderbolt 3 add-in card or a Thunderbolt controller with two DisplayPort inputs, I can still get 5K without Thunderbolt but I need a custom resolution to do that and I'll want to find the max refresh rates that can do 8bpc and 10bpc (I think it's like 39Hz for 8bpc because there's a ≈600MHz pixel clock limit).
I didn't test either of those two examples, so we'll just stick with the XV273K. I could test the first. For the second, I don't have that display but I could do the same emulated EDID test that you did except the emulation wouldn't show the 600MHz pixel clock limit of the display. Actually, I have a Dell UP2715K but I haven't tried 5K with a single DisplayPort 1.2 cable before.
I still need to do the Intel removal and Enterprise driver tests. How do I do the PM to get the firmware update?
OK, now I get it. What you are trying to say is that "custom resolution is locked at 6bpc". This is a known issue and we are working on it.
I received from Delock a new version (5.04.135) of the firmware for my Delock 87737 MST Hub. They didn't include an updater app, so I used the fwupdtool in Linux. Now the Delock 87737 supports DSC like the MST hubs in the HP Thunderbolt Dock G2 and CalDigit SOHO. I can connect three 4K 60Hz 8bpc RGB displays. I found a couple problems:
1) Missing 5K or 8K support for MST hub:
I used CRU to create some custom timings for the XV273K since Radeon Software's custom resolutions are broken. I can output 8K 30Hz and 5K 60Hz 8bpc RGB directly from the W5700 to the display but if the display is connected to an MST Hub (Delock or HP), only 4K or lower options appear (even if the display is the only one connected to the MST Hub).
I can output 5K and 8K through an MST Hub using macOS so the W5700 should be able to do at least one 5K or 8K display through an MST Hub in Windows. Maybe macOS works because it's sending an SST signal? I don't have an Nvidia RTX (supports DSC) to compare and to verify that dual 5K displays connected to the MST Hub can work.
2) Missing DSC fall back for 10bpc:
I have a Dell UP2715K which is a dual cable DisplayPort 1.2 display (each cable does 2560x2880). I can connect the cables directly to the W5700 and get 5K 60Hz 10bpc. If I connect the two cables to a DisplayPort 1.4 MST Hub then the max bpc is 8bpc (no DSC). If I try to switch to 10bpc, the Radeon Software lowers the refresh rate to 30Hz instead of enabling DSC. When changing an option, the order of things to try to fit the connection limits is:
1) no DSC, current resolution, current chroma sub sampling, current bpc, current refresh rate
2) enable DSC (off -> on; for an MST Hub, I guess this should affect all streams unless it can be made a separate option for each?)
3) decrease chroma sub sampling (4:4:4 -> 4:2:2 -> 4:2:0)
4) decrease bits per component (16 bpc -> 12 bpc -> 10 bpc -> 8 bpc -> 6 bpc)
5) decrease refresh rate
6) decrease resolution
Basically, lowering the refresh rate should be the last thing it tries.
I know dual cable display from MST Hub works with DSC because my XV273K has a dual cable mode for 4K 144Hz (each cable does 1920x2160 144Hz 12bpc RGB; 45.5 Gbps total) which does work through an MST Hub with DSC at 8bpc (30.3 Gbps total) but I can't get 10bpc to work (37.9 Gbps) even though three 4K 60Hz 8bpc RGB displays work (38.4 Gbps). I'm not sure if that is a problem or if it is the same problem as the Dell UP2715K.
Maybe I'm wrong and the MST Hub can't do DSC and 10bpc at the same time? I should be able to do two 4K 60Hz displays at 10bpc. 10bpc is required for HDR so it would be kind of sad if the DSC functionality doesn't work with HDR. I can do two 4K 60Hz displays with one 8bpc and the other 10bpc = 32.0 Gbps total. That must be using DSC since it's greater than the DisplayPort 1.4 max of 25.92 Gbps. Is it using DSC for one stream but not the other? The Radeon Software does not say if it's using DSC or what the limits of the DSC used by the MST Hub are so I can't see why it's not working.
For the first issue where 5K and 8K don't appear as options, I also tried some lower resolution options such as 3K which appears to have the same problem: changes to a display's EDID using CRU don't appear when the display is connected to an MST Hub instead of directly to the W5700. I'll report that issue to the CRU forum thread and see if there's a workaround.