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

Results with HP OMEN 16 (2021, AMD) #48

Open
zhguyu opened this issue Jun 6, 2022 · 5 comments
Open

Results with HP OMEN 16 (2021, AMD) #48

zhguyu opened this issue Jun 6, 2022 · 5 comments

Comments

@zhguyu
Copy link

zhguyu commented Jun 6, 2022

The extraction is successful... somehow.
TL;DR: Only the VBIOSs for AMD integrated GPU is contained in the BIOS. If you are looking for VBIOS of the NVIDIA GPU, no luck here.

For anyone that might be interested:

  1. Download the BIOS update package from HP support.
  2. Run it, and wait for the AMI BIOS update screen to pop up.
  3. Click Next, and wait for a second in the next screen, there should be 3 choices, select Copy.
  4. Save the BIOS file to some place. There should be a BIN file, such as 088FF.bin
  5. Extract that BIN file with VBiosFinder.

Results:

pi@zhang-pi:~/VBiosProject/VBiosFinder $ ./vbiosfinder extract ~/VBiosProject/VBiosFinder/088FF.bin
output will be stored in '/home/pi/VBiosProject/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes

checking for innoextract... yes
checking for upx... yes
checking for 7z... no
Install '7z' on your system (required for 7z (self-extracting) archives)
trying to extract ./088FF.bin
extracting uefi data
trying to extract ./088FF.bin
found UEFIExtract archive
trying to extract ./mkmf.log
found UEFIExtract archive
filtering for modules...
got 5822 modules
finding vbios
4 possible candidates
checking for rom-parser... yes
Found VBIOS for device 1002:1638!
Found VBIOS for device 1002:15e7!
Found VBIOS for device 1002:1636!
Found VBIOS for device 1002:1636!
Job done. Extracted files can be found in /home/pi/VBiosProject/VBiosFinder/tmp-vbiosfinder/../output
Cleaning up garbage

If you inspect the Device ID of one of the extracted VBIOSs, 1002:1636 for example, you will realise they are the integrated graphics of Zen 3 (Renoir) APUs, in my case 5800H.

So... if you really need the VBIOS for them for whatever reason, then that's it. Otherwise I believe these manufacturers are no longer bundling the actual NVIDIA VBIOSs into the BIOS these days.

@Sebls135
Copy link

Sebls135 commented Jun 8, 2022

Hi, thank you for yours explications :D.
I've question newbies. How do you get UEFIExtract archive and How do you install it?

Thank you

@zhguyu
Copy link
Author

zhguyu commented Jun 8, 2022

I was using Raspberry Pi for the extraction process. It should be about the same with other platforms.

  1. install cmake because UEFIExtract uses it to build, e.g. apt install cmake
  2. git clone -b new_engine <repo>, clone the UEFITool repo to your computer
  3. Navigate to the UEFIExtract folder, e.g. (something)/UEFITool/UEFIExtract
  4. Run cmake . && make to build
  5. Copy the built binary file to VBiosFinder/3rdparty

Building rom-parser is about the same, except for that it just uses the UNIX Makefile, and there’s nothing you need to configure, so you just need to make

@Sebls135
Copy link

Sebls135 commented Jun 8, 2022

Hello,

It's great :D. Thank you for your help.

It's work but I have an a response "no candidates found :( .

Do you know why?

Thank you

@zhguyu
Copy link
Author

zhguyu commented Jun 8, 2022

From my experience it depends on if VBiosFinder can recognise the UEFI structure of the file you provided. In my initial post the reason I have to manually extract the BIN file is because VBiosFinder wasn’t able to examine the EXE setup - it’s obviously encrypted by HP.

In that case, VBiosFinder would say got 2 modules, in contrary to my original post in which it reports got 5822 modules.

That’s only my personal experience after playing around with different BIOSs from different OEMs. So the idea it that if it shows got 2 modules, it’s probably because VBiosFinder wasn’t able to recognise the EXE file. In that case you would have to manually extract the BIOS binary file and provide it to the program.

@Sebls135
Copy link

Sebls135 commented Jun 8, 2022

I tried a lot of sources and I have the same problem. Maybe it's my method to extract the file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants