2012 14" Dell E6430 + [email protected]+c-EC2 (PE4C 2.1a) + Win8.1 [PJ23]^  

  RSS

PJ23
 PJ23
(@pj23)
New Member
Joined: 2 years ago
Posts: 1
February 2, 2017 6:41 pm  

Introduction

My choice was a Dell E6430. It provides a Gen2 capable express card slot and two free non-whitelisted mPCIE-slots (with some hardware hacking usable for X2). There are successful implementations for the 12", 13" and 14" variants of this device.

 

Setup

  • Hardware
    • Dell Latitude E6430 (previous E6330)
    • CPU: i7-3610QM
    • RAM: 8 GB
    • HDDs
      • SSD: Crucial M500 240GB
      • HDD in DVD bay: WD Red 1TB
    • Adapter:
      • PE4L-EC100A 2.1b
      • PE4C-EC100C/EC060C 2.1a
    • PSU: Silverstone ST45SF
    • Tested GPUs
      • EVGA GeForce GTX460 FPB (unstable with PE4C [email protected], stable @2Gbps)
      • AMD R9 270 (stable)
      • ZOTAC GeForce GTX 670 AMP! Edition (stable)
  • Software
    • Windows 8.1
    • FAT32 formatted USB stick with Grub Bootloader (here) (for UEFI variable changes)
    • optional: DIY eGPU Setup 1.3x (just required for Gen1 link test)

 
TOLUD

Change TOLUD via UEFI variables (preferred way)

A lower TOLUD necessry to free up 32-bit resources to eradicate error 12 on he eGPU. The TOLUD can be changed by modifying a UEFI variable. Boot to the USB GRUB bootloader by press F12 and selecting the UEFI USB stick. Be sure to set your mode from Legacy to UEFI or CSM for this to work.

Any UEFI variables can be reset back to factory state by removing the system battery & disconnecting power for 1-2 minutes.

  • Set TOLUD to 3.0GB by typing the following at the Grub command:
    grub> setup_var 0x1e5 0xb
  • To revert back to default:
    grub> setup_var 0x1e5 0x0

 

Adapter / Booting

Currently I'm using the PE4C with a GTX 670.

General

The E6X30 disables the iGPU and sets the eGPU as the primary display if the eGPU is found during POST and no delay is configured.

Modifying UEFI Variables

Booting to an active iGPU without delay switches or hotplugging is possible by setting the following UEFI variables.

  • Primary Display
    • "internal": setup_var 0x1d4 0x0
    • "revert / auto": setup_var 0x1d4 0x3
  • Internal Graphics
    • "enable": setup_var 0x1d8 0x1
    • "revert / auto": setup_var 0x1d8 0x2
  • Optional PCIe Speed on EC port 3 (no setup 1.x required anymore):
    1. "Gen1": setup_var 0xb4 0x1
    2. "Gen2": setup_var 0xb4 0x2
    3. "revert / auto": setup_var 0xb4 0x0

 

PE4L 2.1b / EC100A

The supported max. delay is too short to fool the BIOS.
Hotplugging eGPU at Bootloader or modifying UEFI variables is required

Got a stable gen2-link with all tested cards (see benchmark section).

 

PE4C 2.1a / EC100C, EC060C

The two delay switches make the PE4C to be much more convenient. Setting both to position 2 or modifying uefi variables lets me cold boot with eGPU connected. PE4C poweres the card automatically on system power on and makes the eGPU appear right after POST.
 
Stability issues (GTX460): I didn't get a stable gen2-link with my GTX 460, random BSODs occured. I've had to use Setup 1.X to throttle the link to gen1 to overcome the crashes. I was in touch with nando4 and bplus because of this issue. Even a 40cm shorter than default EC-Adapter sample (EC060C) didn't resolve the issue. Works with GTX670.
 

Benchmarks

Windows 8.1, E6330, i5-3360M

 

Linux (Ubuntu 14.04)

I did some benchmarks with Linux (Ubuntu 14.04). A external screen was hooked up to the eGPUs and the iGPU was disabled. Perhaps I'll add some tests with Bumblebee/DRI Prime in the future.

My goal was to identify which manufacturer has the best Linux support by comparing it with Windows.

Surprisingly the performance is almost the same.

This are the results: Dell Inspiron E6330 eGPU Comparison

 

Appendix: DSDT override

I did the DSDT override by tutorial but lowering TOLUD via UEFI variable above makes this unnecessary. It's left here for reference purposes.

Additionally I copied my default boot entry and modified the default one to have testsigning enable. This is important, because you can quickly boot without testsigning to disable the DSDT override.

Here's the version I've used, until I got the permanent TOLUD change: Dell E6330: DSDT Override for eGPU - Pastebin.com Please be aware that some addresses may differ with your ones. At least after my E6330 came back after repair some pci addresses were changed. You can use it as reference to fix your DSDT.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


3RYL, xRay and nando4 liked
ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1816
February 14, 2017 6:45 pm  

Dell Latitude/Precision 2nd-4th gen i-core IFR reference files for eGPU configuration

 

here  Download -  1st-gen,  5th-gen and newer are not included as the IFR extraction process doesn't work on those systems' BIOS.

 


What are they for used for?

 The same set of four UEFI variables (TOLUDPrimary Display, Internal GraphicsPCIe Speed) referenced by PJ23 and quoted below can also be used to configure an eGPU on other 2nd-4th gen i-core Dell Latitude or Precision systems. 

 The IFR files are used to find the correct hex number parameter of the set_var command for your Dell system. These vary across different systems. Eg: An E6430 requires 'set_var 0x1e5' for TOLUD.  An E6440 requires 'set_var 0x275' for TOLUD.

 The port number hosting the eGPU will also vary between these systems so run hwinfo64 to identify your eGPU hosting port, then look at your system's IFR list to find that Port's PCIe Speed variable to change it's Gen1/Gen2 settings. 

 

Posted by: PJ23

 Required Software

A FAT32 formatted USB stick with Grub Bootloader (here) decompressed & saved as /EFI/Boot/BOOTX64.efi on the USB stick

 
TOLUD

Change TOLUD via UEFI variables (preferred way)

A lower TOLUD necessry to free up 32-bit resources to eradicate error 12 on he eGPU. The TOLUD can be changed by modifying a UEFI variable. Boot to the USB GRUB bootloader by press F12 and selecting the UEFI USB stick. Be sure to set your mode from Legacy to UEFI or CSM for this to work.

Any UEFI variables can be reset back to factory state by removing the system battery & disconnecting power for 1-2 minutes.

  • Set TOLUD to 3.0GB by typing the following at the Grub command:
    grub> setup_var 0x1e5 0xb
  • To revert back to default:
    grub> setup_var 0x1e5 0x0

 

Adapter / Booting

Currently I'm using the PE4C with a GTX 670.

General

The E6X30 disables the iGPU and sets the eGPU as the primary display if the eGPU is found during POST and no delay is configured.

Modifying UEFI Variables

Booting to an active iGPU without delay switches or hotplugging is possible by setting the following UEFI variables.

  • Primary Display
    • "internal": setup_var 0x1d4 0x0
    • "revert / auto": setup_var 0x1d4 0x3
  • Internal Graphics
    • "enable": setup_var 0x1d8 0x1
    • "revert / auto": setup_var 0x1d8 0x2
  • Optional PCIe Speed on EC port 3 (no setup 1.x required anymore):
    • "Gen1": setup_var 0xb4 0x1
    • "Gen2": setup_var 0xb4 0x2
    • "revert / auto": setup_var 0xb4 0x0

  

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


3RYL liked
ReplyQuote