[Request] GPD Win 4 - G1618-04 BIOS v3.06 with all Features

Hello everyone. Hope you are well.

So… I have struggled with trying to bring back the option to have the AOD debug menu visible in the BIOS on this device. I’ve tried (as far as I found in forums around here) everything that should have unlocked the feature, but all it caused was a soft-brick (black screen - fan spin) with no way to verify if it worked…

What I found interesting is that the drivers were present in bios version 3.00, but removed in version 3.06. I’ve tried adding them back in, but it always boots to black screen (had to resuscitate the board using a CH341a programmer with WSON8 pogo pins to get it to work normally again.) I’ve used UEFITool and the M&MTool (I know ami caused issues here before so I’m trying to refer to it in a different way to avoid that.), and the UEFI Editor to try and have the menu pop back up again, but no luck sadly.

If anybody could please help with this, I would be very grateful. Here’s the bios files below. If you’re interested to read further below the files, you can do so if you’d like. I will just include the issues I faced because I would like to learn what went wrong. This is by far the riskiest and most involved bios mod I’ve ever done. The last one was simply undervolting the xps 7590, which isn’t as difficult as this…

Edit: I can add more than 2 links now! I will provide the modifications I have done below, for reference. Maybe someone is interested to see what I did wrong.

Thank you in advance :heart:


Original Ver 3.00
G1618-04.rom


Original Ver 3.06
G1618-04_V3.06.rom


Modified Ver 3.06 (first attempt using UEFITool 028.0)
G1618-04_V3.06_MOD.rom


Modified Ver 3.06-2 (second attempt using M&MTool 5.0.2.0025)
G1618-04_V3.06-2.rom


Issues:

M&MTool version 4.5.0.23:
Did not display the embedded fs properly, and was missing a lot of things.

M&MTool version 5.0.2.0025
Was fine, and even inserted the modules at the end of the bios, but still caused a boot to black screen. (despite being the “official” way of modifying the bios, which I found odd?)

UEFITool 0.28.0 (The version that still allows modifying bios files afaik)
Correctly inserted everything into the bios (even checking the padding files - they were left unchanged.) Still caused a boot to black screen with fan spin… I say correctly because I opened the modified bios using the M&MTool, and it displayed it fine with the changes made intact. I did insert them at the locations they were found in V 3.00, instead of at the end, so that might have been what caused the issue, but I am not 100% on that… It did not display the other volumes that existed in the bios though, so I wasn’t able to insert other missing drivers


P.S. I found it odd that the newest UEFITool shows other volumes that exist within the bios that are not visible to any leaked versions of M&MTool and the UEFITool 0.28.0. I think that may be where the issue is, but I don’t really know how I would go about adding the removed drivers back in if the FS is not even visible, and the newer versions of UEFITool do not permit editing…

P.P.S - I would like to also find out how to add other features that were removed by the folks at GPD (great move guys. Definitely did not spend a good chunk of money on this thing, only for it to be gimped at production stage :expressionless:). There were other features such as adjustable TDP, and fan control that I’d like to add back in as well. Not much of a deal-breaker, but would be fantastic to add in as well. If there is a way to also improve the abysmal USB4 hot-plugging on this thing(have to be inserted while the device is dead. Like what is even the point of it being hot-plugging then?!), I would be truly grateful.


Edit by Fernando: Thread title shortened

Users must understand that all the versions “leaked” of this tool are too old to work and made changes correctly in modern AMI Aptio V core bios… as so many bios files get corrupted after saved operation withe tool. Even worst when tampering with AMD based.
All the guides that were written mostly back in the days Aptio IV and very few Aptio V will accept changes made with this tool “the leaked ones…”
A lot has changed and keeps changing in the core code of Aptio V.

A new tool was provided by a forum user for working with AMI bios files:
[GUIDE] [UPDATE] Usage of AMI’s Aptio V UEFI Editor + FPT Flash Method - BIOS/UEFI Modding / BIOS Modding Guides and Problems - Win-Raid Forum (level1techs.com)

Any issues regarding this tool post on the relevant thread, not here.
Good luck.

Hello.

