Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RX5700XT: No dual monitor with WEG #617

Closed
HQuest opened this issue Dec 20, 2019 · 11 comments
Closed

RX5700XT: No dual monitor with WEG #617

HQuest opened this issue Dec 20, 2019 · 11 comments
Labels
help wanted Extra attention is needed project:green

Comments

@HQuest
Copy link

HQuest commented Dec 20, 2019

Since the RX5700XT card is now natively supported by macOS 10.15.1 beta 2 and newer, WEG seems not necessary, unless you want to make use of the IGPU. IGPU (and WEG), however, is mandatory if you want protected videos (i.e., Netflix) to be played on your discrete card with Safari [1] (Firefox plays them without IGPU/WEG).

For my reference PCB based card (blower cooler), the default connector order from BIOS/UEFI time is from bottom (PCI-E connector) to top, or DP/HDMI/DP/DP ports. On macOS, however, the preferred connector order is reversed, using top to bottom (PCI-E connector), or DP/DP/HDMI/DP ports.

The card is detecting only one DP monitor, regardless of the amount of DP monitors/ports in use or which of the 3 DP ports are in use. The card do shows all 4 framebuffers (one for each output), but the adapter only spawns one instance of a "display0" item for DP ports. A second "display0" item is created for the HDMI port under the next framebuffer.

By using WEG with this discrete card, none of the DP ports of this card are operational for video output. The HDMI port works regardless. There are Framebuffers active for both HDMI and DP ports, but somehow the DP connected device doesn't get properly initialized, or misses part of its configuration. Other places on the OS shows indications the ports are active; i.e., Sound Output do shows both monitors as valid audio outputs, and are able to play audio on both, even while the screen is all black. However, the OS does initializes the dual screen (DP+HDMI) when 10.15.2 recovery mode is launched - with WEG loaded.

For my particular system, WEG requires boot param agdpmod=pikera to display any output, versus a black screen if other mode or no boot param is presented.

As this was first seen after a reimage of macOS with the final 10.15.2 code, and with an upgrade of all OC components from git sources from the same day as of 10.15.2 release, I suspected the recent GVA additions to the card could be causing problem. Adding the -radnogva boot parameter made no improvements.

Happy to provide output/debug logs, as requested, should investigation on this matter is deemed worthwhile and moves further.

[1] The statement about playing Netflix on Safari is an assumption. While without IGPU, Safari does not play Netflix thumbnail videos and automatically redirects to a "system requirements" help article when a video is launched, with IGPU enabled Safari does play Netflix video thumbnails but falls short on a different error code (S7363-1260-FFFFD089) when a video is launched. Firefox doesn't seem to care about IGPU and makes use of OpenH264 and a Widevine content decryption module, the latter shown by other companies (Spotify) as (likely) rationale for removing Safari from the supported list likely because of the inability of usage of this plugin. See here for more.

@vandroiy2013 vandroiy2013 added the help wanted Extra attention is needed label Dec 30, 2019
@CMMChris
Copy link

Regarding your Netflix playback issues it likely is your fault. I guess you are not using the correct SMBIOS. Use iMacPro1,1 or MacPro7,1 and DRM will start working. I own a RX 5700 XT myself.

Your screen issues are likely a driver bug and also not caused by WEG. Try without WEG and if the problem persists open a bug report with Apple. The reason it works fine in Recovery is that there is no graphics acceleration in Recovery for Navi10 cards.

@HQuest
Copy link
Author

HQuest commented Dec 31, 2019 via email

@CMMChris
Copy link

Telling someone that SMBIOS should solely be chosen by CPU model is just as wrong as telling it should solely be chosen based on GPU. Truth is: It depends on your hardware. In general it's like this: If you own a dedicated GPU with video acceleration hardware that is macOS supported (Polaris, Vega10, Vega20, Navi10, Navi14) you should go for an SMBIOS which uses the dedicated GPU for video acceleration - and that happens to be iMacPro1,1 or MacPro7,1. Other SMBIOSes use IGPU for video acceleration which results in broken DRM since it doesn't work with IGPUs at the moment and it is unclear if it ever will. DRM only works on dedicated GPUs.
See here for reference: #586

So in a nutshell: Turn off your IGPU and switch to iMacPro1,1. Speed Stepping of your processor should still be working fine even though not as fine-granular as in iMac19,1. You can work around that by using CPUFriend tho.

Regarding the dual monitor issue I can only tell you that it works fine for me both with WEG and without. If it works fine without WEG then just stop using WEG. You don't need it anyway. Run iMacPro1,1 and use the AGDP board-id replacement Kext2Patch (this does the same as agdpmod=pikera bootflag in WEG) and you will be fine.

@HQuest
Copy link
Author

HQuest commented Jan 2, 2020

