Quantcast Laptop Forums and Notebook Computer Discussion - View Single Post - DIY eGPU experiences
View Single Post
Old 08-01-2010, 05:09 AM   #1222 (permalink)
nando4
Kopi Luwak Cafe
 
nando4's Avatar
 
Join Date: Dec 2008
Location: YellowBrickRd.AU
Posts: 7,427
Rep Power: 41 nando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond reputenando4 has a reputation beyond repute
Default DIY eGPU experiences

Modded drivers


ATI / AMD modded drivers at DNA-drivers | Do Not Argue. These provide a single unified mobile+desktop driver, necessary if your system has an existing ATi/AMD dGPU.

NVIDIA Verde modded drivers are below. These accelerate eGPU x1 1.0/2.0 performance via PCIe data compression if you have a Fermi desktop notebook and a Intel 4500MHD, HD or HD3000 iGPU as bootup primary video.

NOTE: As of 275.xx, the standard NVidia desktop driver also includes the x1 pci-e compression if it detects a 4500MHD/HD/HD3000/X3150 iGPU as the primary display. What it doesn't provide however is the accelerated graphics using the internal LCD as the output functionality. Need the Verde (mobile) driver for that. Khenglish confirms 295.xx beta desktop driver drives the internal LCD in additional to providing the x1 pci-e compression making it unnecessary to use the modded Verde driver below.


x1.Opt: NVIDIA Optimus using Fermi desktop eGPUs for performance & Internal LCD mobile use

Available NVidia Optimus desktop drivers >>>

Begin by installing the NVIDIA Verde (Mobile) drivers, then overwrite the [install dir]\Display.Driver\nvam.inf with the modded one below containing Fermi desktop video cards. Then run [install dir]\setup.

Want newer drivers then the ones below? Then mod them yourself. Here's how. (source: kizwan)
Spoiler :

Yes you can mod the nvam.inf yourself. I think better do not use older nvam.inf with newer driver because Nvidia usually change the content of the nvam.inf file.

When you mod nvam.inf file, you'll need to add three lines in three different sections (one line for each section). This is how you do it:-
  1. Identify your eGPU PCI ID, e.g. GTX560Ti: PCI\VEN_10DE&DEV_1082
  2. Download Nvidia Verde drivers.
  3. Extract the driver using Winrar.
  4. Open Display.Driver\nvam.inf with text editor.
  5. Go to [NVIDIA_SetA_Devices.NTamd64.6.0] section & add this (example):-
    (* NVIDIA_DEV.XXXX, where XXXX is DEV ID, e.g. PCI\VEN_10DE&DEV_XXXX)
    Code:
    %NVIDIA_DEV.1082% = Section099, PCI\VEN_10DE&DEV_1082
  6. Go to [NVIDIA_SetA_Devices.NTamd64.6.1] section & add this (example):-
    Code:
    %NVIDIA_DEV.1082% = Section099, PCI\VEN_10DE&DEV_1082
  7. Go to [Strings] section (located at the end of the file) & add this (example):-
    Code:
    NVIDIA_DEV.1082 = "NVIDIA GeForce GTX 560 Ti"
  8. Save the file & run setup.exe to install the driver.

NOTE: The Optimus driver will only activate the Optimus enhanced performance if you have 4500MHD, Intel HD or x3150 (Pine Trail) primary adapter. A request has been made to NVIDIA here to unlock this for users with other primary video cards. Driver version 270.61 or newer corrects error43 and removes the internal LCD confidential overlay as described.

Pre-requisities for Optimus functionality >>>

NVIDIA's Optimus can engate on your your eGPU setup if you have:
  • Intel IGP: Intel GMA 4500MHD, HD, HD3000 or x3150 (Pine Trail)
  • NVIDIA Fermi desktop card: GT4xx, GTS4xx, GTX4xx, GTX5xx, or GTS240. A GTS250 or older will not work.

