How to Modify NVIDIA Notebook Driver .INF Files

2015.08.06 | Yuki Rea

When installing a new NVIDIA MxM GPU module into a notebook often times the NVIDIA driver will not have that GPU + notebook combination specified in their driver's .inf files. To get the newer GPU to work you will need to modify the .INF files of your NVIDIA drivers before installing them to add support for your specific notebook and GPU combination. This tutorial will work with a wide variety of notebook and GPU configurations, I will be showing how to modify a driver for a Clevo P150SM with an aftermarket GTX 980M but the process is exactly the same for any other notebook and GPU just with different device IDs.

Go to the link below to download .inf files I have already modified:
Modified NVIDIA Norebook Driver .INF Files

[ ! ] Please research first before committing to a GPU upgrade to make sure that you will be able to get your specific GPU and notebook combination working together.
[ i ] Linux users do not have to modify drivers to use upgraded GPU's in notebooks as long as they are physically, electrically, and BIOS compatible.

[1] Download Un-Modified NVIDIA Driver

First you will need to download the latest NVIDIA driver from their website, make sure to select the driver that corresponds with the GPU and Operating System you are using.

The link below will take you directly to the download page:
NVIDIA Driver Downloads

[2] Extract Driver

Run the file you have downloaded (take note of the directory it will extract to) and wait for it to extract. After extracting the installer will attempt to install but will fail, this is ok, just close the installer.

[3] Identify Hardware ID

Open Device Manager and right click on Microsoft Basic Display Renderer or something similar and click the Properties option and navigate to the Details tab. Click the Property drop down and select the Hardware Ids option. Copy the first value in the list of IDs and paste it into a blank notepad for later.

If there is no Microsoft Basic Display Renderer or similar device you either have something wrong with your Windows installation or BIOS settings preventing Windows from detecting or powering on the GPU. Its also possible have a defective GPU or the notebook is electrically not capable of working with your GPU.

[4] Finding The Correct .INF

Navigate to C:\NVIDIA\DisplayDriver\[VERSION]\[OS]\[LANG] and open the Display.Driver folder which is inside this directory.

Open the .inf file inside the Display.Driver folder which corresponds with the manufacturer of your laptop, There is a list of which .inf corresponds to which manufacturer below for reference. Mine is nvcvi.inf because I have a Clevo laptop.

.inf files by manufacturer
Acer & Gateway = nvaci.inf
Asus = nvami.inf
Apple = nvaoi.inf
Compal = nvcti.inf
Clevo (Sager & other re-brands) = nvcvi.inf
Dell & Alienware = nvdmi.inf
Fujitsu = nvfmi.inf
HP = nvbli.inf
HP = nvhmi.inf
LG = nvloi.inf
Lenovo = nvlti.inf
MSI = nvmii.inf
NEC = nvqni.inf Siemens = nvfui.inf
Sony = nvszci.inf
Toshiba Qosmio = nvtdi.inf
Toshiba = nvtsi.inf

[5] Finding Device ID Group

Press CTRL+F on your keyboard and search for NVIDIA_SetA_Devices There will be one of these groups for every operating system supported by the driver, make sure you are modifying the group specific to your operating system, if your not sure you can do all of them. If you can not find it try searching for NVIDIA_Devices or something similar instead, user 4108317206 in the comments pointed out that NVIDIA may have changed it.  The group should look something like this.

[6] Formatting Hardware ID

You will now need to correctly format the Hardware ID that you copied to notepad earlier and add it to the group of text. Here is a color coded example of how to correctly format the IDs to add to the list. Make sure that the Section### part of the formatted IDs marked in green is the same as an already existing Device ID inside the .inf with a GPU Model Code that is the same as in your Hardware ID

GPU Model Code
Laptop/PC Model Code
Laptop/PC Manufacturer Code
Section Number
Hardware ID from Device Manager
Existing device ID from the .inf corresponding to laptop manufacturer which has the same GPU model code as your GPU
Device IDs formatted for the .inf corresponding to laptop manufacturer
Device string formatted for the .inf corresponding to laptop manufacturer
NVIDIA_DEV.13D7.5106.1558="NVIDIA GeForce GTX 980M"

[7] Add New Hardware ID

Paste your formatted Device ID into the group of IDs (it shouldn't matter where in the list) You may also want to paste the IDs into the new notepad document created earlier for future reference.

In the same file press CTRL+F and search for [Strings] You should see a group of strings similar to before. Paste the longer formatted string from before into the list and save the file.

[8] Install The Driver

You are now done modifying the driver and can install it, If you are running Windows 8 or higher you will need to boot with Driver Signature Enforcement disabled or the driver will fail to install. Inside the directory that the driver was extracted to you will see file named setup.exe Run it as an administrator and follow the onscreen instructions, if a pop-up comes up saying something about untrusted drivers make sure you click install anyway. If you have correctly modified your .INF files everything should go smoothly. You will need to do this for every new driver version so its a good idea to get the hang of it.

If you need help disabling Driver Signature Enforcement please follow the following guide which was also found by user 4108317206 in the comment section.
Top 2 Ways to Disable Driver Signature Enforcement on Windows...

[9] Troubleshooting

If the driver installs without issue but you get a black screen after reboot or games seem to not use your GPU correctly; either crashing on launch, extremely low FPS, or using integrated graphics, you may have chosen the incorrect section # to use. Try using a different section number. If you have tried other section numbers and the installed driver is still non-functional, you may need to also modify nv_dispi.inf. This is the .inf that the Nvidia Driver checks before moving on to the other manufacturer specific ones, it is generally used for desktop cards but MXM cards can be referenced in here as well. The modification process is nearly exactly the same, try creating a device ID with-out the Device Manufacturer and Model code first and add them later it still does not work. Finding the correct Section # here may be more difficult because there will be no similar hardware ID to reference, I recommend starting with Section001. Please only modify the nv_dispi.inf as a last resort.

[ i ] If you still need help modifying your .inf I recommend asking for help on the Tech Inferno forums, there are a large number of people able and willing to help.