Quantcast DIY eGPU experiences - Page 229

+ Reply to Thread
Page 229 of 1167 FirstFirst ... 129179219225226227228229230231232233239279329729 ... LastLast
Results 2,281 to 2,290 of 11665
Like Tree18Likes

Thread: DIY eGPU experiences

  1. #2281
    Banned
    Join Date
    Dec 2008
    Location
    YellowBrickRd.AU
    Posts
    7,931
    Rep Power
    0

    Default Re: DIY ViDock Experiences

    Quote Originally Posted by AzzMan View Post
    That doesn't work either. Let's go through this from the beginning. From a fresh Win7 32-bit install:
    ..
    9) Open the NVIDIA control panel. Manage 3D panel does NOT give Preferred Graphics processor option.
    ..
    What am I missing?
    The NVidia Optimus driver needs to find an active primary Intel HD graphics. Some bios will use your GTX460 as the primary if it sees it upon boot.

    So ensure you boot with the eGPU switched off. Boot to Win7 with the Intel HD (native LCD) active, standby, poweron eGPU, resume system.

    1st-gen i-core and core2duo Dell Latitudes are not allowing 36-bit PCI Compaction

    2nd-gen i-core Latitudes are OK as found in REQ: bios mods to make Vostro/Latitude eGPU friendly .

    These systems cannot do a > 3GB of RAM DIY eGPU implementation as have TOLUD=3.5GB. This is seen by perusing the PCI BUS resource in Device Manager and seeing it starts at D0000000 (3.5GB). With the iGPU needing 256MB + system devices in the last 256MB, there is then no free 256MB in 32-bit PCI space to host a desktop video card.

    While DIY eGPU Setup 1.x can relocate the iGPU or eGPU to 36-bit space, booting up Win7 will find them moved to 32-bit space OR produce an error 12 if no room for it.

    Investigation has identifed that Windows uses the ACPI bios entry PNP0A03 or PNP0A08 to determines the root bridge address range with these systems having an entry that is limited only to 32-bit space. The simplest way to identify if your system is 36-bit PCI allocation compliant is to look for a "large memory" PCI BUS entry in Device Manager as shown below. If don't have it you are limited to 32-bit PCI allocation only.


    Dell Inspiron 1440: TOLUD=3.5GB with a rare "large memory" PCI BUS, 4.5GB to 12.375GB allowing 36-bit PCI allocation

    This will also be seen in Linux, 64-bit only, 'lspnp' -vv output:
    Spoiler :
    Code:
    00:00 PNP0a03 (unknown)
        state = active
        allocated resources:
    	bus 0x0-0xff
    	io 0x0-0xcf7 window
    	io 0xcf8-0xcff
    	io 0xd00-0xffff window
    	mem 0xa0000-0xbffff window
    	mem 0xd0000-0xdffff window
    	mem 0xe0000000-0xf7ffffff window
    	mem 0xfc000000-0xfebfffff window
    	mem 0xfec10000-0xfecfffff window
    	mem 0xfed1c000-0xfed1ffff window
    	mem 0xfed90000-0xfed9ffff window
    	mem 0xfeda7000-0xfedfffff window
    	mem 0xfee10000-0xff9fffff window
    	mem 0xffc00000-0xffdfffff window
    	mem 0x120000000-0x317ffffff window
    How to get 36-bit PCI compaction working?

    Obviously the solution would be to alter the ACPI entry to extend the root bridge to 36-bit space. This was done successfully on a E4300 as part of Avlan's DSDT override.

    Linux has a "pci=nocrs" kernel option to ignore the ACPI bridge allocation. Is there an equivalent option in Windows?

    The other way of course is to free up a 32-bit PCI window by contact Dell and asking for a bios with a TOLUD set to 3.25 or 3.0GB. There is no reason to have such a high TOLUD with 64-bit OS. This has been requested in the thread REQ: bios mods to make Vostro/Latitude eGPU friendly .

    Until a fix is made available consider running with just 3GB by physically removing a 2GB RAM module and replacing it with a 1GB RAM module.

    It appears too that these systems allow bootup with the external gpu as the primary video adapter. That is another workaround for *all* non-Optimus setups.
    Last edited by User Retired 2; 10th November 2011 at 06:50 PM.

  2. #2282
    Notebook Enthusiast
    Join Date
    Nov 2010
    Posts
    12
    Rep Power
    7

    Default Re: DIY ViDock Experiences

    When I put my laptop in sleep mode, power on the DIY ViDock and then open the lid (which wakes it up - power light is solid instead of blinking), all I get is a black screen.

    Laptop wakes up normally if the ViDock is not turned on.

    My laptop only has 3GB, so I don't think PCI allocation/compaction is an issue (x1 works great, I just want Optimus to work).

    I may have forgotten to mention that I have PE4H 2.4. Doesn't this have a timer to bypass the whole boot>sleep>vidock>wake process? Is there something I need to do to enable this timer?

    When I boot with DIY ViDock connected, device manager does not list Intel HD Graphics. I assume this is the problem - As you said, Optimus needs to find an active primary Intel HD graphics. Do I turn on the laptop and then DIY ViDock right after? Or DIY ViDock first, then the laptop? Does it matter with PE4H 2.4?

    Any other suggestions?
    Last edited by AzzMan; 8th December 2010 at 09:34 AM.

  3. #2283
    Notebook Enthusiast
    Join Date
    Apr 2009
    Posts
    24
    Rep Power
    10

    Default Re: DIY ViDock Experiences

    Quote Originally Posted by avlan View Post
    You need 260.99 modded drivers (GTS450 supported since 260.xx). I've posted modified nvam.inf that works with GTS450, although there is a problem with external monitor in my Gigabyte GTS450, no idea why - sometimes work, sometimes not.

    As far as I remember, my GTS450 hit about 8.5k in Performance 3DMark Vantage.
    Avlan, I've modified the INF and tried to install 260.99, it works, but Optimus is not enabled. Are you positive those modifications should be enough to make the 260.99 driver working (on VAIO Z)?

  4. #2284
    Notebook Enthusiast
    Join Date
    Apr 2009
    Posts
    24
    Rep Power
    10

    Default Re: DIY ViDock Experiences

    Guys, I've noticed another problem in my system - when I connect the video card to the laptop, the "SYSTEM" process ("NT Kernel & System") starts taking about 20-30% of all CPU resources. Sometimes it doesn't happen, but usually it does. As I understand the "Sytem" process shows a consolidated result for all drivers in the system, so something is probably wrong with the NVidia driver.. Does anybody have a similar issue? Any ideas how to fix?

  5. #2285
    Switchable Graphics Guy
    Join Date
    Aug 2008
    Posts
    1,163
    Rep Power
    16

    Default Re: DIY ViDock Experiences

    Let me see if I can get a 260.99 update out for you guys. I was trying to wait for the 265 release with optimus which should be coming out any day now. The 265 release should have some improvements for optimus including punkbuster fix As far as I know. Until then...
    Notebook Models: *(VPCZ122) Vaio Z* | (VGNZ590) Vaio Z | (VPCSC1) Vaio S. | My driver mods and packages @ LaptopVideo2Go
    Unofficial drivers/mods do not go through the same testing that officially released drivers do. Use them at your own risk!
    Please take time to thank the fantastic teams at Nvidia, and elsewhere, who put in so much work to program and put together the driver packages.

  6. #2286
    Notebook Enthusiast
    Join Date
    Apr 2009
    Posts
    24
    Rep Power
    10

    Default Re: DIY ViDock Experiences

    Quote Originally Posted by Nautis View Post
    Let me see if I can get a 260.99 update out for you guys. I was trying to wait for the 265 release with optimus which should be coming out any day now. The 265 release should have some improvements for optimus including punkbuster fix As far as I know. Until then...
    Nautis, you are da man!!! Thank you, sir...

  7. #2287
    Switchable Graphics Guy
    Join Date
    Aug 2008
    Posts
    1,163
    Rep Power
    16

    Default Re: DIY ViDock Experiences

    Nah Nando is the man.. I just mod drivers.

    I am still going to mod some up for you guys, but since I have not had much time lately for my favorite hobby, I figured I would write up a DIY (keeping in the spirit of this project). If you already have modding experience and know where the Section### and nv_miscBase__### areas are for your GPU you can skip to Part 2 below.

    Optimus Retrofit (DIY Edition)

    >>>>Part 1<<<<

    Identifying your graphics hardware and its Hardware ID.

    Open Control Panel -> Device Manager.
    Double Click “Display Adapters”.
    Double Click “NVIDIA Geforce…..” .
    Click the “Details Tab”.
    For Device Name: Under Property choose “Device Description”. It should be the only thing there.
    For Device ID: Under Property choose “Hardware IDs”. It should be the one on the second line.
    Note: You can easily copy the information on the details tab by right clicking and choosing copy.

    Example
    My Device Name: NVIDIA GeForce 9300M GS
    My Hardware ID: PCI\VEN_10DE&DEV_06E5&SUBSYS_9025104D

    This should be all the information you need to locate your device in the INF.
    Breaking down the Hardware ID

    PCI\ = Connection Type (PCI Bus)
    VEN_ = Vendor ID (10DE = NVIDIA)
    DEV_ = Device ID (06E5 = GeForce 9300M GS)
    SUBSYS_ = SubSystem ID (9025104D = Specific Sony Vaio Z hardware configuration)

    Locating the sections related to your graphics hardware in the Nvidia INF.
    It is usually easiest for me when modifying a driver install information file (INF) to start with the strings at the bottom.

    Example
    Code:
    [Strings]
    NVIDIA_DEV.06E5.01 = "NVIDIA GeForce 9300M GS"
    We can see in the example this INF supports my graphics device as we have found both its Device ID and its Device Name. Now that we know this particular INF supports my graphics device we can continue.

    The next and one of the most critical areas for hardware identification is located near the top under [NVIDIA_SetA_Devices.NTamd64.6.1] for 64bit or [NVIDIA_SetA_Devices.NTx86.6.1] for 32bit.

    Example
    64bit
    Code:
    [NVIDIA_SetA_Devices.NTamd64.6.1]
    %NVIDIA_DEV.06E5.01% = Section002, PCI\VEN_10DE&DEV_06E5&SUBSYS_9025104D
    32bit
    Code:
    [NVIDIA_SetA_Devices.NTx86.6.1]
    %NVIDIA_DEV.06E5.01% = Section002, PCI\VEN_10DE&DEV_06E5&SUBSYS_9025104D
    Breaking down this example
    • %NVIDIA_DEV.06E5.01% = links to the [Strings] section at the bottom of the INF.
    • Section002 = Tells the installer to use [Section002] for this device.
    • PCI\VEN_10DE&DEV_06E5&SUBSYS_9025104D = The Hardware ID of my Vaio Z. This is the part that the INF uses to detect if this driver is appropriate for my system.

    One thing to note is that if the SubSystem ID is missing or excluded the installer will use the Device ID to identify the hardware. This means if we shorten it to PCI\VEN_10DE&DEV_06E5 it will install on all NVIDIA GeForce 9300M GS’ with the Device ID of 06E5. This is very useful if you need to create an INF that works on more than just specific systems.

    It is important to note that NTamd64.6.1 applies to Windows 7 64bit and NTamd64.6.0 applies to Windows Vista 64bit (for 32bit it is NTx86.6.1 = Windows 7 and NTx86.6.0 = Windows Vista) . The string information under these lines only applies to the corresponding operating system.

    Moving to [Section002] we see things like AddReg, CopyFiles, DelReg and RegisterDLLs.
    • AddReg = Settings that will be added to the registry when the drivers are installed.
    • DelReg = Settings that will be deleted from the registry when the drivers are installed.
    • CopyFiles = Files that will be copied when the drivers are installed.
    • DelFiles = Files that will be deleted when the drivers are installed.
    • RegisterDLLs = These will be the DLLs that will be registered when the drivers are installed.
    • Feature Score = Is basically a driver rank for our purposes the most essential information is F6 = Windows Vista and E6 = Windows 7.


    The strings after the equal sign are some of the final locations that we need to pay attention to. Nvidia likes to mark specific sections with numbers after the string if there is more than one section required in the INF.

    Example
    Code:
    [Section002]
    …
     AddReg = nv_miscBase_addreg__02
    …
    CopyFiles = nv_sysDrivers_copyfiles
    …
    RegisterDLLs = nv_common_registerdll__02
    In this example we can see the settings under [nv_miscBase_addreg__02] will be added to the registry. The files under [nv_sysDrivers_copyfiles] will be copied to their marked locations. The DLLs under [nv_common_registerdll__02] will be registered.

    One of the most important sections to pay attention to here is nv_miscBase_addreg__##. This section is where the majority of the settings that will be used specifically for your graphics hardware are located. There are usually multiple nv_miscBase_addreg__## entries because each is unique to the individual graphics hardware of which a typical INF supports many.

    And with that we have the general flow of the install information file when the driver is installed. In my case using the previous examples, the flow to find the settings specific to my graphics hardware is easiest to read as:
    [Strings] -> [NVIDIA_SetA_Devices.NTamd64.6.1] -> [Section002] -> [nv_miscBase_addreg__02]

    Now that we have some of the basic understanding of the flow and function of the INF we can move on to some specifics.

    >>>>Part 2<<<<

    In order for Optimus to work properly with 260+ series drivers the following must be in the INF under the correct section for your GPU vs standard/non-Optimus: (Note: This may be slightly different depending on driver version. I expect it to change slightly with the 265 series.)

    These must exist:
    Code:
    [Section###]
    NVBusUpperFilter = nvpciflt
    NVSupportOptimus = 1
    
    [Section###.Services]
    AddService = nvpciflt, , nv_nvpciflt_serviceInstall
    (Note: You can find the correct [Section###] for your GPU using the information above under Part 1.)
    this must also exist in the INF
    Code:
    [nv_nvpciflt_serviceInstall]
    ErrorControl = 0
    ServiceBinary = %12%\nvpciflt.sys
    ServiceType = 1
    StartType = 0
    and the following must exist under the correct miscBase
    Code:
    [nv_miscBase_addreg__##]
    HKLM,"Software\NVIDIA Corporation\Global\CoprocManager",OptimusEnhancements,%REG_DWORD%,1
    HKLM,"Software\NVIDIA Corporation\Global\CoprocManager",ShowContextMenu,%REG_DWORD%,1
    HKLM,"System\CurrentControlSet\Services\nvlddmkm",EnableCoproc,%REG_DWORD%,1
    HKLM,"System\CurrentControlSet\Services\nvlddmkm",PreferCoprocOverHybrid,%REG_DWORD%,1
    for 64bit include:
    Code:
    HKLM,"Software\Wow6432Node\NVIDIA Corporation\Global\CoprocManager",OptimusEnhancements,%REG_DWORD%,1
    for some this line might be required for others it may not:
    Code:
    HKR,,EnableCoprocPowerControl,%REG_DWORD%,4
    for proper audio through HDMI on some systems with Optimus also include:
    Code:
    HKR,,HDAudioCoprocDynamic,%REG_DWORD%,0x00000001
    (Note: You can find the correct [nv_miscBase_addreg__##] for your GPU using the information above under Part 1.)

    It is usually easiest to identify drivers that are capable of being modified for use with Optimus by looking for the Display.Optimus sub-folder. Verde drivers by nature should always be Optimus capable.
    Last edited by Nautis; 8th December 2010 at 06:10 PM.
    Notebook Models: *(VPCZ122) Vaio Z* | (VGNZ590) Vaio Z | (VPCSC1) Vaio S. | My driver mods and packages @ LaptopVideo2Go
    Unofficial drivers/mods do not go through the same testing that officially released drivers do. Use them at your own risk!
    Please take time to thank the fantastic teams at Nvidia, and elsewhere, who put in so much work to program and put together the driver packages.

  8. #2288
    Notebook Enthusiast
    Join Date
    Apr 2009
    Posts
    24
    Rep Power
    10

    Default Re: DIY ViDock Experiences

    Quote Originally Posted by Nautis View Post
    Nah Nando is the man.. I just mod drivers.

    I am still going to mod some up for you guys, but since I have not had much time lately for my favorite hobby, I figured I would write up a DIY (keeping in the spirit of this project). If you already have modding experience and know where the Section### and nv_miscBase__### areas are for your GPU you can skip to Part 2 below.

    Optimus Retrofit (DIY Edition)
    Awesome... Thank you for sharing your valuable experience, Nautis! By tomorrow we'll probably have tens of new Optimus-enabled driver packages (and thousand more questions to you) I'm going to start messing with it tonight.

  9. #2289
    Notebook Enthusiast
    Join Date
    Nov 2010
    Posts
    12
    Rep Power
    7

    Default Re: DIY ViDock Experiences

    Would the above guide accomplish anything for me if I can't get Intel HD Graphics and the GTX 460 to appear in the device manager at the same time?


    I guess part of my confusion lies with this:

    Given my normal setup: Dell Latitude E6410 with Core i-5 M520, 3GB RAM and 32MB Intel HD Graphics. Display only shown on external display - laptop's display is off.

    Given my DIY ViDock hardware: EVGA GTX460 768MB attached to PE4H 2.4, both powered by an Antec Basiq 500W PSU, with the mini HDMI cable connecting the PE4H to the expresscard.

    Given there are no NVIDIA drivers on my laptop, and the DIY ViDock is not connected to the laptop.

    What steps do I take to get everything running with Optimus?


    Scenario 1: If I connect the DIY ViDock to the laptop and connect the external display to the GTX460 and then turn on the laptop, Windows 7 will load, detect the GTX460 and install the drivers automatically. However, Intel HD Graphics is NOT listed in the device manager. I can then: 1) download and install the latest drivers OR 2) download and extract the 258.96 drivers, put the modified INF file in the extracted folder and run Setup.exe. In both cases, I have a standard, working x1 link without Optimus.

    Scenario 2: Boot in to Windows 7. Connect the DIY ViDock to the laptop and external display and turn it on. Nothing happens. No changes in Device Manager and I continue to use Intel HD Graphics. Internal display is ON, external display is black. This happens if the GTX460 drivers are on the machine AND if they've been removed.

    In both Scenario 1 and 2: I cannot install the Optimus drivers downloaded from NVIDIA because it says: "The NVIDIA setup program could not locate any drivers that are compatible with your current hardware."

    Scenario 3: Boot in to Windows 7. Put it in Sleep mode. Connect the DIY ViDock to the laptop and external display and turn it on. Wake the computer. I get a black screen (I've waited up to 5 minutes). Same thing happens if I connect the ViDock to the laptop, but leave the external display disconnected. This happens if the GTX460 drivers are on the machine AND if they've been removed.


    The only way I can get the GTX460 to do anything is to connect and turn on the DIY ViDock before turning on the laptop. Otherwise Intel HD Graphics is listed in Device Manager but GTX460 is not.

    Do I need to use the Setup 1.x ? Did I skip a step somewhere?

    I would really appreciate some help with this!

    Edit: Do I need an NVIDIA graphics chip in my laptop for Optimus to work? Or can it work with just Intel HD Graphics + external GTX 460?
    Last edited by AzzMan; 8th December 2010 at 03:46 PM.

  10. #2290
    Banned
    Join Date
    Dec 2008
    Location
    YellowBrickRd.AU
    Posts
    7,931
    Rep Power
    0

    Default Re: DIY ViDock Experiences

    Quote Originally Posted by AzzMan View Post
    Scenario 3: Boot in to Windows 7. Put it in Sleep mode. Connect the DIY ViDock to the laptop and external display and turn it on. Wake the computer. I get a black screen (I've waited up to 5 minutes). Same thing happens if I connect the ViDock to the laptop, but leave the external display disconnected. This happens if the GTX460 drivers are on the machine AND if they've been removed.
    ..
    I would really appreciate some help with this!
    You need to apply Scenario 3 to get your Intel HD active if want the Optimus functionality. Are you sure you doing a 'sleep' and not a hibernate? A hibernate will NOT work. A sleep generally does work.

    If the sleep doesn't work for you, then yes, you'll need to use DIY ViDock Setup 1.x to 'configure' your GTX460, perform PCI compaction and chainload into Win7 with an active and working setup. No sleep will be needed then.
    Last edited by User Retired 2; 8th December 2010 at 04:25 PM.

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -4. The time now is 09:01 AM.
Powered by vBulletin® Version 4.2.0
Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.
SEO by vBSEO 3.6.0