Help with vBIOS overclocking disabled by CSM and Secure Boot

I need some help understanding the interaction between CSM, Secure Boot and a custom vBIOS.


I have an ASUS N550JK laptop with a NVIDIA GTX 850M graphics card. NVIDIA has the card locked down so that you only overclock up to about ~1200 MHz on the core, so I modded the vBIOS to overclock the card further. Now the vBIOS lives as a module in the mainboard BIOS. The overclock works fine when I boot up with CSM (Compatibility Support Module) Enabled, and Secure Boot off, but will not work with CSM Disabled, or Secure Boot on, which will boot with stock clocks. This happens on both Windows 10 and Windows 8.1 (both UEFI installs).


Does anyone know why this is happening or if there’s a way to allow me perform a secure boot, but still retain my vBIOS overclock?

Here’s a link to my BIOS: http://1drv.ms/1ML8e8i

TL;DR: Disabling CSM disables my vBIOS overclock. Why is this?

@ tocirahl:
Welcome at Win-RAID Forum!

Because the vBIOS (= VGA ROM module) is inactive after having chosen the "clean" UEFI mode with disabled CSM.
When you boot after having disabled CSM in the BIOS, only the EFI modules (here: GopDriver) will be used and no Option ROM modules.

Regards
Dieter (alias Fernando)

Fantastic. Thanks getting back to me so quickly! I figured it would be something like that.

If that’s the case, then how does the GPU get initialized? Is there a separate EFI module for the GPU that I can modify so I can continue using Secure Boot?

The GPU is initialized by a special GopDriver, but I am rather unsure, that you will be able to do the desired modification with this EFI module.

The GPU is initialized by a special GopDriver, but I am rather unsure, that you will be able to do the desired modification with this EFI module.




Sounds good. I’ll poke around.

The GPU is initialized by a special GopDriver, but I am rather unsure, that you will be able to do the desired modification with this EFI module.



Any idea how to extract the NVIDIA GOP module using MMTool?

What is the problem? Just hit the "Extract" tab, highlite the module, choose the "extract uncompressed" option, click onto the "Extract" button and give the extracted file a name as *.ffs file.

What is the problem? Just hit the "Extract" tab, highlite the module, choose the "extract uncompressed" option, click onto the "Extract" button and give the extracted file a name as *.ffs file.




I’m having trouble figuring out which module corresponds to the NVIDIA GOP.

If you have a discrete NVIDIA card inserted into a PCIe slot, you will not find any NVIDIA GopDriver within the mainboard BIOS. So you have to open the BIOS of the graphics card.

If you have a discrete NVIDIA card inserted into a PCIe slot, you will not find any NVIDIA GopDriver within the mainboard BIOS. So you have to open the BIOS of the graphics card.




It’s a laptop with an onboard GTX 850M. The vBIOS sits in the mainboard BIOS, so I would assume the corresponding GOP would as well?

Fernando is right about the VBIOS not getting loaded when CSM is disabled. But there is no EFI for your Nvidia card, so the VBIOS is loaded instead. Your system is using Optimus most likely, so the Nvidia card is not connected to the screen, therefore no EFI is needed during boot, all is done by Intel GOP driver. How is then possible to have your results? Simple, there is a second VBIOS in C5D7EAAD-B218-482C-A909-E3B8CDB00E94, which I assume is identical to the first one, but is loaded during EFI boot:

N550.png



There is the possibility to add an Nvidia EFI driver to your card.

NV-GOP.png

This is exactly what I was looking for. Thank you so much!

Excuse me: what is this program? I would like to use it for my ASUS G75VX with an nVidia GTX670MX.

For more information about why, and, any other questions you might have, let me know if I can post my topic thread from Overclock.net which has over 300 posts talking about overclocking my specific setup and roadblocks I am at.

@ RypeDub:
Welcome at Win-RAID Forum!

Only lordkag can answer your questions. So you have to wait until he will be online and has read your post.

Regards
Dieter (alias Fernando)

@RypeDub

It is something I wrote to help in such cases. It can be found here. Just run it on your desired VBIOS file and if you think you might flash your card with an updated GOP, post there the original file and the hash of modded file, so I can double check the result.

There is something about your laptop. When you check the content of the EFI Firmware, you should see that there are multiple versions of Nvidia VBIOS. I think some of them are duplicates, given the same ID, but can’t be sure, as they have a different sign-on message. At least the last two from CSMCORE are duplicates, as they are hidden, not accessible with MMTool. They too have a slightly different sign-on message, but given the same ID and a version bump, I should say it shouldn’t be a problem in removing them. Check with GPU-Z what version you have and keep that one.

G75VXAS206.png



If you want a GOP update, take the one(s) from the C5D7EAAD-… GUIDs and run them through GOPupd. You will see they have an old GOP.



Everything you need to know about CSM, Secure Boot, Unlocking your System BIOS, Extracting your vBIOS, Overclocking your GPU and Overclocking your CPU can be found here:

https://www.overclock.net/forum/158-lapt…k-tutorial.html

{NOTE: That guide is SPECIFICALLY for the ASUS G76VX with an NVIDIA GTX 670MX, however: the System BIOS dumping methods, System BIOS editing + unlocking methods, the Chip Clipping information + EEPROM Programming, vBIOS separation + modification, and insertion back into a modified system BIOS information still apply for most Intel Core iX-XXXX 3rd generation CPU’s + Kepler based GPU’s. You will have to find out what "OS" your system BIOS is if it is NOT AMI, the G75VX uses AMI BIOS, but once you find your BIOS unlocking tool, modifying it should be similar, more difficult or more simple.}

I don’t think it is that difficult and the only reason I wrote so many explanation and warnings is to give the users a choice, instead of just offering a tool. What you need is Kepler Tweaker and a map. If you disable CSM and use Fast Boot or Secure Boot, you need to tweak the VBIOS from the two GUIDs (only one will be used either way). If CSM is enabled, tweak the VBIOS from CSMCORE. For all cases, tweak them all. I can assist you in removing the duplicates from CSMCORE, if you need. I can also check the result of GOPupd if you plan to use it.

There are enough tutorials on OCN about overclocking, so you don’t need help about that.