Contribute
Register

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

Status
Not open for further replies.
I think that we have wrong connectors in our vbioses and hotplugs keys. I compare all aty GPUs presented in laptop bios, and they are different from mine. So even g4 and d3 connectors are different. The next step of vbios is to compare igpu, NVIDIA and amd vbios connectors, as I think, they should be the same in one laptop but different in other. I was pretty surprised, when discovered that with Windows, igpu is working only on edp and vga (suppose dvi to vga). But hdmi and dp is from aty. But with mine m2000m quadro, all ports was working fine on igpu!!! So proposing you to switch to this thread https://www.techpowerup.com/forums/...mobile-moded-vbios-for-hp-zbook-15-g3.279373/
for modding vbios to get it working like native

And I think that bios won’t recognize acpi instructions of our GPUs as they are not presented in bios. I will insert back mine old gpu to check if mine setup will work fine. Then will compare chipset selected acpi tables to those which are selected with amd.


UPD1.
Sorry for my inattention, your WX4170 is native Zbook gpu. So you no need to hex patch of our vbios, as it is supported by your original bios. Even is injected by your bios. Omg now I am feeling really sorry for my advices to patch vbios rom.
No worries, yeah my WX4170 is native to the G5 and the VBIOS ROM I have on it seems to be the good one, all the outputs and features work, the HVEC quirk is a MacOS thing, because the feature is there in ioreg, but the OS won't use it.
The injected version of the Bios only works if there's nothing in the EEPROM, otherwise the Card's rom takes the lead.

HP's newest Bios release is supposed to include new VBIOS, but it's all encrypted and gibberish, can't find the ROM anywhere so who knows if the new one is any better. Do you know of a way to extract the ROM from the Bios Update?
 
Last edited:
No worries, yeah my WX4170 is native to the G5 and the VBIOS ROM I have on it seems to be the good one, all the outputs and features work, the HVEC quirk is a MacOS thing, because the feature is there in ioreg, but the OS won't use it.
The injected version of the Bios only works if there's nothing in the EEPROM, otherwise the Card's rom takes the lead.

HP's newest Bios release is supposed to include new VBIOS, but it's all encrypted and gibberish, can't find the ROM anywhere so who knows if the new one is any better. Do you know of a way to extract the ROM from the Bios Update?
Yes, translate ATOMBIOS to hex then download Uefitool NE, download latest bios exe update, unarchive it with Keka, and you will see *.bin file. Open this file in Uefitool, and search this hexcode. It will show you all amd bioses. Extract all of them as BODY, rename *.raw to rom, open all those roms with hex editor and find string of gpu name. Or you can look for it’s id and name with Radeondecoder, or apps used for connector patch. And find your ID card. This is your vbios. After patch GOP, by changing one byte, add gop from family gpu after FFFFFFFFFFFFFFFFFFFFFFFFFFF, at the end of file, then open vbios in amd checksum utility, and this will show bytes need to be changed . After changes you can flash it with uma or igpu auto mode in Ubuntu. Test in Windows by disabling igpu in device manager. If you will not get artifacts, noise, black screen or bsod you can use it as discrete. If something is wrong, use flash drive with vbios backup in Ubuntu to unbrick gpu. Other methods are really dangerous and you will need to desolder rom, use programmer to bring it back to life.



Actually I find reason why my egpu setup won’t work. It’s because my wx4150, and occupation of connectors. When I use unknown gpu, the chipset do the stuff like PCs, it disable internal graphics, power on external, and the next unexpected thing is happening- the mxm take control of connectors, but they are wrong. So two GPUs works on same connectors and wrong connectors codes. So I suppose three scenarios for solving this issue:
1. Disabling igpu by -wegnoigpu
2. Disabling wx4150 by dsdt. Rehabman hotpatch disabling gpu not working. I need not sleep it, but disabling everything with this mxm port.
3. Patch wx4150 vbios connectors to meet it G3 config, patch dsdt priority device, or device property.

4.!!!!. The problem that os powering igpu on final stage of boot. If it is possible to power on it before pci config begin, than only is need to patch vbios by clover. So this one is soft solution.
 
