Contribute
Register

<< Solved >> AMD WX4170 dGPU on ZBook G5 17 Laptop

Status
Not open for further replies.
Hi! I've made small research of mbp14.3 Baffin vbioses, and that is what I found:

PORTS HP G4:
11020404 - EDP
21030303 - VGA
20010101 - DP
10000202 - HDMI


PORTS MBP14.3:
[EDP] (aka LVDS)
20010101
[DISPLAY_PORT]
10000202
[DISPLAY_PORT]
21030303
[DISPLAY_PORT]
11020404
[DISPLAY_PORT]
12040505

And this pins are related to this FBs

Berbice (5) @ 0x66cc0
LVDS, DP, DP, DP, DP
020000000001000039050108000000002001010100000000
000400000001000000010243300000001000020200000000
000400000001000000010313200000002103030300000000
000400000001000000010453500000001102040400000000
000400000001000000010533400000001204050500000000


Longavi (5) @ 0x66d40
LVDS, DP, DP, DP, DP
020000000001000039050108000000002001010100000000
000400000001000000010243300000001000020200000000
000400000001000000010313200000002103030300000000
000400000001000000010453500000001102040400000000
000400000001000000010533400000001204050500000000


Palena (5) @ 0x66e80
LVDS, DP, DP, DP, DP
020000000001000039050108000000002001010100000000
000400000001000000010243300000001000020200000000
000400000001000000010313200000002103030300000000
000400000001000000010453500000001102040400000000
000400000001000000010533400000001204050500000000

This FBs have no outputs (resolution profile).
I attached Apple Vbioses




UPD1.
WX4170 (67e0) is presented in vbioses of 13.3, 14.3 models


UPD2.
Added Mbp 13.3 a1707-3072 (2016) vbioses and SSDTs. Maybe will be useful for something. The main thing I discovered: mbp doesn't have any AMD, NVIDIA (GFX and SGTBL (Switchable Graphics) SSDTs. So possibly new laptops are using PCI Tuneling (I mean graphics throught PCI lanes, lake when you are using EGPU on main screen). That`s why framebuffers has no outputs, and original framebuffers wont work on discrete only mode, and powermanagment is glitchy. I remember my old macbook core2duo, which flicker screen when graphics was switched. So possibly new mbps not using mux chips, otherwise they were need a framebuffer with output.
 

Attachments

  • HP+APPLE VBIOSes.zip
    371.6 KB · Views: 39
  • MCBP-13.3-A1707-3072-SSDTs+VBIOSES.zip
    323.5 KB · Views: 40
Last edited:
Also check the latest google found about MBP mux chip replacement, and it was info about MBP 8.x 15"2011
So i check vbioses and framebuffers, and they have outputs! As this laptop have only two outs (LVDS, miniDP), only two outs are real..


PORTS 2011 MBP 15

[LVDS]
10000005 - All other
10000004 - HD 6470M only
DP
11020101
DP
21030202
DP
12040303


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


AMD Radeon HD 6470M Seymour A11p C01709 (K91) GDDR5 100e/150m

Fanwort (4)
LVDS, DP, DP, DP
020000004000000039050000000000000000000400000000
000400000403000000010000000000001102010100000000
000400000001000000091000000000002103020200000000
000400000001000000091000000000001204030300000000


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



AMD Radeon HD 6750M Apple K91 Whistler Pro GDDR5 Auto 100e/150m 0.9V
AMD Radeon HD 6750M Apple K92A Whistler ProA GDDR5 Auto 100e/150m 0.9V
AMD Radeon HD 6750M Apple K91FA Whistler ProA GDDR5 Auto 100e/150m 0.9V
AMD Radeon HD 6770M Apple K91A Whistler Pro GDDR5 Auto 100e/150m 0.9V
AMD Radeon HD 6770M Apple K92 Whistler Pro GDDR5 32Mx32 100e/150m 0.9V

Cattail (4)
LVDS, DP, DP, DP
020000004000000039050000000000000000000500000000
000400000403000000010000000000001102010100000000
000400000001000000091000000000002103020200000000
000400000001000000091000000000001204030300000000

OR

Spikerush (4)
LVDS, DP, DP, DP
020000004000000039050100000000000000000500000000
000400000403000000010200000000001102010100000000
000400000001000000090200000000002103020200000000
000400000001000000090300000000001204030300000000



You can check our hack gpu with this app:
 

Attachments

  • MacBook A1286 vbios - 820-2915-B.zip
    451.4 KB · Views: 38
Last edited:
Also check the latest google found about MBP mux chip replacement, and it was info about MBP 8.x 15"2011
So i check vbioses and framebuffers, and they have outputs! As this laptop have only two outs (LVDS, miniDP), only two outs are real..

You can check our hack gpu with this app:
gfxCardStatus doesn't work:

Screen Shot 2021-05-08 at 3.00.27 PM.png


