[Tool] Automated VBIOS mod to fix old NVIDIA artifacting 470-Kepler-750ti

I’ve created a tool to quickly fix artifacting NVIDIA GPUs - some Fermi GTX470+, all Kepler, and GM107=750Ti. It is ~10 years late)) but I created it in a hope that resurrected 770s/780s still can be useful.

Use at your own risk - testing in local community showed that a lot of GPUs are fixed, some others are not, but there is a ~5% chance that after flashing GPU shows black screen instead of artifacts and can be hard to flash into original VBIOS (however they were already artifacting, nothing to lose really :grinning:)

Theory

image

A lot of artifacting and “Code 43” errors for GPUs are caused by a damaged GPU↔VRAM connectivity. For Fermi-Kepler generations, many of such cases are caused by the connectivity breakage from the GPU die side. The tool aims to fix this problem by disabling a problematic memory channel entirely by a modded VBIOS - so if the connectivity is the only problem - the GPU memory size and bus width get reduced, but the GPU starts working fine.

Old NVIDIA artifacts

The idea is quite simple: take the original VBIOS, apply a patch to disable different memory channels until a problematic channel is found, then disable that single channel. VBIOS reading/flashing is done via nvflash, the modification itself just touches several bytes. If you want to see “which bytes” - see .zip with VBIOSes for disabling different channels on Titan Kepler 6GB reference board

The basic usage flow is:

If modification succeeds, two memory chips are disabled and the GPU bus width is reduced by 64 bits:

Modding small GPUs with only two VRAM chips (GF117, GF119, GK208) is not supported, since they have the single memory channel.

Resources

Performance tests

For GPUs with 128 bits the performance drop is significant, but for cards with a wide memory bus the difference is quite small.

The standard 3GB 384bit 780Ti GHz Edition on average achieves 3700 Graphics score in the TimeSpy benchmark. The fixed 780Ti with 320bit bus and 2.5GB left gives 3400 Graphics score and a SLI 2×780Ti 2.5GB gives 6100 Graphics score in TimeSpy.

Helper features

One of the problems with broken GPUs is that OS sometimes hangs during boot before the utility can be launched. This can be worked around by using Safe Mode, but by default Windows 10 does not provide a simple way to enter it. So the tool has a “Enable boot withput driver” button to temporarily turn on Windows 10 boot mode that allows using F8 to enter Safe Mode, see boot mode section in user guide for details. This button is expected to be used before plugging in the problematic GPU.

An expert mode behind “Prepare without GPU”/“Open Original VBIOS file…” button can be used to generate VBIOS modifications variants for a given VBIOS file, similar to Titan variants linked above.

Note that due to “usage flow” this mode doesn’t show up if an already modified card is plugged in. To force expert mode availability in such case - run utility with DENYing Administrator rights to it, so it fails to see any GPUs and allows using “Open Original VBIOS file…” button.

The source code is not public by now

1 Like