Last edited:
Yes, translate ATOMBIOS to hex then download Uefitool NE, download latest bios exe update, unarchive it with Keka, and you will see *.bin file. Open this file in Uefitool, and search this hexcode. It will show you all amd bioses. Extract all of them as BODY, rename *.raw to rom, open all those roms with hex editor and find string of gpu name. Or you can look for it’s id and name with Radeondecoder, or apps used for connector patch. And find your ID card. This is your vbios.
That's pretty much how I extracted my current ROM from a G4 Bios update, but on the G5....

I've tried to look for it with ATOMBIOS, Connector info, RADEON, GOP, etc... nothing is found, If I open the Bios from a G4 update, then I can find it no problem, but I believe G5 is encrypted somehow, and no text anywhere, all numbers, it's a horrible bios
 
That's pretty much how I extracted my current ROM from a G4 Bios update, but on the G5....

I've tried to look for it with ATOMBIOS, Connector info, RADEON, GOP, etc... nothing is found, If I open the Bios from a G4 update, then I can find it no problem, but I believe G5 is encrypted somehow, and no text anywhere, all numbers, it's a horrible bios
Yes. It seems like it’s encrypted with unknown method. If this encryption was from beginning of this model and still no one successfully hack it, this will might never be.... hp is secure devices. When I was trying to modify my bios, I didn’t find any solutions. Maybe you can get dump of gpu bios with Windows or Linux. There should be a 65kb part of bios, in registry maybe. When I was working on m2000m, I grabbed vbios from registry or cmd.com

UPD1. I compare connector configs in amd gpu vbioses of Zbook G2, G3, G4. And confirmed my assumption. Every generation have their own connectors config. So all amd in g3 same, but not in others. That’s why I was experiencing those lags on my wx4150, as the connectors are wrong! G3,g4,g5 vbioses are not fit in non those generation laptop. So even if zbook g3, G4 have same logic board design, output connectors, and controllers, they are different in Chipset, Cpu, internal Intel Gpu.

I don’t find any manual for safe modding of connectors, so i think it was bad idea of replacing GPU




UPD2. Checkout this thread

Everything was wrong and still



UPD3. I not flashed modded rom, but added as load bios in clover. And voalia, i Have brightness control without any injections!!! Hotplug more stable, no lost desktop on other display. So hope this one is not corrupted and will flash soon
 
Last edited:
I'm 99% sure all the connector related items are in this section of the ROM.


You can hex search F4650000 and you'll get there.
As long as you modify all the fields, then it should work.
 
I'm 99% sure all the connector related items are in this section of the ROM.


You can hex search F4650000 and you'll get there.
As long as you modify all the fields, then it should work.
Thanks for hex location !!


I continued working with patch
Post in thread 'AMD Radeon Pro WX 4150 Mobile - moded VBIOS FOR HP ZBook 15 G3'
https://www.techpowerup.com/forums/...-vbios-for-hp-zbook-15-g3.279373/post-4513424


Can you describe the symptoms of your wx4170 ports? Did you patch your vbios rom on mxm? And why you think that something is happening wrong with your ports?
 
Thanks for hex location !!


I continued working with patch
Post in thread 'AMD Radeon Pro WX 4150 Mobile - moded VBIOS FOR HP ZBook 15 G3'
https://www.techpowerup.com/forums/...-vbios-for-hp-zbook-15-g3.279373/post-4513424


Can you describe the symptoms of your wx4170 ports? Did you patch your vbios rom on mxm? And why you think that something is happening wrong with your ports?
There's nothing wrong with my ports, I had a problem sourcing the right Rom for my card, so I tried a few options and had to edit the outputs to make them work. (In the end the Rom I found for the G4 didn't need any changes)

My 4170 works perfectly in High Sierra and Mojave, all ports, etc... but refuses to boot in Catalina or Big Sur, and I've tried a lot of different things, but none seem to work.
At one point I flashed a Rom (Pegatron) that I now see is not compatible with my card and Catalina booted, but only because it couldn't patch to an output connector, when I patched the connectors on Pegatron, I only got reboots.