AFAIK MacBookPro's with DGPU use MUX chip to switch between DGPU and iGPU, but default to use DGPU even for internal screen.

My problem could be that once the AMD driver gets initialized, then the Mux chip gets queried about it's state and since there's no answer, I get a stall.

This however should be fixed by using a Muxless SMBIOS, but that is not the case, I still get the same stall, and the interesting thing is that as long as the DGPU doesn't detect any screen outputs correctly, everything works.

There's only 2 Roms that work on my card, the AFFLEK and the VAUGHN, all others (including RX560M from apple) don't work even in Windows.
The PEGATRON ROM "works" as long as there's no displays detected (meaning it will do the math but can't draw the screen)
If I change AFFLEK's ROM outputs to match PEGATRON's and stop working, then Catalina boots, again, as long as there's no possible display out, then the driver loads and can perform Metal and OpenGL apps.

In Regular Hacks (not laptops) this setup should be working, so I believe the problem is most likely related to what happens on display detection. In regular Hacks, the display adapter is plugged directly to the DGPU, and in this case it's plugged to a Mux Chip, so that is a big difference.
Whatevergreen doesn't seem to matter, both on and off I get the same result.
Output injection doesn't change anything, and only by changing the ROM directly (i2CID) and breaking it so it doesn't work do I get it to boot. And because my ROM works perfectly in Windows/Linux and High Sierra/Mojave, I know the problem is not my ROM.

This leads me to believe the extra Mux in the chain is likely throwing off Catalina, and without knowing where to patch so this extra bit gets ignored like on Mojave, I'm stalled. We need someone who has deeper knowledge of what happens under the hood in the WindowServer in Catalina.


DISCRETE MODE
MOJAVE CATALINA
-vesa Boots - No DGPU accel Boots - No DGPU accel
-wegoff OK Boot Stall
agdpmod=(any option) OK - No Change Boot Stall
*** ROM ***
- AFFLEK wrong i2CID KP Reboot KP Reboot
- PEGATRON wrong i2CID Zbook won't post Zbook won't post
- VAUGHN wrong i2CID KP Reboot KP Reboot
- AFFLEK OK OK Boot Stall
- PEGATRON OK Zbook won't post Zbook won't post
- VAUGHN OK OK Boot Stall
SMBIOS (mac mini-imac-mbp) OK - No Change Boot Stall


HYBRID MODE
MOJAVE CATALINA
-vesa Boots - No DGPU accel Boots - No DGPU accel
-igfxvesa Boots - No iGPU accel Boot Stall
-wegoff OK Boot Stall
agdpmod=(any option) OK - No Change Boot Stall
*** ROM ***
- AFFLEK wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- PEGATRON wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- VAUGHN wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- AFFLEK OK OK Boot Stall
- PEGATRON OK KP Reboot KP Reboot
- VAUGHN OK OK Boot Stall
SMBIOS (mac mini-imac-mbp) OK - No Change Boot Stall


I'm including my ACPI dump hoping someone can help solve this issue.
 

Attachments

  • ACPI.zip
    110.4 KB · Views: 39
Last edited:
gfxCardStatus doesn't work:

View attachment 518013

AFAIK MacBookPro's with DGPU use MUX chip to switch between DGPU and iGPU, but default to use DGPU even for internal screen.

My problem could be that once the AMD driver gets initialized, then the Mux chip gets queried about it's state and since there's no answer, I get a stall.

This however should be fixed by using a Muxless SMBIOS, but that is not the case, I still get the same stall, and the interesting thing is that as long as the DGPU doesn't detect any screen outputs correctly, everything works.

There's only 2 Roms that work on my card, the AFFLEK and the VAUGHN, all others (including RX560M from apple) don't work even in Windows.
The PEGATRON ROM "works" as long as there's no displays detected (meaning it will do the math but can't draw the screen)
If I change AFFLEK's ROM outputs to match PEGATRON's and stop working, then Catalina boots, again, as long as there's no possible display out, then the driver loads and can perform Metal and OpenGL apps.

In Regular Hacks (not laptops) this setup should be working, so I believe the problem is most likely related to what happens on display detection. In regular Hacks, the display adapter is plugged directly to the DGPU, and in this case it's plugged to a Mux Chip, so that is a big difference.
Whatevergreen doesn't seem to matter, both on and off I get the same result.
Output injection doesn't change anything, and only by changing the ROM directly (i2CID) and breaking it so it doesn't work do I get it to boot. And because my ROM works perfectly in Windows/Linux and High Sierra/Mojave, I know the problem is not my ROM.

This leads me to believe the extra Mux in the chain is likely throwing off Catalina, and without knowing where to patch so this extra bit gets ignored like on Mojave, I'm stalled. We need someone who has deeper knowledge of what happens under the hood in the WindowServer in Catalina.


