[TOOL] UniversalAMDFormBrowser

thanks but not working like as expected. It shows new entries but again show nothing in Device manager. Maybe in future I can mod such thing. At least UXTU working to raise tdp. I saw in bios that my agesa is RavenPI-FP5-AM4 1.1.0.F

I’m wondering if this can work with 6800U.

Over week ago I managed to get my HP laptop soft bricked with this tool. It did boot to laptop’s reset bios settings screen when battery was removed. It just wouldn’t boot anything more than that(black screen). HP’s key combos and bios restore USB-stick did nothing.

So I had to find my CH314 and try to read bios to file. I did manage to make a bios file. Everything was great until my bios clip did not work anymore->I couldn’t restore anything I modified.

So today I was bored and looked clip. I found out that clip’s pins are moving from end of the wires. I did take over a hour to get clip working, getting pins correct. Managed to flash modified bios and HP’s bios restore stepped up by warning bios is corrupted and wanted either files from SSD or USB-stick. I selected USB-stick and now I have restored bios on my HP.

Did this stop me from modifying settings with this tool. No it did not. I continued changing memory timings on my Ryzen. Also managed to get computer to same condition after enabling “Above 4G decoding”. Atleast I now know some way to restore this laptop’s bios.

I experimented with AMI BIOS like this one...

On those, AMD Form Browser tool does not work. But I found found what’s missing.

DisplayEngine and FormBrowser drivers that are needed by the tool might already exist in BIOS such as Aptio 4 or Insyde, but never in Aptio 5. In this case, AMITSE driver plays their role. And this makes cool GUI BIOSes often incompatible with AMD Form Browser.

The solution is to load another instance of AMITSE that works on your PC and also with the tool.

It happened that a "Green" version of AMITSE was suitable.

Yep, it’s still AMI BIOS. If you load all 3 drivers the UMAF window will change its skin to its usual grey one.

Don’t know if it’s an universal way.
If curious, I took the AMITSE from sp144597.exe update program.
AMITSE.zip (768.6 KB)

So, I just had to add an additional loading option to make everything work.
IMG_20230926

1 Like

Could you elaborate on the ‘add an additional loading option’ bit? the original stuff is unloaded via bootx64.efi; I assume you’re doing the above via efi shell, but when, what and how exactly?

Here’s a piece of source code of Loader.efi.


Loader should uninstall (unload) 4 protocols first and then start the form browser. The form browser consists of DisplayEngine.efi, SetupBrowser.efi and app. But in my case protocols could not be uninstalled, so I come up with another solution using shell.

You asking how to enter shell?

No, I get how to enter shell (and have mostly figured the source from the prior snippet shown and using ghidra on bootx64.efi), I’m just wondering how you made the following code work in conjunction with everything:

@echo off
CLS
fs:
load DisplayEngine.efi
load SetupBrowser.efi
load AMITSEgreen.efi
UiApp.efi

When I used this tool on my Asus Rog Crosshair VII Hero (Wi-Fi) with a 2700x, I only got the options ‘Setup’ and either ‘AMD CBS’ or ‘AMD PBS’, forget which (had the NB/DF options).

I haven’t used the loader in conjunction with that. There was simply no need.
After trying UMAF as is and getting no graphical output, I resorted to efi shell.

oh, so you just started shell, and executed those commands without the loader itself.
neat. I’ve been considering the idea of modding this into a bios permanently if I can make
the setup browser display everything. (not a fan of those obnoxious bios screens that
put ‘cool’ over ‘effectiveness’)

Unless I’m mistaken one should obtain both a PBS and a CBS entry, no?
I’m also guessing if the hii database entries are not marked as ‘user visible’
it still won’t show up here?

Not always.
UMAF shows only hiis that weren’t unloaded after ready-to-boot event being set.
CBS and PBS are in different modules.

If you’re able to make a modification to bios, why not to make CBS and PBS accessible from bios screen?
Or even from windows? [Guide] Fix Scewin for protected Z690/Z790 to easily modify HIDDEN BIOS SETTINGS

Was just a bit of curiosity on my part. I’ve been modding the bios on one device
off and on to try and re-enable debug functionality to assist with a coreboot port,
and was a bit interested in this when I ran into it. I don’t intend to keep the stock
bios or a modded stock bios longer than needed to get coreboot up and running.

Had to go away for a while, but have some free time on my hands

I am a little confused. Where does one get these efi images from? SetupBrowser, DisplayEngine and UiApp? Am I correct in that the first 2 are “built-in” and the last one is just a straight build from EDK II? And I can run the equivalent commands in the EFI shell?

@lemonade-10

I tried using this on my lenovo a475 but I always get to this error when I try to save the settings.

Tried both the UniversalAMDFormBrowser & the UMAF_BETA they both are doing the same thing.

When I press G and go to that setting it just doesn’t allow me to save the settings again so Im back on the regular settings

Thank you for that

I’m just trying to understand how this works so please bear with me :slight_smile:

Have I gotten this right? There are three .efi files there. The standard edk2 pagkage is the UI component (DisplayEngine.efi), and the loader (under EFI/boot) is just basically the screenshot posted? If so how are the other .efi files generated? Or are all three SetupBrowser, DisplayEngine, UiApp generated by a standard EDK2 build?

Yes.

Yes.

I even found an Intel board that uses UiApp as default setup utility.

Thinkpad Need to be tackled differently, like more modern device they lock the efi var store after the ready to boot event…

The solution is add a custom efi driver that will be loaded before the bios, load the default bios, and using this driver hot load the custom bios…

I don’t plan to public release that driver tho, but shouldn’t be that hard to write from scratch

to build the SetupBrowser, DisplayEngine and Ui App,

you just add them to the .dsc file, aso they get built along the main app

[Components]
 UniversalAMDFormBrowser/UniversalFormBrowser/UniversalFormBrowser.inf
  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
  MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  MdeModulePkg/Application/UiApp/UiApp.inf{
    <LibraryClasses>
      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
  }

and yes, the loader is just the one in the screenshot, you need to implement the two function UninstallProtocol and LoadAndRunImage, but all the information can be fund in the uefi specs

Hi im having some issues with booting in the usb. I turned the secure boot off, enter the boot menu, select the usb, and then some console messages appear on the left of my screen, and then its just black screen. I have Lenovo ThinkPad x13 gen 1 with amd ryzen pro 4650u if that can help…

For my laptop hp elitbook 745 g5 Ryzen 3 pro 2300u 16gb ram. options AMD CBS not showing dere is nothing except network settings end i want to change the vram from 1 to 4 gb or 3 gb , universal amd form browser not work for me , no amd CBS problem