Dear All,
Thank you for your interest in this project.
The core part of the tool has been largely completed, but there are still some tasks and analyses that need to be carried out.
As mentioned earlier, due to NVIDIA’s addition of validation for the GOP module and partition size in the VBIOS, most graphics cards—particularly those using early firmware or lacking firmware updates, such as low-cost devices—cannot be updated with the new tool. Considering this limitation, I am still exploring possible methods to change the partition size and pass the validation, and I hope to determine whether the partition size validation is related to the contents within the partition.
*Currently, the tool only supports updates to GOP versions with identical sizes, such as from 0x60010 to 0x60012 or from 0x60014 to 0x6001b.
Furthermore, starting with the Ampere architecture, the GOP module requires a corresponding digital signature to function correctly. As a necessary component of the GOP module, the new extraction tool will extract the digital signature along with the GOP module into the EFI file. The tools developed previously for the Turing architecture, as well as the EFI modules extracted using those tools, will no longer be compatible. This marks a significant change.
The digital signature is generated based on the GOP and its header configuration information, meaning that identical GOP versions with different header configurations will produce different digital signatures. Storing all this data would greatly waste storage space. Therefore, the new extraction tool supports a streamlined mode where, if an identical version is found, only the digital signature and header information are saved. This new feature is nearly complete, though some testing remains, and a few special cases still need to be addressed (such as when identical GOP versions with the same header configuration result in different digital signatures).
There have also been some efficiency optimizations for the tool targeting the Turing architecture, with restrictions to ensure it no longer supports non-Turing architecture cards, thereby guaranteeing absolute stability. Should progress be made in changing partition sizes on the Ampere architecture, this will be considered for application to the Turing architecture as well.
Although I have a test version available, I cannot release it at this stage. Releasing these tools before fully completing the specifications would lead to confusion, incompatibility, or unexpected issues. Moreover, these tools need to be released alongside comprehensive guidelines, which will take some time.
I will do my best to provide regular updates on the progress.
If you wish to support this project, please try to help me find two VBIOS versions from Turing, Ampere, or later architecture cards where only the GOP size and GOP version differ, and upload them here to help me gather more useful information.
— 2024.11.14 —
Progress Update:
The specifications for the new EFI format have now been finalized. A new tool tailored for Ampere and updated architectures has been developed and optimized. This tool is maintain the same level of efficiency and stability as the previous version, and is currently undergoing limited-scale testing.
For the Turing architecture, the core code of the extraction and normalization tool is being refactored to enable adaptability to potential future variations, which will require additional time to complete.
Additionally, we are drafting documentation on usage guidelines, important considerations, and a FAQ section for the new tool.
If progress goes smoothly, we anticipate releasing these updates by the end of the year.