DISCRETE MODE
MOJAVE CATALINA
-vesa Boots - No DGPU accel Boots - No DGPU accel
-wegoff OK Boot Stall
agdpmod=(any option) OK - No Change Boot Stall
*** ROM ***
- AFFLEK wrong i2CID KP Reboot KP Reboot
- PEGATRON wrong i2CID Zbook won't post Zbook won't post
- VAUGHN wrong i2CID KP Reboot KP Reboot
- AFFLEK OK OK Boot Stall
- PEGATRON OK Zbook won't post Zbook won't post
- VAUGHN OK OK Boot Stall
SMBIOS (mac mini-imac-mbp) OK - No Change Boot Stall


HYBRID MODE
MOJAVE CATALINA
-vesa Boots - No DGPU accel Boots - No DGPU accel
-igfxvesa Boots - No iGPU accel Boot Stall
-wegoff OK Boot Stall
agdpmod=(any option) OK - No Change Boot Stall
*** ROM ***
- AFFLEK wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- PEGATRON wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- VAUGHN wrong i2CID Boots - DGPU accel ok but no outputs Boots - DGPU accel ok but no outputs
- AFFLEK OK OK Boot Stall
- PEGATRON OK KP Reboot KP Reboot
- VAUGHN OK OK Boot Stall
SMBIOS (mac mini-imac-mbp) OK - No Change Boot Stall


I'm including my ACPI dump hoping someone can help solve this issue.
Are you sure you’re running correct gpu smbios? Rx4xx, rx5xx are presented only in mbp13.3, 14.3 bioses.

If you’re on 15.3 smbios, did you try to find real bios rom backup and extract vbioses?


I am not sure Apple using mux chips nowadays. Actually it’s not a problem to find board view and high res images to figure out that. I think that the problem is in SSDT and pci tunnels. Do you try boot Catalina without battery ssdt and ac power plug? Or disabling metal to dGPU? And only in auto-hybrid mode? Also try to boot with egpu in auto mode with this argument = -wegnoigpu




UPD1.
Yes, the only mux is for edp.


UPD2.
I quickly looked to IGPU conections, and as I was not so atentive, i can suggest the IGPU is using only for edp LCD. other ports are using by dGPU

UPD3.
No there are few other MUX :(
 
Last edited:
Are you sure you’re running correct gpu smbios? Rx4xx, rx5xx are presented only in mbp13.3, 14.3 bioses.

If you’re on 15.3 smbios, did you try to find real bios rom backup and extract vbioses?
I'm on 15,1 which is the one that has DGPU.

Like I said before changing SMBIOS doesn't change anything, I believe I tried iMac 11,1/15,1/15,3/18,1/18,3/Pro1,1 MacMini6,1/8,1 MacBookPro14,1/14,3/15,1/16,1

I tried vbios from 15,1 (FALCON) no accel, no outputs and one of the one's you posted (CRANE) no post.
I am not sure Apple using mux chips nowadays. Actually it’s not a problem to find board view and high res images to figure out that. I think that the problem is in SSDT and pci tunnels. Do you try boot Catalina without battery ssdt and ac power plug? Or disabling metal to dGPU? And only in auto-hybrid mode? Also try to boot with egpu in auto mode with this argument = -wegnoigpu




UPD1.
Yes, the only mux is for edp.
Which is the internal LCD

The external outputs are direct from DGPU


Also forgot, tested in clamshell closed both hybrid and discrete using my ROM and Mojave works perfect, Catalina stalls, so that could exclude the internal LCD or Mux, and suggests problem may potentially be the combo of Catalina AMD drivers-(my particular)WX4170. And not necessarily all WX4170 cards.
It may be possible that other WX4170 cards are compatible with RX560 ROMS and just not mine, and because of this incompatibility, something at the driver level is getting stuck.
Unfortunately can't test without having another different brand WX4170 card.
 
Last edited:
I'm on 15,1 which is the one that has DGPU.

Like I said before changing SMBIOS doesn't change anything, I believe I tried iMac 11,1/15,1/15,3/18,1/18,3/Pro1,1 MacMini6,1/8,1 MacBookPro14,1/14,3/15,1/16,1

I tried vbios from 15,1 (FALCON) no accel, no outputs and one of the one's you posted (CRANE) no post.

Which is the internal LCD

The external outputs are direct from DGPU
try to boot with egpu in auto mode with this argument = -wegnoigpu, disconnect power from laptop
 
It's not a eGPU, it's the DGPU
you said, you have eGPU?
mine suppose is based on this picture:

As Apple is using IGPU only for edp, but hackintosh for other outputs. Maybe you can try disable IGPU and boot with EGPU, so you will get WX4170 without outputs and display connected to eGPU. If this way the Os will boot, then the problem is not in dGPU, but in drivers or SSDT

UPD1. Tomorrow I will better look into board view

here is for mbp13.3 (atachment)

soft:
 

Attachments

  • 2016-3072-820-00281-A-A1707 SCHEM MLB BAFFIN X363G.zip
    2.3 MB · Views: 33
Status
Not open for further replies.
Back
Top