Arise Posted October 7, 2013 Share Posted October 7, 2013 Hi there.I'm trying to get a GTX 680 running using a thunderbolt connection to my Asus G750JW notebook, but so far can't get both cards working at the same time.eGPU = MSI GTX 680 dGPU = Asus GTX 765miGPU = there is no iGPU, Asus disabled this entirely.So far, using compaction (3.87 & 4 GB) I was able to replace the dGPU with the eGPU, so eGPU was working fine while dGPU showed error code 12.After struggling to make this work, I tried with DSDT substitution (Windows 8.1), I've created my file, then went in Setup 1.3 and called the command:pt MEM writefromfile 1 0x5CB12228 dsdt.aml(0x5CB12228 is my DSDT start address)then tried again compaction on 36bit space, but no success, the computer restarts after trying to load Windows 8.I can confirm the Large Memory Block, if I don't compact, and go to Windows 8.1, I see the Large Memory Block entry there, but eGPU shows Code 12 as usual.Any ideas? Quote Link to comment Share on other sites More sharing options...
Arise Posted October 7, 2013 Author Share Posted October 7, 2013 One more question. If I go with the DSDT substitution, and I compact the dGPU to the 36bit space (only dGPU, no eGPU connected) why I still see some resources in the lower space? Shouldn't be everything starting over 1.0000.0000 address? I'm ok with memory addresses allocated in the green rectangles, don't understand the red ones. Quote Link to comment Share on other sites More sharing options...
johnnyculebra Posted November 14, 2013 Share Posted November 14, 2013 Have you had any luck getting the eGPU working on the Asus? I have been doing research for awhile now and haven't read to many success stories with thunderbolt eGPU's on windows based computers. The laptop I've been leaning toward is Gigabytes P35k. Quote Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted November 14, 2013 Moderator Share Posted November 14, 2013 For me, I compact around the eGPU only (36bit). I leave the dGPU alone and it ends up working.I also am running Win8.1 and perform a DSDT override on boot. 1 Quote Link to comment Share on other sites More sharing options...
mrkrad Posted November 17, 2013 Share Posted November 17, 2013 man is it possible to hot plug an nvidia card? I was thinking if you could do that, perhaps you could bridge an X1 or x8 lane across ethernet for remote video like those usb 3.0 external docking stations. but virtualized Quote Link to comment Share on other sites More sharing options...
Arise Posted June 24, 2014 Author Share Posted June 24, 2014 Tech Inferno Fan>> Full detail of this eGPU implementation is at eGPU – Connecting an external video card to a notebook (DIY implementation) (lab501.net) Hello guys. Updating here some details. So, long time ago (took a long break from this project) managed to get this almost working with help from nando. Basically this works almost ok, I need to resort at some tricks to get eGPU working, but anyway... So, first I need to boot in Windows 8.1 and disable dGPU. Microsoft display basic adapter will take place of Nvidia driver. Then I reboot Windows and go to Setup 1.3. I use a modified version of my pci.bat to compact things. Then chainload in Windows 8.1 In Windows 8.1 I have eGPU working and dGPU disabled. Right click in device manager and I can enable the dGPU BUT my laptop display goes black! dGPU works just fine as it can be used for physX and I can output to an external display over HDMI). I'm splitting this in two parts, so first of all, here are the pics. As a recap, laptop is Asus G750JW, dGPU is Nvidia 765m, Thunderbolt card is Sonnet Echo Express. Quote Link to comment Share on other sites More sharing options...
Arise Posted June 24, 2014 Author Share Posted June 24, 2014 Ok, to continue, first, this is my pci.bat. It was based on some of the bats nando sent me, and I adjusted a couple of commands and tried to comment it as good as possible. There are a couple of parameters/flags I don't understand their meaning (nothing in documentation about those) and some of them I don't understand why are they set like that. :: ----------------------------------------------------@echo offecho Performing PCI allocation for G750JW based of Tech Inferno Fan analysis . . .:: COMMAND asks for the word-sized command register.:: 4.w is a numeric address of the same register.:: COMMAND.l asks for a 32-bit word starting at the location of the command register, i.e., the command and status registers together.:: Southbridge port5@echo -s 0:1c.4 COMMAND=0 1c.w=6020 20.l=8E908090 24.l=ADF18EA1 3C.b=13 > setpci.arg:: 1c.w=6020 means 1c.b=20 (IOBR - I/O Base Register) & 1d.b=60 ( IOLR - I/O Limit Register):: 20.l=8E908090 means 20.w=8090 (MBR - Memory Base Register) & 22.w=8E90 (MLR - Memory Limit Register):: 24.l=ADF18EA1 means 24.w=8EA1 (PMBR - Prefetchable Memory Base Register) & 26.w=ADF1 (PMLR - Prefetchable Memory Limit Register):: 3C.b=13 means Interupt line (IRQ=13h = 19decimal):: Underlying Bridges in order from high to low@echo -s 5:0.0 COMMAND=0 1c.w=5131 20.l=8E908390 24.l=ADF19A01 >> setpci.arg@echo -s 6:3.0 COMMAND=0 1c.w=4131 20.l=8E908390 24.l=ADF19A01 >> setpci.arg@echo -s 8:0.0 COMMAND=0 04.w=7 1c.w=3131 20.l=8E908390 24.l=ADF19A01 28.l=0 30.w=0 3c.b=13 >> setpci.arg:: 28.l=0 means 28.l=0 (Prefetchable Base Upper 32 Bits):: 30.w=0 means 30.w=0 (I/O Base Upper 16 Bits)@echo -s 9:3.0 COMMAND=0 04.w=7 1c.w=3131 20.l=8E908D90 24.l=ADF1A401 28.l=0 30.w=0 3c.b=13 >> setpci.arg:: 0 IO Space 1 indicates that the device's IO address decoders responds to PCI IO accesses. :: 1 Memory Space 1 indicates that the device responds to PCI memory accesses. :: 2 Bus Master 1 indicates that the device may act as a bus master. :: 3 Special Cycles 1 indicates that the device is enabled to monitor for PCI special cycles. :: 4 Memory Write and Invalidate Enable 1 indicates the device can generate the Memory Write and Invalidate command. 0 indicates that the device uses Memory Write commands instead. :: 5 VGA Palette Snoop 1 indicates the device should perform snooping of IO writes to VGA's Color Palette registers. It is required for display devices. :: 6 Parity Error Response 1 indicates the device can report parity errors. On parity error the device will assert PERR#. This bit is required for all devices except chipsets and devices that don't deal with Application/OS data. :: 7 Stepping Control 1 indicates that the device is enabled to perform address/data stepping. Devices that sometimes use stepping must allow this bit to be read/writeable and init it to 1 after reset. :: 8 SERR# Enable 1 indicates that the device can drive the SERR# line. This along with bit 6 must be set to report address phase parity errors. This bit is required for all devices except chipsets and devices that don't deal with Application/OS data. :: 9 Fast Back-to-Back Enable 1 indicates that the device is capable of performing Fast Back-to-Back transactions with different targets in the first and second transaction. :: 10:15 Reserved:: bit 0123456789...:: 04.w= 6 hex means 110 = 011 (big endian) - no I/O space access?:: 04.w= 7 hex means 110 = 111 (big endian):: bit 0 I/O Space Controls a device's response to I/O Space accesses.:: bit 1 Memory Space Controls a device's response to Memory Space accesses.:: bit 2 Bus Master Controls a device's ability to act as a master on the PCI bus. A value of 0 disables the device from generating PCI accesses. A value of 1 allows the deviceto behave as a bus master.:: The NVidia eGPU@echo -s a:0.0 COMMAND=0 04.w=400 0C.b=20 24.w=3F81 10.l=82000000 14.l=98000000 1C.l=A0000000 3C.b=13 50.b=1 88.w=140 >> setpci.arg:: 04.w= 400 hex means 10000000000 = 00000000001... (big endian) :: Bit 10 - This bit disables the device/function from asserting INTx#. A value of 0 enables the assertion of its INTx# signal. :: A value of 1 disables the assertion of its INTx# signal. This bit's state after RST# is 0. :: 88.w =140 means link control register ( 140hex = 0000000101000000 = big endian 0000001010000000 ) starting from bit 0, means bit 6 and bit 8 are set:: bit 6 Common Clock Configuration (CCC) this component and the component at the opposite end of this Link are using a common reference clock.:: bit 8 Enable Clock Power Management (ECPM):: note to self: dGPU also have bits 01,2 set ( Active State Power Management (ASPM) Control: This field controls the level of ASPM supported on the given PCI Express Link.)@echo -s a:0.1 COMMAND=0 10.l=8E9FC000 3c.b=14 >> setpci.arg:: Re-enable CMD@echo -s 0:1c.4 COMMAND=7 -s 5:0.0 COMMAND=7 -s 6:3.0 COMMAND=7 -s 8:0.0 COMMAND=7 >> setpci.arg@echo -s 9:03.0 COMMAND=7 -s a:0.0 COMMAND=6 -s a:0.1 COMMAND=6 >> setpci.argsetpci @setpci.argset pci_written=yes:: ---------------------------------------------------- Like said, to use the pci.bat like this I have to disable dGPU in Device Manager and later I can enable it. The problem is that after this thing, my laptop display goes black. Nvidia Control Panel is aware of this issue (my black panel) because it shows it like this. Also it won't let me to select the display. Added pictures with the issue in Nvidia Control Panel. First screen is with only my dGPU connected, second one is with dGPU not able to send the signal to the laptop screen. Like mentioned, after activation dGPU works just fine, can be used for physX and can display over HDMI. Questions: As I believe the issue could be related to the display being allocated to the Microsoft Basic Display Adapter or something in the first place, I assume that if I manage to boot with both GPUs enabled (eGPU+dGPU), then the black screen issue won't happen. So if I can get a dump of the current PCI space in Windows, would be possible to fix the pci.bat so that I can get get in Windows with both GPUs? Is there any way I can reset the display, so after dGPU enabling it won't go black and stay black until shutdown? 1 Quote Link to comment Share on other sites More sharing options...
Arise Posted June 30, 2014 Author Share Posted June 30, 2014 Reinstalled Windows 8.1 on a new SSD drive and I'm trying again with Setup 1.3 to compact the PCI space.The problem is the previous trick with disable dGPU, compact, reenable dGPU no longer works, for a reason beyond my understanding, the reenabled dGPU will come with error Code 12.Tried again with the original Windows 8.1 and it works back fine. Quote Link to comment Share on other sites More sharing options...
Orby Posted August 16, 2014 Share Posted August 16, 2014 Would the newer G750JM (860m) be able to use an eGPU just like your model? I'm asking because the newer models have optimus and I'm wondering if that adds any complication. I don't have one yet but am interested in buying one.Sent from my iPhone using Tapatalk Quote Link to comment Share on other sites More sharing options...
Tech Inferno Fan Posted October 6, 2014 Share Posted October 6, 2014 @Arise , there is a new subsection DIY e-GPU Guides with user submitted guides to help other DIY eGPUs along. Did you want to clean up this thread for submission into that area? Quote Link to comment Share on other sites More sharing options...
Arise Posted October 7, 2014 Author Share Posted October 7, 2014 Hey @Tech Inferno Fan, what am i supposed to do exactly?Never made the full guide here cause i never managed to boot directly into windows in a clean way, without disabling the dgpu, and reenabling it later. Still not satisfied with the result. Quote Link to comment Share on other sites More sharing options...
pedrovitordf Posted December 21, 2015 Share Posted December 21, 2015 Hello Arise, I have a G750J with a 765M GEFORCE GTX and I am looking in the possibility of using the nvidia surround, but unfortunately with only my GPU this project is not going to be possible. You thing with the eGPU could be possible? IF yes how you make it iGPU , easy project or very difficult? THANK YOU VERY MUCH Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.