Could not download files from proton drive, so I must ask. Did you insert AodDxe|Pei|Smm drivers? All 3?

@LanceAve Welcome to the Win-Raid Forum!
As you may have already realized I have edtited your start post by shrinking the length of the title.
If you should not agree with my proposal, you can change it at any time by re-editing the first post.
Good luck with your BIOS modding request!
Dieter (alias Fernando)

Hi Sweet_Kitten. As far as I know, yeah! Sorry about the links. I could’ve sworn that it worked for sure. Let me supply them in a different fashion if that’ll help. I wasn’t able to attach them initially when making the post due to new-user limitations, but those are lifted now.

G1618-04.rom.zip (7.1 MB)
G1618-04_V3.06.rom.zip (7.0 MB)
G1618-04_V3.06-2.rom.zip (7.0 MB)
G1618-04_V3.06_MOD.rom.zip (7.0 MB)

I read a guide somewhere that stated that you also needed to replace the AMITSESetupData, AMITSE, and the main Setup window in order for the forms to show up again. As MeatWar mentioned, those guides are definitely not up-to-date anymore, so I am guessing that’s where everything went wrong.

Here’s a couple of screenshots of what I inserted (I only put in the ffs module since the others refused to be put in by UEFITool.
image
image

If it helps in any way, the report I generated from that does show the modules there. I just realized that I did not insert the PEI in there now that I look at it again… I’m guessing that’s where things went wrong? But the PEI sections do not show up in the older versions of UEFITool, so I think that’s what threw me off… Do you have any idea how I would go about adding it in?
image
image

Thank you!

@Fernando Thank you for edit! It does make the title look more presentable.

@MeatWar Thanks for the information! I did realize that a tad late after borking my device… I did actually make use of the UEFIEditor made by BoringBoredom, but I don’t think that it was gonna show any more information that the original BIOS already had. The plan was to insert the drivers back into the bios, then just use UMAF to display the menus, because the options are never really present in the original form. Feel free to correct me if I’m wrong, of course. What I find odd is that when I flashed the old bios, the options remain invisible despite reverting back to the older version. I’m not really sure what happened there, nor am I knowledgeable enough to make an educated guess… Unless the new bios had a CPU microcode update of sorts that fully blocks viewing the form, I have idea why it wouldn’t show up… Then again, I don’t know if that’s even a thing that CPU microcodes do, so… I appreciate the insight nonetheless.

Not needed. I was able to download bios releases from Releases · lertsoft/GPD_WIN4 · GitHub.
And I got information what you inserted just now.

Sometimes you need to replace AMITSE, but if you didn’t, it can’t cause black screen.

I think the PEI driver is no less important than other Aod drivers. UEFITool 28 works fine for me, showing pei volumes correctly.

UEFITool 28 works fine for me, showing pei volumes correctly.

Really? This is how it shows up for me on UEFITool. It doesn’t really show the names of the files, nor does it really show the details of the section…

Actally, no, I got it wrong. Sorry. Old engine uefitool doesnt support Zlib compression.

That’s a shame… So what do you suggest I do in this situation? Is there a way to export the GUID or something so it can be readable by older versions of UEFITool? Or should there be a different tool that I should be using?

You could try to find a Zlib compressor/decompressor. Then we edit the uncompressed volume in hex, compress it and replace in bios.

Sounds good. I’m currently experimenting with using fiano to basically extract the entire bios, then reconstruct it again and add all the missing stuff. Only issue is that it doesn’t have PEI viewer so I’ll have to search for things via the GUID. Is there a way to verify if the integrity of the bios was affected? Or am I gonna find out when I try and flash it and it fails to boot again :laughing:

I think everything should be good if uefitool doesnt throw any new messages in parser window.

I’m currently trying to find a valid zlib compresor. I already tried IP Tools and cantwell/zlib. Decompression works, but uefitool doesnt like the compression algorythms.
AMD Zlib-compressed section with invalid compressed size.

It turned out it wasn’t a problem with the Zlib compressors, but rather in me. I should have corrected sizes stored in volume headers for uefitool to read the volume. Manually, because uefitool NE can’t save files yet.
Bios with inserted Aod drivers: 3.06.rom.

Currently, uefitool only reports volume size stored in header differs from calculated using block map. This is a common issue (1, 2, 3) which, I believe, doesnt matter as Block Number used only when flashing with AFU.

1 Like

So I have hit a bit of a snag when trying to use fiano. Apparently the volumes that contain the PEI drivers exist… twice? Is that… an intended feature? Because I was able to add the AodDxe and AodSmm, but when trying to add AodPei, it complains about there being two instances of the GUID.

And, I mean it does have a point because when checking it via UEFITool, it does indeed confirm that there are two… Is that a case of it being duplicate?

Bios with inserted Aod drivers: 3.06.rom.

Thank you so much for the file! I can see the Aods being inserted in the locations that they were at in the previous firmware, so appreciate this a lot! Now the real challenge is having the bios permit viewing the smu debug options. I downgraded to 3.00 to see why the menu would just refuse to show up, even when using the UMAF tool, but quickly realized that it’s not being displayed there either? Would that be the job of using the tool MeatWar provided at the very beginning of the topic, or is it something else?

It’s intended.

Still not sure if the motherboard will start.

UMAF shows only exported data. Drivers can clear it on event if programmed to.
uefi editor can give some clue if you look into json file.

It’s intended.

That’s interesting. Does that mean that the driver will have to be inserted in both volumes, or does the bios know that they are duplicate? I don’t think I’ve seen this before, so forgive my ignorance if this is a common practice when it comes to this…

Still not sure if the motherboard will start.

Yeaah ultimately that may be the real issue here :grimacing:. I’m grateful for your help with this nonetheless :pray:. I’ll give it a try and report back to see if it does end up booting up or not.

I noticed when trying to flash the rom, the ami firmware update utility fails when it checks the rom layout. I’m betting the insertion affected the layout of the rom, or is that a false alarm?
Yep… Boot to black screen with fan spin… I’m unsure what may be the issue here in this instance. I gave it a solid 20 minutes for it to “initialize” and nothing.

Out of curiosity, what might be a reason for a failed boot despite the “correct” insertion? Does something else in the bios need to be modified to accommodate the changes?

uefi editor can give some clue if you look into json file.

Are you referring to the tool made by BoringBoredom? I did give this one an attempt at first to try and display the menu on the 3.00 bios, but for some reason non of the smu options appear there at all.



image

The second is used for flashing and supposed to disappear later. As we don’t know which one, drivers are usually replaced in both.

Me neither.
Probably an error when loading the dxe driver.

Looks like you’ll need to persuade GPD if you want smu debug options back. I can’t do anyhing with 3.06 bios to show up the options.

I know you attempted with it first, but you forgot to download a json file for offsets. Aod data is often oitside of SetupData driver and Setup driver. And uefi editor can accept other drivers than Setup one, in spite of what you can read from the guide.

1 Like

Yeah I realized my error after I’ve sent that reply. I forgot that the smu debug option exists in a separate setup window. My mistake for that.

I went through the CbsSetupDxeRmb driver, and found that the menu isn’t even present in there at all (no sub menus or anything.) even in the original 3.00 bios and the one you’ve kindly provided. Which probably means that this pretty much just spells the end of this endeavor unfortunately…

I doubt I’m the first who asked them to reintroduce the feature, so I kinda already have a feeling what their response will be. I’ll give it a shot nonetheless and report back if any development occurs.

Thank you for your effort nonetheless :slightly_smiling_face:

Unrelated to this unfortunate development, would you happen to know of any way to improve the hotplugging capabilities of usb4 on this motherboard? it only seems to work when the device is fully shut down… The only thing that I could find related to that issue is “USB4 ACPI_DEP Support”, but that doesn’t seem to do much.


This was found in the AmdPbsSetupDxe.

Disregard that… It seems that apparently it’s a lingering issue with using Linux on AMD APUs with USB4.
Apparently this issue has just been… sitting there for a year. Multiple issues are in there that echo the same problem.
AMD Ryzen 7 6850U does not detect external display correctly via USB4
Sorry if that was off-topic.