Now I know all the connector stuff is in that section because the incompatible Rom I used was sourced from the macrumors forum (for use in imacs) and an identical version (except for the connectors) lives in techpowerup, so comparing them, the only changes were in that section.

When I tried the Vaughn 4150 Rom, I had to change all the connector info, and everything worked perfectly (except Catalina or Big Sur like above), just like my 4170 but with slower clocks.
That's why I'm fairly certain that's all the connector info in the ROM.

I also double checked with radeon_bios_decode and redsock_bios_decoder and the patched Rom matched perfectly all outputs, etc...
 
Last edited:
There's nothing wrong with my ports, I had a problem sourcing the right Rom for my card, so I tried a few options and had to edit the outputs to make them work. (In the end the Rom I found for the G4 didn't need any changes)

My 4170 works perfectly in High Sierra and Mojave, all ports, etc... but refuses to boot in Catalina or Big Sur, and I've tried a lot of different things, but none seem to work.
At one point I flashed a Rom (Pegatron) that I now see is not compatible with my card and Catalina booted, but only because it couldn't patch to an output connector, when I patched the connectors on Pegatron, I only got reboots.

Now I know all the connector stuff is in that section because the incompatible Rom I used was sourced from the macrumors forum (for use in imacs) and an identical version (except for the connectors) lives in techpowerup, so comparing them, the only changes were in that section.

When I tried the Vaughn 4150 Rom, I had to change all the connector info, and everything worked perfectly (except Catalina or Big Sur like above), just like my 4170 but with slower clocks.
That's why I'm fairly certain that's all the connector info in the ROM.

I also double checked with radeon_bios_decode and redsock_bios_decoder and the patched Rom matched perfectly all outputs, etc...
I compare all web roms of Baffin mobile GPUs, and they all have same connectors info, except dell. Somehow they using 5 connectors, while gpu accepted 4.

Another thing is surprising me, that 4130,4170,4150 have same id, which is really weird, and as this GPUs are low power, x8 I think that they all based on one chip. And roms have same ram config (maybe and chips)

Mine:
C0D27145-E33E-42C4-A979-BB67B5AA2895.png
EF20EDA6-46C4-46DD-B905-8F3B8AF7D0EC.jpeg

And I look on 4170 web pictures, and coils are same size, same count. So maybe this GPUs are similar except firmware?
 
Most likely same chip, just different grades.

After this pic I used liquid metal, so no way I'm taking it apart to take another picture

4170.png


My chip seems to be labeled: 15A1 ?

15A1.jpg

Screen Shot 2021-05-03 at 1.24.25 PM.png
 
Most likely same chip, just different grades.

After this pic I used liquid metal, so no way I'm taking it apart to take another picture

View attachment 517357

My chip seems to be labeled: 15A1 ?

View attachment 517356
View attachment 517358
OMG i want to cry because of happiness! My EGPU now is working!!! Fully as native!!!! You know what I done?
Almost nothing, just replace Whatevergreen from /Library/Extensions/ to System/Library/Extensions!!!!

The trick is simply as I even couldn't even imagine this! So now nvidia web drivers are loading not the same time, but after whatevergreen. Additionaly i disable AMD by rehabman RMCF (i dont remember know) dsdt One to Zero patch. There is no need of using dGPU when eGPU is connected!

So if i want to use EGPU, i just simply plugin USB with clover and boot priority. So every time i plug it, it will boot from it!

The only problem i have: Hp bios instructions disable Intel GOP when eGPU connected, so i don't have any image on laptop ports, but I think, I can get over this!


Thank you for our discussion, it was really helpful to get new knowledge and to talk with professional!


UPD1. Or i should use non dGPU SMBIOS (mbp13.1 or mbp 13.2), so its no need to disable MXM gpu, as Apple wont it use as main. Apple disables IGPU when eGPU connected and activates dGPU. So thats why many users having a problem called error12
 
Last edited:
Status
Not open for further replies.
Back
Top