This gives two benefits:
  1. An internal-LCD only setup which is transparently managed by NVIDIA Optimus. The NVIDIA card renders the image and Optimus does it's cloning for display on the Internal LCD using the IGP. That's for fullscreen or windowed apps. No need for the fiddly Ultramon internal-LCD setup requiring a DVI dummy.

  2. When attached to an external monitor, the internal-LCD cloning mode is disengaged. Instead, the Optimus driver now gives an impressive performance boost from 20-333% as shown below. This article tells us we are likely using the Pine Trail (x3150) x1 tweak:
    Spoiler :
    The one aspect of the technology that NVIDIA wouldn't discuss extensively is how Optimus works within the bandwidth constraints imposed by the NM10 chipset. Just to clarify, NM10 provides just four PCI Express 1.1 lanes, and while a manufacturer could choose to use all of those for the ION GPU NVIDIA says most will use a single link, leaving the other lanes open for additional devices. PCIe 1.1 provides 250MB/s of bidirectional bandwidth on each link, so that means Optimus will have to work within that constraint. Optimus copies content from the GPU memory to the system memory directly, to avoid any issues with flickering displays, but that means NG-ION will need to transmit a lot of data over a relatively narrow link.

    Driving a low resolution 1024x600 LCD at 60FPS isn't a problem, but even at 1366x768 we are at the limits of x1 bandwidth (such a display would require 251.78MB/s to be exact). NVIDIA says that NG-ION won't have any trouble driving up to 1080p displays, so naturally we were curious how they manage to get 1920x1080x32-bit @ 60FPS (497.66MB/s) over a 250MB/s link. For now, unfortunately, they aren't saying, other than that there's some "intelligent work" going on in the drivers. Real-time compression is one option, and if you only transmit the meaningful 24-bits of color you can save 33% of the total bandwidth. All we know is that NVIDIA says it works, that the content isn't compressed (presumably that means no lossy compression, as clearly there has to be some form of compression happening), and that they're not overclocking the PCIe bus. In short, Optimus has some "special sauce" that NVIDIA doesn't want to disclose (yet?).
    The first post shows x1.Opt performance improves with faster CPUs. Meaning then it is highly likely that x1.Opt has setup a compressed data stream across the x1 link. It was found here that this performance tweak only applies to x1 links. Now how to get that performance boost on a systems without IntelHD/4500MHD primary graphics or use a x2 link?
Tested configurations >>>

  • T6600-2.2 Inspiron 1440 with Intel 4500MHD IGP
  • GTX470 desktop card
  • A Optimus modded driver from drivers section above.
  • MSI Afterburner for GPU overclocking

SystemRAMGPU3DMarkRE5 dx9|dx10dmcv4.scene4FFXIVPortsOS
06vant.gvarfixeddx9dx10highlow
T6600-2.2 Dell
Inspiron_1440
4.0GTX470@x1^1
External LCD
5236778160.5|61.430.9|30.958.673.020802242ICH9MWin7/32
GTX470@x1.Opt^2
External LCD
102641097258.4|61.8-90.096.522422252
GTX470@x1.Opt^2
Internal LCD
82947055|39.6-43.240.5-1170^3

^1: (non-Optimus mode) Using 2.57.71 desktop driver. Brief test of 258.96 desktop driver giving the same results.
^2: (Optimus enabled). Using 258.96 mobile driver with Optimus enabled and active. Manage 3D panel giving Preferred Graphics processor option as shown.
^3: Renders OK. Likely a lot lower due to vsync limit by driver affecting benchmarks.


Results >>>

3DMark Vantage - details

Performance test - DirectX 10 - 1280x1024 - Default settings - Feature tests
Setup Main
score
GPU
score
Scene1Scene2Texture
fill rate
Color
fill rate
Pixel
shader
Stream
out
GPU
particles
Perlin
Noise
T6600-2.2+GTX470@x1 P6408 7701 17.7 FPS28.0 FPS31.35 6.33 37.94 FPS 12.33 FPS 17.76 FPS 74.30 FPS
T6600-2.2+GTX470@x1.OptP7788 10972 33.1 FPS31.2 FPS31.38 6.35 37.94 FPS 43.77 FPS 69.01 FPS 74.54 FPS