I've never said "SMBIOS should solely be chosen by". I said "SMBIOS should match the CPU in use". No custom hardware will always match a true Apple hardware, mainly because Apple has proprietary hardware not available off the shelf, we add features we either already have or we need on our setup, or we used "close enough" hardware. Which means I agree with the statement "it depends on your hardware". However, historically the preference order was CPU then GPU, not the opposite. If this changed, it is the first time I'm hearing it.

Yes, the dual monitor used to work with or without WEG (and agdpmod) - been using it since the first day macOS 10.15.1 beta 2 (IIRC) was out and added support to Navi10 on AMD6000 kext. Full acceleration, DRM, everything (including Apple bugs faced along the way and corrected in later patch revisions). I'm aware the card works with dual monitor, the two of us are not the only ones using this card (with or without WEG, iGPU, or agdpmod). Things went downhill after I had to re-image the entire machine (Windows install included), and updated OC and plugins. As recovery mode was buggy until some point of 10.15.2 beta schedule, I decided to grab the final 10.15.2 image to install, and this happened.

Perhaps I should go back to 10.15.1 and upgrade from there (again, disabling the discrete card and working via the iGPU) and save the stress, but I'm not sure I will find this upgrade path in the future, unless I store all local copies of 10.15.1 and 10.15.2.

I have zero problems in taking an extra step and enabling IGPU if I need to boot Windows, and disabling it if I need to boot macOS, but this looked to me a bug in one of the Lilu based plugins. Hence my original closing statement, "should investigation on this matter is deemed worthwhile and moves further".

@CMMChris
Copy link

CMMChris commented Jan 2, 2020

I've never said "SMBIOS should solely be chosen by". I said "SMBIOS should match the CPU in use".

I never claimed you said SMBIOS should solely be chosen based on the CPU used. I just wanted to provide a general explanation since, as a matter of fact, up until today it is common sense in the Hackintosh scene to blindly pick an SMBIOS based on CPU without taking into account the graphics dependencies.

However, historically the preference order was CPU then GPU, not the opposite. If this changed, it is the first time I'm hearing it.

I think I clearly explained it above. I can just re-quote again:

In general it's like this: If you own a dedicated GPU with video acceleration hardware that is macOS supported (Polaris, Vega10, Vega20, Navi10, Navi14) you should go for an SMBIOS which uses the dedicated GPU for video acceleration - and that happens to be iMacPro1,1 or MacPro7,1. Other SMBIOSes use IGPU for video acceleration which results in broken DRM since it doesn't work with IGPUs at the moment and it is unclear if it ever will. DRM only works on dedicated GPUs.

It has always been like that ever since Apple started supporting AMD's decoding and encoding hardware and makes use of it in some of their products like iMacPro1,1 and MacPro7,1. Of course you can also use an an SMBIOS that matches your CPU but in this case you will be stuck with Intel QuickSync for video acceleration which depending on the AMD card you are using can be slower than AMDs video coders and results in broken DRM since, as already mentioned, DRM is not supported on Intel GPUs on Hackintoshes.

If you like I can have a look at your Clover configuration to check if something is wrong because as I said, for me Navi10 cards work just fine with and without WEG, aside from Apple's graphics driver bugs of course. No issues with multi monitor at all. Just contact me via private message on Insanely or Tony and make sure to include a list of all your Hardware. If it indeed looks to be a WEG bug we can report back here.

@leepalot
Copy link

Regarding the dual monitor issue I can only tell you that it works fine for me both with WEG and without. If it works fine without WEG then just stop using WEG. You don't need it anyway. Run iMacPro1,1 and use the AGDP board-id replacement Kext2Patch (this does the same as agdpmod=pikera bootflag in WEG) and you will be fine.

What kext is this? It's not in the repo

@HQuest
Copy link
Author

HQuest commented Apr 16, 2020 via email

@leepalot
Copy link

WhateverGreen

On Apr 16, 2020, at 16:37, leepalot @.***> wrote:  Regarding the dual monitor issue I can only tell you that it works fine for me both with WEG and without. If it works fine without WEG then just stop using WEG. You don't need it anyway. Run iMacPro1,1 and use the AGDP board-id replacement Kext2Patch (this does the same as agdpmod=pikera bootflag in WEG) and you will be fine. What kext is this? It's not in the repo

Sorry I was referring to AGDP board-id replacement Kext2Patch

@leepalot
Copy link

Regarding the dual monitor issue I can only tell you that it works fine for me both with WEG and without. If it works fine without WEG then just stop using WEG. You don't need it anyway. Run iMacPro1,1 and use the AGDP board-id replacement Kext2Patch (this does the same as agdpmod=pikera bootflag in WEG) and you will be fine.

Does anyone know where to find AGDP board-id replacement Kext2Patch? It's not in the kext repo

@HQuest
Copy link
Author

HQuest commented Apr 23, 2020

I suspect that was a Clover feature, not a kext.

@vit9696
Copy link
Contributor

vit9696 commented Apr 23, 2020

Good, can close in this case.

@vit9696 vit9696 closed this as completed Apr 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed project:green
Development

No branches or pull requests

5 participants