[Sticky] [SOLVED] DSDT override for error 12 on eGPU  

Page 1 / 2 Next
  RSS

nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
December 23, 2016 11:20 am  

Implementing a 36-bit root bridge DSDT override to fix eGPU error 12 on 4GB+ RAM systems (Windows 10/8/7 only)  [previously posted on 2012-NBR ]

 

Introduction>>>

 

Windows 10/8 test signing mode is used below which can be present compatibility issues with some apps.  Therefore:  

- Macbook owners: pls use these alternate methods  to solve error 12. Apply the DSDT override if unsuccessful there.
- PC notebook owners:  can perform an in-memory DSDT substition to eliminate test signing mode

 

A system's DSDT table root bridge definition (ACPI PNP0A08 or PNP0A03) is usually confined to a reserved 32-bit space. A space the notebook manufacturer budgets to be large enough to host the notebook's PCIe devices and then locks in a firmware watermark "TOLUD" value.  Windows OS honors that root bridge definition and will allocate PCIe devices within it. 

When retrofitting a eGPU, an error 12 (This device cannot find enough free resources that it can use) can occur against the eGPU in device manager. This indicates there is insufficient free 32-bit addressing space available to host the eGPU. An eGPU requires a comparatively large space to allocate into.

The solution is to extend the system's root bridge definition out into 36-bit space to remove these allocation constraints. This is done by extracting your existing DSDT table, adding a 36-bit QWORDMemory  resource entry, compiling the new DSDT table and then loading it as a registry override. 

A Microsoft and Intel method below giving step-by-step instructions on how to do this.  Those having solved the error 12 problem on Thunderbolt eGPU equipped 2014-2016 Macbooks and 2014+ HP ZBooks; as well as older Dell Latitude, HP-Elitebook/Probooks with expresscard/mPCIe eGPU attached.

I'll add that macOS ignores the root bridge constraints. It  allocates freely in the huge 64-bit space. As too does Linux when booted with the 'pci=noCRS' parameter. This DSDT override is not require for either of those OS.

 

Tools required>>>

 

 

Step-by-step DSDT override to provide a 36-bit root bridge >>>

 

1. Copy the ASL compiler into the IASL directory and dump your ACPI tables to disk files (dsdt.asl and dsdt.dat). Do this at the Command Prompt (run as administrator):

 

If 64-bit Windows is installed:

[ cut-and-paste ]

c: & cd \iasl
copy "C:\Program Files (x86)\Windows Kits\10\Tools\x64\ACPIVerify\asl.exe" c:\iasl
asl /tab=DSDT
acpidump -b -z


If 32-bit Windows is installed:

[ cut-and-paste ]

c: & cd \iasl
copy "C:\Program Files (x86)\Windows Kits\10\Tools\x86\ACPIVerify\asl.exe" c:\iasl
asl /tab=DSDT
acpidump -b -z


2) Create a DSDT.aml file extending the root bridge to 36-bit space

 

 macOS users:  go straight to Intel method for a simpler way below to generate a DSDT.aml file

You have either the Microsoft or Intel method option here. They achieve the same thing with the Microsoft method being more cryptic but can yield a faster solution with less compilation problems. It is there presented first. 

Lenovo X220/X230/T420/T430 systems are known to require the Microsoft method as the Intel method fails there.

 

 ___________________________________________
 OPTION 1: Using the Microsoft method
___________________________________________

 

This method fails for:
- HP Elitebook 8440P (truncated dsdt.asl from asl.exe).  Likely fails on other 1st gen i-core Elitebooks/Probooks too.

 

i) Using Notepad++, find the "_CRS" Method section in your c:\iasl\dsdt.asl file. Above it will be a hex table. Make the following two modifications  which are annonated in the screenshots below for easier understanding.

- use Windows' calc in programmers mode to add hexidecimal 2E (46 decimal)  to the value in your "Name(BUF0, Buffer(value)"  line. Eg: "Name(BUF0, Buffer(0x1D4)"  becomes "Name(BUF0, Buffer(0x202)"

- replace "0x79, 0x00" on the hex table end with the following 46 hex values, also ending with "0x79, 0x00". This adds the same 36-bit QWordMemory resource entry shown in the Intel method below.

[ copy-and-paste this table ]

0x8a, 0x2b, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0c, 0x00, 0x00, 0x00, 0xff, 0xff,
0xff, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x79, 0x00   

[ CLICK on images to zoom ]

  

 

 