3DMark06: i7-620M Lenovo X201 + Palit 1GB GTX460 - Courtesy of AgentYura

Setup 3DMark06 SM2.0 SM3.0CPUProxycon Firefly Canyon Deep Freeze
i7-620M 2.66+GTX460@x1
(1280x800)
5526 2198 2035295713.3FPS 23.3FPS 21.1FPS 19.6FPS
i7-620M 2.66+GTX460@x1.Opt
(1280x1024)
14530 7K 7K296255.0FPS 56.4FPS 77.0FPS 69.3FPS

Observations >>>

  • Confirm Optimus is activated seeing the Preferred graphics processor option in the NVIDIA control panel as shown.

  • Optimus setup using an external LCD accelerates the x1 1.0 performance as can be seen by the highlighted RED 3DMark Vantage/3DMark06 scores. This is not placebo.. these apps run noticably faster. Best quick visual indicator to use is 3DMark06. Return To Proxycon (scene1) pans smoothly, unlike when in non-Optimus mode and gives ATI like numbers for this DX9-centric test. Other apps: 3DMark Vantage runs even smoother than before, dmcv4 benchmark sees many scenes render at a straight 150FPS (!!). RE5 is not a good one for comparison as it's being cpu-bound. I even managed to get a 13056 running the GTX470 at >GTX480 850/1950 overclock. An impressive result considering a GTX470 on a low-end desktop scores 13407 on a x16 2.0 PCIe link.

  • Optimus improved the the DX9-centric 3DMark06 FPS scores by 333%(!!)

  • Internal LCD setup using NVIDIA Optimus is always < 60FPS. Likely clamps rendering to be < vsync to conserve resources.

  • If using the Internal LCD setup then get this overlay. NVIDIA are putting their stamp on 'uncertified' Optimus solutions. Notice too that dmcv4 is reporting the 4500MHD as the display adapter.

    UPDATE: 270.51 driver has removed the Confidential overlay when using the internal LCD mode. Older drivers can use the Optimus_overlay-off to remove the overlay.

  • Optimus did not work with the X3100+GTX470 setup, so no performance gain there. Though am working with others to enable Optimus on systems NVIDIA didn't intend to enable it on. Likely NVIDIA are using PCI-IDs to filter out non-certified implementations. See Sony Z11 - NVIDIA Optimus .

  • Optimus' pci-e compression only engages on x1 links as discovered on the x1/x1.Opt and x2 implementation of a DV4-2000 here. IN benchmarks x1.Opt > x2 > x1, though in real-life gaming x2 is just slightly faster than x1.Opt.

  • Means that when NVIDIA release a 75W-120W Fermi graphics card then could realistically do a compact and portable 12V/120W AC adapter+PE4L+GTS4xx setup, like the 12V/120W HD5750. Small enough to take to LAN parties and it will give a significant performance improvement over the IGP.

Hacking Optimus for non-certified solutions >>>

There has been no success at Sony Z11 - NVIDIA Optimus in unlocking the driver to work with a different primary adapter.

I have PMed GenL at ngohq, author of the Hybrid Physx 1.04ff patch, to see if he can assist in unlocking the driver which he is looking at now. It may be valuable too that the DIY eGPU community petition NVIDIA to give us the performance tweaks the Optimus-enhancements provide.

NVIDIA Wishlist - unlock the Optimus PCIe performance tweak for
  1. Any systems regardless of their primary video card. atm requires Intel HD or 4500MHD.
  2. Those with a x2 link.
This was requested by Khenglish on the NVidia forums Optimus with 2 Nvidia cards? (no intel IGP). Since NVidia doesn't appear in any hurry to do that can consider listing this as a grievance in the nVidia methods to inhibit great PC Gaming for all thread.

Acknowledgements >>>

Nautis for asking if Optimus works on DIY eGPU implementation, providing INF and assistance.

Last edited by nando4 : 05-08-2012 at 01:12 AM.
nando4 is offline   Reply With Quote