Jump to content

17" Asus G750JW + GTX680@10Gbps-TB1 (Sonnet EE SE) + Win8.1 [Arise]


Arise

Recommended Posts

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 765m

iGPU = 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?

Link to comment
Share on other sites

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.

post-6299-14494996214302_thumb.png

Link to comment
Share on other sites

  • 1 month later...
  • 7 months later...

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.

post-6299-14494997878903_thumb.jpg

post-6299-14494997879289_thumb.jpg

post-6299-14494997879729_thumb.png

post-6299-14494997880253_thumb.jpg

post-6299-14494997880622_thumb.jpg

post-6299-14494997880929_thumb.jpg

Link to comment
Share on other sites

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 off
echo 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.arg
setpci @setpci.arg
set 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.

post-6299-14494997881471_thumb.png

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?

post-6299-14494997881249_thumb.png

  • Thumbs Up 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 1 month later...

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

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.