(ii) compile your editted dsdt.asl file to generate a dsdt.aml file. At the Command Prompt (admin) type:

asl dsdt.asl

This will almost certainly fail with error lines requiring further editting of your dsdt.asl file, like the ones below followed by another compile attempt. A successful compilation with many warnings is OK.

- Return(AR00()) - error: AR00 is not a method -> remove the brackets, eg: AR00() become AR00.
- Zero - error: unexpected ASL term type -> remove 'Zero' completely on the offending line.
- Arg0 - error: unexpected ASL term type  -> remove 'Argo0' completely on the offending line.

 

(iii) Open c:\iasl with Windows explorer.  Compare the size of your created dsdt.aml file against the memory dumped dsdt.dat.  They should be within +/- 10% of each other in size. If they are then proceed to step 3 to load your dsdt.aml into the Windows registry. If not, repeat the above process to make sure no mistakes were made.

As seen with the Elitebook 8440P,  where the generated dsdt.aml was only 15% the size of the memory dumped dsdt.dat,  this process simply does not work for some systems. For such cases use the Intel method instead.

 

_______________________________________
OPTION 2: Using the Intel method
_______________________________________

 
macOS users can use the friendlier MaciASL. Skip to step (iii) below to see DSDT edit required, generate your DSDT.aml file and go to step 3.

 

i).  Save this >> refs.txt file << to your c:\iasl folder. What is it used for? From tonymacx86: The iasl disassembler will attempt to guess the number of arguments [for unresolved symbols not defined in any file] but often guesses poorly. You can correct it by providing the external declarations in a refs.txt text file.   It contains some common (and not so common) missing symbols . . .

 

ii) From the Command Prompt (admin), decompile dsdt.dat to get an output dsdt.dsl text file that can be editted. The refs.txt file is used here.

iasl -da -dl -fe refs.txt dsdt.dat

iii) Using Notepad++, open the resultant c:\iasl\dsdt.dsl file and search for a series of "DWordMemory" resource entries. Under the last DWordMemory entry in that area, typically above the _CRS method, add a 'QWordMemory' (64-bit) entry as shown in red below. The range chosen is in the 36-bit range (< 64GB) to maintain compatibility with the PAE-capable 32-bit Windows. A location above 48GB was chosen to alleviate issues with 32GB equipped systems. Here we use between 48.5GB to 56.25GB. Once systems start shipping with 64GB, this will need to be revised to 64-bit space.

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
   0x00000000,         // Granularity
   0x000A0000,         // Range Minimum
   0x000BFFFF,         // Range Maximum
   0x00000000,         // Translation Offset
   0x00020000,         // Length
   ,, , AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
   0x0000000000000000, // Granularity
   0x0000000C20000000, // Range Minimum,  set it to 48.5GB
   0x0000000E0FFFFFFF, // Range Maximum,  set it to 56.25GB
   0x0000000000000000, // Translation Offset
   0x00000001F0000000, // Length calculated by Range Max - Range Min.
   ,, , AddressRangeMemory, TypeStatic)
})
   Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings

iv) Create a dsdt.aml file with the 'iasl -oa dsdt.dsl' compiler directive. '-oa' disables all optimizations which makes a larger output file with greater likelihood of compilation.  It is unlikely this will succeed first time as the compiler is very strict. In general warnings are acceptable, but errors may require some fiddling like described at [Guide] Patching LAPTOP DSDT/SSDTs (tonymacx86).  Those will need to be corrected with common patches in Common DSDT patches for Ivy/Sandy/Haswell laptops, Consider asking for guidance at tonymacx86.com DSDT forums. DSDT editting alone could have it's own forum. Then try compiling your DSDT again.

iasl -oa dsdt.dsl

 

3.  Load the dsdt.aml file into into the registry as a DSDT override. At the Command Prompt (admin) type:

asl /loadtable dsdt.aml  

 

4. [Windows 10/8.x] Enable TESTSIGNING mode for the registry override to apply.  At the Command Prompt (admin) type:

bcdedit -set TESTSIGNING ON

If get an error like below when do this, then disable SECURE BOOT in your BIOS.

An error has occurred setting the element data
The value is protected by Secure Boot policy and cannot be modified or deleted

An alternative to disabling testsigning in Win8/10 which can be problematic with some apps is to use an in-memory substitution documented in the next post.

 

5. Reboot your system.

 

6. Check you now have a new Large Memory entry in Device Manager as shown below:

 
Should the eGPU auto-allocate into the Large Memory area?

 

