-
Notifications
You must be signed in to change notification settings - Fork 52
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
cannot patch the gtx1080.rom #4
Comments
How do you extracted the rom? |
Hi there I found your tool via https://forums.lenovo.com/t5/ThinkPad-P-and-W-Series-Mobile/P50-Quadro-M1000M-GPU-Passthrough-to-VM/td-p/3483650 I have a Dell Precision 5520 that has an Nvidia Quadro M1200 - which is the 'enterprise' equivalent of the Nvidia GTX1050 (and seems to have the same board code of GM107). I get the same error, even though it parses correctly with @awilliam's rom-parser https://github.com/awilliam/rom-parser I extracted both via the windows registry and the the firmware file downloaded from Dell, and they resulted in the same thing. Here's the rom.zip |
The script has only been tested with discrete consumer GPUs in the Pascal series (eg. GTX 10xx), and far as I've heard no one has managed to make it work with a laptop GPU. I originally created it to solve a VFIO passthrough issue with my GTX 1070, and shared it since I figured people could find it useful since it worked with other ROMs I found in the internet. Unlike rom-parser, this script has no real idea of the underlying structure of the ROM; it's basically two regular expressions to locate and split a desired area of the ROM into its own file, plus a few checks for markers that were constant in all the different ROMs I tested the tool with; I don't know why there are three If you have two copies of a ROM, one of them a partial copy that works for VFIO passthrough, and the other a full copy that does not work for VFIO passthrough, you could use a hex editor to compare the two files and find out what section of the file you need to cut out to make the full copy identical to the partial one. And, if you'd want to make a script like this one, you could create a script that locates the desired section and splices it for you automatically. |
@Matoking - That's for the help here - not 100% sure what you mean by a 'partial' copy, but I think looking through you mean 'full' is the ones with a header from a firmware updater? In that case I think the one I have already is 'partial' - it starts with:
Which looks just like the one described in https://www.youtube.com/watch?v=1IP-h9IKof0 What's confusing is I think I need a 'UEFI' patched bios, per https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#UEFI_.28OVMF.29_Compatibility_in_VBIOS This is all an attempt to run Windows using the dGPU (headless) on the laptop, and iGPU on host. |
@marcosscriven For partial copies, I used ROMs provided by the people in this discussion thread: https://lime-technology.com/forums/topic/51230-video-guidehow-to-pass-through-an-nvidia-gpu-as-primary-or-only-gpu-in-unraid/ I then compared them to full copies you can find on TechPowerup: After testing the tool on a few ROMs and getting identical results, I decided to test it on my GPU which worked perfectly. |
I change this line and it works. |
root@debian:/home/olproff/NVIDIA-vBIOS-VFIO-Patcher# ./nvidia_vbios_vfio_patcher.py -i ../gtx1080.dump -o ../gtx1080_patched.bin
Opening the ROM file...
Scanning for ROM offsets...
Traceback (most recent call last):
File "./nvidia_vbios_vfio_patcher.py", line 194, in
main()
File "./nvidia_vbios_vfio_patcher.py", line 168, in main
rom.detect_offsets()
File "./nvidia_vbios_vfio_patcher.py", line 77, in detect_offsets
raise CheckException("Couldn't find the ROM footer!")
main.CheckException: Couldn't find the ROM footer!
The text was updated successfully, but these errors were encountered: