HowTo: Upgrade Dell Precision M4800 with Nvidia Quadro M1200

Discussion in 'Dell Latitude, Vostro, and Precision' started by Yamakuzure, Jul 20, 2018.

  1. Yamakuzure

    Yamakuzure Newbie

    Likes Received:
    Trophy Points:
    If you have bought an nvidia Quadro M1200, and do not seem to get it to work with your Precision M4800, here is what you can do.

    I have posted the story to this howto in the "Dell Precision M4800 - Can GPU be upgraded?"-thread, as I have most information that lead to success from there.

    Note 1: Although this is for the Quadro M1200 on a Precision M4800, the general path might be the same for other cards and/or other Laptops.

    Note 2: This is for Windows 10 64bit. Windows Vista, 7 and 8 might need other details, but the general path should be the same.

    Note 3: This HowTo might seem lengthy, but isn't really complicated. I just made it thorough and detailed. You will most probably skip most parts. However, if you think something is not thoroughly enough explained or even unclear, please PM me for review!

    1. Download and install GPU-Z.
    2. Start GPU-Z and note down the PCI subsystem ID of your card.
      Look at the field "Device ID". It is build up like this:
      10DE 13B6 - 1028 15CC Which means:
      • 10DE : Vendor : NVIDIA Corporation
      • 13B6 : Chip ID : GM107GLM [Quadro M1200 Mobile]
      • 1028 : Subvendor: Dell (HP would be 103C)
      • 15CC : Subsys ID: <-- Note this down! (yours might be different)
      I can not tell you why the card is listed as 1028 15CC. That combination only exists for the AMD FirePro M5100. I guess it is somehow generated for this card, as it is unknown to the system BIOS.
      However, whenever I refer to "15CC" from hereon, you have to substitute it with your subsystem ID! The other numbers should be the same.
    3. Look at the field "BIOS Version". If it reads "Unavailable", you have to flash a viable Video BIOS on the card first.
      • Download the latest NVIDIA NVFlash, and unpack it somewhere convenient.
      • I have sent two VBIOS ROMS to the TechPowerUp Video BIOS Collection. Download the one for your card vendor into your NVFlash directory.
        It is very important that you choose the correct one!
      • Go into the Device Manager, right click on your M1200 graphics card and select "Disable Device".
      • Start a command shell (cmd) with administrator privileges and cd into your NVFlash directory.
      • Code:
        nvflash64 -6 <rom-file-name>
        The "-6" ignores the surely occuring PCI subsystem mismatch.
      • Reboot - Re-activate your card - Enjoy.
      • "Oh NO! I flashed the wrong BIOS!"
        • Deactivate your card again.
        • Start cmd with administrator privileges again and cd into you NVFlash directory.
        • Start nvflash64 again, but do only hit 'y' once, wait at the second prompt.
        • Press Ctrl-Alt-Del and start the task manager.
        • Switch to "Details", sort by name.
        • Right-Click the nvflash64.exe process and select "Kill Process Structure" (Do NOT confirm, yet!)
        • Move the confirmation window below your cmd window and switch to the cmd window.
        • Now confirm flashing with 'y'.
        • When the output says "Erasing EEPROM" (Comes very soon, about 0.5 to 1.5 seconds!) click on the confirmation to kill nvflash.
        • Now your EEPROM is erased again and the adapter ID is gone. Proceed above with flashing the other VBIOS.
    4. Download the latest Dell nVIDIA Quadro K Series Graphic Driver for the M4800, and unpack it somewhere convenient using 7-zip.
    5. (optional) Download the latest Quadro Notebook Driver from Nvidia and unpack it somewhere convenient with 7-zip.
    6. If you like, enable "TestMode":
      • Start a cmd with administrator privileges.
      • Issue:
        bcdedit /set testsigning on
      If you do not do this, you have to boot with driver signature enforcement disabled before installing the drivers!
    7. Download and install DDU (Display Driver Uninstaller) (You may want to read the "Recommended Usage".)
    8. Reboot into safe mode.
      • Click on the Power Icon, either in the lock screen or in the Windows menu.
      • Hold down your left shift key while klicking on "Restart".
      • On the screen that follows, click on "Troubleshoot" -> "Advanced options" -> "Startup Settings" -> "Restart".
      • On the Startup Settings screen press 4 "Enable Safe Mode".
    9. Use DDU to uninstall any previous Nvidia/AMD driver you have from your previous card.
    10. Reboot into normal mode. If you haven't enabled TestMode, you have to boot again like into safe mode, but choose 7 "Disable driver signature enforcement" this time.
    11. In the folder where you unpacked the Dell driver package, open "Display.Driver\nvdm.inf" (I'd recommend notepad++).
    12. Substitute both SUBSYS entries for "DEV_13B6&SUBSYS_07b01028" with your subsystem ID like this:
      Search      : DEV_13B6&SUBSYS_07B01028
      Replace with: DEV_13B6&SUBSYS_15CC1028
      Do not forget to change my "15CC" to your id if GPU-Z showed you a different one!
      (See my story about where I got these numbers.)
    13. Now you can save and close the file and run setup.exe in the parent folder. The drivers should cleanly install.
    14. (optional) Repeat the same with the Nvidia Quadro Grid drivers.
      • Here the file to change is "Display.Driver\nvdmwi.inf"
      • You have to search&replace the string "DEV_13B6&SUBSYS_07BF1028".
      • run setup.exe in the parent folder. The drivers should cleanly install.
    That's it. After a reboot your M1200 should be working just fine!
    Last edited: Jul 20, 2018
  2. Samuel Tan

    Samuel Tan Newbie

    Likes Received:
    Trophy Points:
    Thank you. I confirm successfully installing Quadro m4000m in Dell M6800, using your method above.
    I had to cut away a small part of the nvidia heatsink to fit the quadro M4000M. I used the Nvidia official drivers. I see many inf files nvmiwi.inf, nvltwi.inf, nvdmwi.inf, and nvblwi.inf, so i changed all! In addition, there are two entries in the inf every instance. The first is always for the optimus-disabled, and the 2nd is with optimus-enabled.

    Eg, you'll see this entry

    %NVIDIA_DEV.13F9.06DA.1028% = Section250, PCI\VEN_10DE&DEV_13F9&SUBSYS_06DA1028 (this is for optimus-disabled)
    %NVIDIA_DEV.13F9.16DA.1028% = Section254, PCI\VEN_10DE&DEV_13F9&SUBSYS_16DA1028 (this is for optimus-enabled)

    You'll find a new hardware ID when you disable optimus in the bios.
    My current unresolved issues are: PhysX is shown to be absent from my M4000M in TechPowerUp GPU-Z.
    Also with optimus-enabled, I could only force gpu usage by shutting off the laptop monitor and enabling only an attached external display. For that reason, I tried disabling optimus and learned about the different hardware ID for the GPU in optimus-disabled state.
    The GPU performance trounces the original K3100M, so the original objective is achieved.

    Update: i just solved the optimus-switching problem for external monitor. By setting my external monitor (displayport) as main display, the M4000M is now used for 3D.
    Last edited: Aug 10, 2018 at 4:57 AM
  3. Aaron44126

    Aaron44126 Notebook Virtuoso

    Likes Received:
    Trophy Points:
    It should be sufficient to just change nvdmwi.inf ("D" is for "Dell" here).

Share This Page