This fix was done on a Dell E6540 and Win10 did automatically allocate it's dGPU (as didn't have a eGPU at hand) into the 36-bit space. If you still see error 12 then there are two options to pursue:
 
  1. Re plug'n'play the devices. Go into Device Manager -> Video cards, delete the eGPU. Also go into Device Manager -> System devices and delete the PCI Express Root Port x entries.

     

    Window should now be clever enough to re-allocate the eGPU into 36-bit space upon realizing there is insufficient 32-bit space to host it.

    Can go one step further and delete your eGPU NVidia/ATiAMD driver, restart the system and reload it. That may help as well.

  2. Hard allocate the eGPU into 36-bit PCI space before booting Windows using DIY eGPU Setup 1.30 MBR software. Select PCI compaction->Endpoint=56.25GB (36-bit) and then select Run compact. When prompted for the scope select eGPU.

    The result will be similar to that shown in step 10 above, but with the eGPU rather then the Intel HD iGPU allocated into 36-bit PCI space.

 

Testing results>>>

 
nando4 - HP ZBook 17 G2 + AKiTiO Thunder2 + GTX970. SUCCESS! Allocated the eGPU into 36-bit space.
theitsage - 2016 13" Macbook Pro + AKiTiO Thunder3 + GTX980Ti.  SUCCESS! Allocated the eGPU into 36-bit space.

 

FAQ>>>

 

1. How do I disable the DSDT override?

 The easiest method is to disable TESTSIGNING. If your system fails to boot with the DSDT override in place then boot in Safe Mode and disable TEST SIGNING.

bcdedit -set TESTSIGNING OFF

Alternatively, remove this DSDT key in the registry. Windows will create a new one derived from your system bootup ACPI DSDT table upon restart:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\services\ACPI\Parameters\DSDT

* where XXX are 001, 002, 003 & so on.

and

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ACPI\Parameters\DSDT

 

Edited: 6 hours  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
December 23, 2016 9:11 pm  

GUIDE: an in-memory DSDT override using DIY eGPU Setup 1.30 [MBR partitions only]

 
Windows 10 or 8 enumerates the DSDT table from the in-memory copy on every boot. The only way to change that is to either:

- perform a registry DSDT override with test signing enabled as described in the above post. Do not that some apps are either problematic or refuse to run with test signing enabled.

- perform an in-memory DSDT table substitution using the DIY eGPU Setup 1.30 pre-boot environment which eliminates the need to alter your registry or enable test signing,

 

How to do a in-memory DSDT override using DIY eGPU Setup 1.30?>>>

 

1. Identify your DSDT table's starting address using r-w everything software. This example screenshot shows it is 0xC8FD31B8 for my Dell E6540.

 

2. Obtain the system DSDT then add the QWordMemory entry to extend the root bridge out to 36-bit space as described in step 2 of the first post.

 

3. Compile the new DSDT table and compare the resultant dsdt.aml size to your memory dumped dsdt.dat.  It must be smaller or otherwise it overwrites some additional ACPI tables beyond the DSDT area and will cause Win10/8 boot to crash.

Use methods below to get a dsdt.aml smaller than the memory dumped dsdt.dat:

(i) if using the Intel method, just do a re-compile your dsdt.dsl file with iasl.exe optimizations enabled:

iasl dsdt.dsl

(ii) Remove unnecessary Linux and older Windows entries in the _OSI section of the dsdt.dsl or dsdt.asl file like highlighted below. Then recompile with 'iasl dsdt.dsl' (Intel method with optimizations) or 'asl dsdt.asl' (Microsoft method).

 

4. Copy your resultant dsdt.aml to your Setup 1.30 disk image v:\config by running c:\eGPU\eGPU-setup-mount as admin to get v: drive access. Or if using a USB key, copy to [USB]:\config directory.

 

5. Boot DIY eGPU Setup 1.30.  Load your modified DSDT table into memory with 'pt MEM writefromfile 1 [address of DSDT table] dsdt.aml'. In my case this command was 'pt MEM writefromfile 1 0xC8FD31B8 dsdt.aml'

 

6. Perform a PCI 36-bit PCI compaction on the eGPU by setting the endpoint to match the override, ie: 56.25GB. This may not be strictly necessary as Win10/8 may cleverly relocate devices into the extended 36-bit PCI space. In this example, my Dell E6540 had TOLUD=3.25 meaning there was sufficient 32-bit PCI space for an iGPU+eGPU. I forced allocated the iGPU into 36-bit space using Setup 1.30's compaction just as a proof-of-concept.

 

7. Chainload to Win10. It will enumerate the DSDT based off the in-memory substituted version.

 

8. Automate it. Once confirmed it all works, use startup.bat->!Edit (Setup 1.30 menus) or edit v:\config\startup.bat (Windows) and add your 'pt MEM writefromfile' line from (5) above the 'call chainload' line so you can boot and just select Setup 1.30: automated startup via startup.bat or just let it countdown to select that by default.

 

Does this work?>>>

 

Yes!! Below we see the new 'Large Memory Area' indicating the PCI BUS now extends into 36-bit PCI space with the iGPU relocated into that 36-bit space.

 

 

Avoid Win10/8 UEFI Boot and use CSM/Legacy instead to do this>>>

 

Anybody upgrading to Win10/8 is advised to disable their bios UEFI/secure boot so it uses CSM/Legacy (MBR) boot instead. Then DIY eGPU Setup 1.30 can chainload to Win10/8 without any problems. Otherwise users requiring Setup 1.30 functionality would need to do a GPT-to-MBR partition conversion or a Win10/8 re-install to change the partitions from GPT to MBR.

Edited: 14 hours  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


theitsage liked
ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
December 24, 2016 1:57 am  

If the eGPU won't auto-allocate to the 'Large Memory' area, then revert to using eGPU Setup 1.31 software to hard allocate it in a pre-boot environment.

@everyone, the opening post is presented with an up-to-date DSDT override example using a 4th gen i-core Dell E6540. Unfortunately previous discussion was deleted along with the thread due to an offsite issue.  Sincerest apologies there.

Posted by: SamuelFDias

 

Hello there! 🙂 no problem.

@nado4 I still have the same problem.. the eGpu insists to connect to other Pci root port, instead the one created under the large memory... What should I do?

I already unistall all the ports, the eGPU and the nvidia drivers, but it still not connect to the large memory..

Posted by: Yukikaze

Samuel, I think that Setup 1.30 should be able to fix that, because I believe you can force it to allocate the eGPU to the large/high memory area. I am not sure if there is a way to do it without Setup 1.30, but nando might know how to.

 

Edited: 3 weeks  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


theitsage liked
ReplyQuote
theitsage
Estimable Member
Joined: 2 months  ago
Posts: 168
December 31, 2016 7:48 am  

@nando4 I'm trying this DSDT override on a 2016 15" MBP but got 4 errors in Step 6. Can you give me a hand?

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl   9794:                 0x01020015, Zero), If (((Arg0 == 0x03) || (Arg0 == 0x04)))
Error    6126 -                                     ^ syntax error, unexpected PARSEOP_IF, expecting PARSEOP_CLOSE_PAREN or ',' dsdt.dsl   9795:                 {
Error    6126 -                 ^ syntax error, unexpected '{' dsdt.dsl   9798:                 })
Error    6126 -                  ^ syntax error, unexpected PARSEOP_CLOSE_PAREN dsdt.dsl   9814:
Error    6126 - syntax error, unexpected PARSEOP_METHOD, expecting $end and premature End-Of-File ASL Input:     dsdt.dsl - 9814 lines, 313616 bytes, 3565 keywords Compilation complete. 4 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

ReplyQuote
Plastixx
Eminent Member
Joined: 1 month  ago
Posts: 45
December 31, 2016 9:11 am  

Looks like a syntax error from editing dsdt.dsl.  I prefer to use an editor like VIM for this kind of stuff.


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
January 2, 2017 2:29 am  

I just moved the offending if statement on it's own separate line as shown below. It compiled OK. Pls test that it doesn't BSOD your system when used as a DSDT registry override AND the 'large memory' area appears in Device Manager -> View -> Resources By Type to confirm it was a success.

1483345772-MBPdsdtfix.png

 
 
Posted by: theitsage

 

@nando4 I'm trying this DSDT override on a 2016 15" MBP but got 4 errors in Step 6. Can you give me a hand?

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl   9794:                 0x01020015, Zero), If (((Arg0 == 0x03) || (Arg0 == 0x04)))
Error    6126 -                                     ^ syntax error, unexpected PARSEOP_IF, expecting PARSEOP_CLOSE_PAREN or ',' dsdt.dsl   9795:                 {
Error    6126 -                 ^ syntax error, unexpected '{' dsdt.dsl   9798:                 })
Error    6126 -                  ^ syntax error, unexpected PARSEOP_CLOSE_PAREN dsdt.dsl   9814:
Error    6126 - syntax error, unexpected PARSEOP_METHOD, expecting $end and premature End-Of-File ASL Input:     dsdt.dsl - 9814 lines, 313616 bytes, 3565 keywords Compilation complete. 4 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

   

 
Edited: 2 weeks  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
theitsage
Estimable Member
Joined: 2 months  ago
Posts: 168
January 2, 2017 7:56 pm  

Thank you Nando4! I was able to solve Error 12 on the 2016 15" MacBook Pro following your DSDT Override instructions. No BSOD and Large Memory shows up in Device Manager.

Edited: 2 weeks  ago

nando4 liked
ReplyQuote
migle
New Member
Joined: 2 weeks  ago
Posts: 4
January 5, 2017 2:08 am  

I followed this guide and did the DSDT override but now when I plug my razer core in windows shuts my computer down. Also the aux audio connection no longer works. I’ve tried several times to no avail please help!


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
January 5, 2017 2:21 am  

With DSDT override in place and confirmed as giving a 'large memory' area, you'd boot your system with eGPU plugged in. Then check the status within Device manager to confirm error 12 is going. That is what we solve here.

The hotplugging issue may require further investigation outside of this thread. As a start review the system tray icons to see if can 'eject' your eGPU and aux audio controller to confirm hotplugging is enabled and working for them.

Posted by: migle

 

I followed this guide and did the DSDT override but now when I plug my razer core in windows shuts my computer down. Also the aux audio connection no longer works. I’ve tried several times to no avail please help!

   

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
Sega-Li
New Member
Joined: 2 weeks  ago
Posts: 2
January 6, 2017 12:55 am  

Hi!

I am trying to get to work on my laptop Lenovo B590 connected with EXP GDC v8.4d and eGPU GTX 1050 and installed memory over 2 GB.
But so far without success. If the laptop is to install more than 2GB of RAM with eGPU connected the laptop does not turn on. I turn on the laptop, the lights on the laptop light up and nothing else happens. The signal on the laptop screen does not come and it stays black. If you install only 2 GB of RAM, the laptop turns on, eGPU is determined with an error 12. I tried many ways to solve the problem,including disabled dGPU in the BIOS, disabled the white list, but never succeeded. 
Does it make sense to do a DSDT override, what would the laptop be able to work with eGPU and 8 GB of RAM?


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255

ReplyQuote
Sega-Li
New Member
Joined: 2 weeks  ago
Posts: 2
January 6, 2017 1:36 am  

@nando4

I've done it all, none of this does not work. The laptop does not work in conjunction with eGPU if it has more than 2GB of RAM.

I think that when the laptop is equipped with 8 GB RAM I have a 64-bit PCIe configuration space. If you install only the 2GB laptop is running a 32-bit PCIe configuration space. Maybe I'm wrong. Could you help me?

Edited: 2 weeks  ago

ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
January 6, 2017 1:47 am  

I've given the following links to "DIY" a working solution. Ie: resolve bootup issue and error 12 on your system.

https://egpu.io/forums/pc-setup/fix-dsdt-override-to-correct-error-12/
https://egpu.io/forums/expresscard-mpcie-m-2-adapters/mpcieecngff-m2-resolving-detection-bootup-and-stability-problems/
Plus https://egpu.io/diy-egpu-setup-1-30-nando4/

If still stuck I can offer personalized help.  Contact details at https://egpu.io/diy-egpu-setup-1-30-nando4/

Posted by: Сега-Li

@nando4

I've done it all, none of this does not work. The laptop does not work in conjunction with eGPU if it has more than 2GB of RAM.

I think that when the laptop is equipped with 8 GB RAM I have a 64-bit PCIe configuration space. If you install only the 2GB laptop is running a 32-bit PCIe configuration space. Maybe I'm wrong. Could you help me?

   

Edited: 2 weeks  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
anonymousapparently
New Member
Joined: 1 week  ago
Posts: 4
January 10, 2017 1:47 pm  

Hey!

I get 22 error results when attempting to carry out step 6, so before copying and asking about those on here I'll just make sure that I understood the previous steps.

On step 5, you say to paste in the QWordMemory line underneath the final DWordMemory line.
I did this step as you say, but the D line that you show is further up in the area on my DSDT. Would this make any difference? Is this different in every DSDT and coincidentally I had a line similar to in yours?
Also is there anything which I am supposed to do to that Q line before I paste it into the DSDT in Notepad++?
Finally, can the graphics card itself affect whether error 12 arises? I'm using an i5-2520m version of the Thinkpad X220, and the GPU that I am using is AMD's RX 460. Is it likely that I would miss the error with its equivalent nvidia card, the GTX 750 Ti?

Any help would be much appreciated.
Thanks so much for this tutorial, though, I thought there would be no help around the error 12 problem.


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
January 12, 2017 3:34 am  

@anonymousapparently, I've updated the opening post pointing to the QWordmemory entry being placed above the _CRS method.

Lenovo X220 a known problem eGPU system due to dynamic TOLUD preventing eGPU allocation in 32-bit PCIe space. The TOLUD marker varying between BIOS versions. This system even sometimes needing to boot without the LCD connected to the eGPU to prevent boot hang.

Edited: 5 days  ago

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
anonymousapparently
New Member
Joined: 1 week  ago
Posts: 4
January 12, 2017 11:16 am  

Thank you for the reply and clarification. 🙂
If there are a lot of common problems with the X220 then I'll make a new forum topic and ask on there.


ReplyQuote
sobi123
New Member
Joined: 5 days  ago
Posts: 2
January 12, 2017 3:11 pm  

Hi,

 

I did both the DSDT override and setup, but still no go.

Could you please clarify what should I do after I have compacted the PCIe ? Restart -> then let windows boot as normal ? or some additional steps required ?

When I reenter setup 1.31 I see old values. for TOLUD and PCIe allocation (128MB).

 


ReplyQuote
nando4
Reputable Member
Joined: 2 months  ago
Posts: 255
January 12, 2017 3:27 pm  

@sobi123, hard allocate the eGPU into 36-bit PCI space before booting Windows using Setup 1.31 MBR software.

1. At Windows boot menu, select Setup 1.31.
2. Boot Setup 1.31 -> menu-based
3. Select PCI compaction->Endpoint=56.25GB (36-bit)
4. Select PCI compaction->Run compact. When prompted for the scope select eGPU.
5. Select Chainloader->Test Run
6. At Windows boot menu, select Windows.

Confirm your eGPU is working without error 12. If not, pls reply email for Setup 1.31 support.

 

DIY eGPU Setup 1.31 [was 1.30]eGPUing since '09


ReplyQuote
sobi123
New Member
Joined: 5 days  ago
Posts: 2
January 13, 2017 4:20 am  

Thanks @nando4, that did the trick It wouldn't run without setup 1.31 and compacting. After 2 days of tinkering with DSDT. I needed to cut "If (COND) FPED" statement and paste to where OS's are listed. Also added QWORD. Now that I know what I'm doing it's 2 min.

For reference my config is HP 2570p (i5 3360m) - Win 10 x64 + Asus GTX 1060 6GB Turbo + EXP GDC V8 ExpressCard PCIe x2 + 8GB 1600Mhz. Witcher 3 on Ultra Avg 40-50FPS 1080p.

Could you please put short info on how to automate the boot process with the settings (eg. startup.bat) ?

Many thanks

Sobi


nando4 liked
ReplyQuote
cunning_fridge
Eminent Member
Joined: 1 month  ago
Posts: 23
January 13, 2017 8:06 am  
Posted by: sobi123

 

Thanks @nando4, that did the trick It wouldn't run without setup 1.31 and compacting. After 2 days of tinkering with DSDT. I needed to cut "If (COND) FPED" statement and paste to where OS's are listed. Also added QWORD. Now that I know what I'm doing it's 2 min.

For reference my config is HP 2570p (i5 3360m) - Win 10 x64 + Asus GTX 1060 6GB Turbo + EXP GDC V8 ExpressCard PCIe x2 + 8GB 1600Mhz. Witcher 3 on Ultra Avg 40-50FPS 1080p.

Could you please put short info on how to automate the boot process with the settings (eg. startup.bat) ?

Many thanks

Sobi

   

You need to mount the v:\ by running the egpu-mount-drive.bat in c:\egpu. When v:\ appears navigate to config and open startup.bat

 

If you're using the in-memory DSDT substitution then just add the

  pt MEM writefromfile 1 (memory address) dsdt.aml 

after ':OS'. That worked for me and now it's all automated. 


ReplyQuote
Page 1 / 2 Next

eGPU

1 User(s) Online Join Server
  • AquaeAtrae
  
Working

Please Login or Register