[Sticky] [APP] NVIDIA eGPU support for High Sierra (NVIDIAEGPUSupport)  

Page 1 / 50 Next
 

yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 4:13 am  

Use fr34k's automated Nvidia eGPU macOS 10.13/10.12 installation script to skip instructions below. Thunderbolt 1/2 users on 10.13.4+ require a TB1/2 eGPU support enabler.

Note: macOS 10.13.4 has native TB3 AMD card support . No need for workarounds likes presented below for Nvidia cards.

 


Download NVIDIAEGPUSupport>>

 

macOS versionDownloadSourceNVidia driver
10.13.4 [requires 10.3.3 GPUWrangler ]NVDAEGPUSuppor-v8.zipdevild387.10.10.10.30.103.pkg
10.13.3 [17D102]nvidia-egpu-v7.zipdevild387.10.10.10.25.158.pkg
10.13.3 [17D47]nvidia-egpu-v6.zipdevild387.10.10.10.25.156.pkg
10.13.2 [17C205]nvidia-egpu-v4-su.zipdevild378.10.10.10.25.104.pkg
10.13.2 [17C89]nvidia-egpu-v4-cu.zipdevild378.10.10.10.25.103.pkg
10.13.2 [17C88]nvidia-egpu-v4.zipdevild378.10.10.10.25.102.pkg
10.13.1 [17B1003]nvidia-egpu-v3.zipricosuave0922378.10.10.10.20.109.pkg
10.13.1 [17B48]nvidia-egpu-v2.zipdevild378.10.10.10.20.107.pkg
10.13.0 [17A405]nvidia-egpu-v1.zipdevild378.10.10.10.15.117.pkg
 

 

Source:  NVIDIAEGPUSupport (source fork).  Note: yifanlu's installer package is no longer hosted on GitHub as of Oct-31-2017. 

 


Installation Instructions

  

This is only needed for High Sierra and should enable NVIDIA Web drivers to work with your eGPU enclosure. No plist modifications needed. Installation is simple:

  1. Remove/undo any Info.plist modifications (they aren't needed anymore and might conflict).
  2. Install NVIDIA Web drivers if you haven't done so. This must be done with SIP enabled! Can use this script for Nvidia web drivers installation - https://github.com/vulgo/webdriver.sh
  3. Disable SIP (or just enable unsigned drivers with csrutil enable --without kext)
  4. Install the package linked above!

 


 Successes

 

 


Troubleshooting

 

Q:  I am having problems with the new Nvidia drivers on 10.13.3. What to do?

Posted by: devild

1. Download the webdriver.sh file from here - https://github.com/vulgo/webdriver.sh
2. Execute the following lines (while running the terminal with the path of the webdriver.sh file):

sudo ./webdriver.sh -cu  https://images.nvidia.com/mac/pkg/378/WebDriver-378.10.10.10.25.104.pkg 
sudo ./webdriver.sh -m

 

Q: How do I uninstall the script?

Just delete /Library/Extensions/NVDAEGPUSupport.kext. No other files are created/modified by the installer.

 

Some people report that if it doesn't work initially (both external + internal display black or internal display showing artifacts), you should try:

  1. Logging in without the eGPU attached
  2. Plugging in the eGPU (check in system profiler that it is detected)
  3. Logging out and logging in again

 

Success after the above:

 

If it still does not work, please report: symptoms, model of your mac, model of your egpu box, model of your graphics card, model of your display(s), and the kind of cable you used. I'll try to keep a list here to triage the problem.

 

External display connected to eGPU does not show an image (black screen) but OSX thinks a display is active and connected. Might see cursor on the black external screen. Might show "fuzzy" desktop image on the internal display.

Edited: 2 weeks  ago

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


destrocci, tiagoamaro, fr34k and 28 people liked
ReplyQuote
andrewtch
(@andrewtch)
Active Member
Joined:6 months  ago
Posts: 6
October 24, 2017 10:25 am  

Hi, I registered on this forum just to say that you are AWESOME!

Is NVIDIA already detected as CUDA device with your fix?

Is it hot-pluggable? )

Edited: 6 months  ago

tiagoamaro and Eydawn liked
ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 11:06 am  

@yifanlu: Good job. Is the attached-gpu-control-path now visible under ioreg display properties and "AGPM::start" & "gpuDict by GPU display" lines appear in the system log?

If you can, try to run Apple's new AGDCDiagnose that prints all active GPUs, accelerators and FBs.

Edited: 6 months  ago

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


theitsage liked
ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 2:43 pm  

(EDIT: that dump was incorrect as I forgot I turned SIP back on so my driver didn't get loaded)

I've also seen that the tree in IORegistryExplorer (as well as the key-values) match what's constructed in Sierra (with the exception that my NVDAPatched classes are used). It also says NVIDIA GeForce 1060 6GB in system profiler. I think the drivers are loaded correctly, it's just a matter of getting them to work correctly.

Edited: 6 months  ago

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830

nando4, theitsage and lexine liked
ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 5:43 pm  
Posted by: andrewtch

Hi, I registered on this forum just to say that you are AWESOME!

Is NVIDIA already detected as CUDA device with your fix?

Haven't tried, but I'm sure that's not an issue provided everything else works 😉

Posted by: andrewtch

Is it hot-pluggable? )

 No but even the Sonnet box + AMD card doesn't support hot plugging. You just get a notification telling you to log out or if there's multiple users connected, to restart. Getting that message to show up won't be too difficult, but that's not my focus right now.

 

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 5:48 pm  

Am I missing something ? Is this really a thing : -) is it working already ? 🙂

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 5:49 pm  

CUDA works as well. Here's the AGDCDiagnose output (GTRACEDATASTREAM data excluded):

goalques-MBP:~ goalque$ sudo /System/Library/Extensions//AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a

AGDCDiagnose Version: 3.16.19
## ScanPort - Start ##

[1] IOService:/IOResources/AppleGPUWrangler
Vendor: Apple [0000106b]: AppleGPUWrangler [8 10000] (0)

[2] IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebufferController/IntelFBClientControl
Vendor: AppleIntelFramebufferController [0000106b]: IntegratedGPU [1 10000] (0)
FBs: 3
Ports: 0xe mst:0xc ddc:0xc aux:0xe
Streams: dp:0 dvi:0 mst:2 max:3
FB: 00 : Group: 0 Address[ 1.0], Flags:[online fixed ], Stream:N/A
FB: 01 : Group: 0 Address[ 0.0], Flags:[offline ], Stream:N/A
FB: 02 : Group: 0 Address[ 0.0], Flags:[offline ], Stream:N/A
Port: 01 : [DP, 1.1, 4 x HBR] set [4 x 3_24 : status: 3333] Sink OUI:0-16-250 eDeaa [101-68-19-101-97-97] HW Version: 16 FW Version:2.11
Port: 02 : empty
Port: 03 : empty
## Register Dump Port 1 - Start ##
000000: 0x11 0x0a 0x84 0x41 0x00 0x00 0x01 0x80 0x02 0x00 0x00 0x00 0x0f 0x0b 0x00 0x00
Reg: 000000: 11 : DPCD_REV: 1.1
Reg: 000001: 0a : MAX_LINK_RATE: HBR
Reg: 000002: 84 : MAX_LANE_COUNT: 4, TPS3_SUPPORTED: 0, ENHANCED_FRAME_CAP: 1
Reg: 000003: 41 : MAX_DOWNSPREAD: 0.5% down, NO_AUX_HANDSHAKE_LINK_TRAINING: 1
Reg: 000004: 00 : NORP: 0
Reg: 000005: 00 : DOWNSTREAMPORT_PRESENT: DWN_STRM_PORT_PRESENT: 0, DWN_STRM_PORT_TYPE: [0] DisplayPort, FORMAT_CONVERSION: 0, DETAILED_CAP_INFO_AVAILABLE: 0
Reg: 000006: 01 : MAIN_LINK_CHANNEL_CODING: ANSI 8B/10B
Reg: 000007: 80 : DOWN_STREAM_PORT_COUNT: DWN_STRM_PORT_COUNT: 0, MSA_TIMING_PAR_IGNORED: 0, OUI: 1
Reg: 000008: 02 : RECEIVE_PORT0_CAP_0: LOCAL_EDID_PRESENT: 1, ASSOCIATED_TO_PRECEDING_PORT: 0
Reg: 000009: 00 : RECEIVE_PORT0_CAP_1: BUFFER_SIZE: 32
Reg: 00000a: 00 : RECEIVE_PORT1_CAP_0:
Reg: 00000b: 00 : RECEIVE_PORT1_CAP_1:
Reg: 00000c: 0f : I2C Speed: 1Kbps 5Kbps 10Kbps 100Kbps
Reg: 00000d: 0b : eDP_CONFIGURATION_CAP: ALTERNATE_SCRAMBLER_RESET_CAPABLE: 1, FRAMING_CHANGE_CAPABLE: 1
Reg: 00000e: 00 : TRAINING_AUX_RD_INTERVAL: 100 us, EXTENDED_RECEIVER_CAPABILITY_FIELD_PRESENT: NO
Reg: 00000f: 00 : ADAPTER_CAP: FORCE_LOAD_SENSE_CAP: 0, ALTERNATE_I2C_PATTERN_CAP: 0
000020: 0x00 0x00 0x00
Reg: 000020: 00 : FAUX_CAP: FAUX_CAP: 0
Reg: 000021: 00 : MSTM_CAP: MST_CAP: 0
Reg: 000022: 00 : NUMBER_OF_AUDIO_ENDPOINTS: 0
000100: 0x0c 0x84
Reg: 000100: 0c : LINK_BW_SET: 3_24
Reg: 000101: 84 : LANE_COUNT_SET: LANE_COUNT_SET 4, ENHANCED_FRAME_EN: 1
000107: 0x00
Reg: 000107: 00 : DOWNSPREAD_CTRL: SPREAD_AMP: 0, MSA_TIMING_PAR_IGNORE_EN: 0
00010a: 0x01
Reg: 00010a: 01 : eDP_CONFIGURATION_CAP_SET: ALTERNATE_SCRAMBLER_RESET_CAPABLE: 1, FRAMING_CHANGE_CAPABLE: 0
000111: 0x00
Reg: 000111: 00 : MSTM_CTRL: UPSTREAM_IS_SRC:0 UP_REQ_EN:0 MST_EN:0
000200: 0x01 0x00 0x77 0x77 0x81 0x01 0x00 0x00
Reg: 000200: 01 : SINK_COUNT: SINK_COUNT 1, CP_READY: 0
Reg: 000202: 77 : LANE0: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000202: 77 : LANE1: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000203: 77 : LANE2: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000203: 77 : LANE3: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000205: 01 : SINK_STATUS: RECEIVE_PORT_0_STATUS: 1, RECEIVE_PORT_1_STATUS: 0
Reg: 000206: 00 : LANE0: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000206: 00 : LANE1: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000207: 00 : LANE2: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000207: 00 : LANE3: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
068028: 0x00
Reg: 068028: 00 : HDCP_CAPABLE: 0, REPEATER: 0
06921d: 0x00 0x00 0x00
Reg: 06921d: 00 : HDCP_CAPABLE: 0, REPEATER: 0
Reg: 06921f: 00 : VERSION: 0
## Register Dump Port 1 - End ##

[3] IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebufferController/IntelFBClientControl/AppleGraphicsDevicePolicy/AGDPClientControl
Vendor: AppleIntelFramebufferController [0000106b]: IntegratedGPU [1 10000] (0)
FBs: 3
Ports: 0xe mst:0xc ddc:0xc aux:0xe
Streams: dp:0 dvi:0 mst:2 max:3
FB: 00 : Group: 0 Address[ 1.0], Flags:[online fixed ], Stream:N/A
FB: 01 : Group: 0 Address[ 0.0], Flags:[offline ], Stream:N/A
FB: 02 : Group: 0 Address[ 0.0], Flags:[offline ], Stream:N/A
Port: 01 : [DP, 1.1, 4 x HBR] set [4 x 3_24 : status: 7777] Sink OUI:0-16-250 eDeaa [101-68-19-101-97-97] HW Version: 16 FW Version:2.11
Port: 02 : empty
Port: 03 : empty
## Register Dump Port 1 - Start ##
000000: 0x11 0x0a 0x84 0x41 0x00 0x00 0x01 0x80 0x02 0x00 0x00 0x00 0x0f 0x0b 0x00 0x00
Reg: 000000: 11 : DPCD_REV: 1.1
Reg: 000001: 0a : MAX_LINK_RATE: HBR
Reg: 000002: 84 : MAX_LANE_COUNT: 4, TPS3_SUPPORTED: 0, ENHANCED_FRAME_CAP: 1
Reg: 000003: 41 : MAX_DOWNSPREAD: 0.5% down, NO_AUX_HANDSHAKE_LINK_TRAINING: 1
Reg: 000004: 00 : NORP: 0
Reg: 000005: 00 : DOWNSTREAMPORT_PRESENT: DWN_STRM_PORT_PRESENT: 0, DWN_STRM_PORT_TYPE: [0] DisplayPort, FORMAT_CONVERSION: 0, DETAILED_CAP_INFO_AVAILABLE: 0
Reg: 000006: 01 : MAIN_LINK_CHANNEL_CODING: ANSI 8B/10B
Reg: 000007: 80 : DOWN_STREAM_PORT_COUNT: DWN_STRM_PORT_COUNT: 0, MSA_TIMING_PAR_IGNORED: 0, OUI: 1
Reg: 000008: 02 : RECEIVE_PORT0_CAP_0: LOCAL_EDID_PRESENT: 1, ASSOCIATED_TO_PRECEDING_PORT: 0
Reg: 000009: 00 : RECEIVE_PORT0_CAP_1: BUFFER_SIZE: 32
Reg: 00000a: 00 : RECEIVE_PORT1_CAP_0:
Reg: 00000b: 00 : RECEIVE_PORT1_CAP_1:
Reg: 00000c: 0f : I2C Speed: 1Kbps 5Kbps 10Kbps 100Kbps
Reg: 00000d: 0b : eDP_CONFIGURATION_CAP: ALTERNATE_SCRAMBLER_RESET_CAPABLE: 1, FRAMING_CHANGE_CAPABLE: 1
Reg: 00000e: 00 : TRAINING_AUX_RD_INTERVAL: 100 us, EXTENDED_RECEIVER_CAPABILITY_FIELD_PRESENT: NO
Reg: 00000f: 00 : ADAPTER_CAP: FORCE_LOAD_SENSE_CAP: 0, ALTERNATE_I2C_PATTERN_CAP: 0
000020: 0x00 0x00 0x00
Reg: 000020: 00 : FAUX_CAP: FAUX_CAP: 0
Reg: 000021: 00 : MSTM_CAP: MST_CAP: 0
Reg: 000022: 00 : NUMBER_OF_AUDIO_ENDPOINTS: 0
000100: 0x0c 0x84
Reg: 000100: 0c : LINK_BW_SET: 3_24
Reg: 000101: 84 : LANE_COUNT_SET: LANE_COUNT_SET 4, ENHANCED_FRAME_EN: 1
000107: 0x00
Reg: 000107: 00 : DOWNSPREAD_CTRL: SPREAD_AMP: 0, MSA_TIMING_PAR_IGNORE_EN: 0
00010a: 0x01
Reg: 00010a: 01 : eDP_CONFIGURATION_CAP_SET: ALTERNATE_SCRAMBLER_RESET_CAPABLE: 1, FRAMING_CHANGE_CAPABLE: 0
000111: 0x00
Reg: 000111: 00 : MSTM_CTRL: UPSTREAM_IS_SRC:0 UP_REQ_EN:0 MST_EN:0
000200: 0x01 0x00 0x77 0x77 0x81 0x01 0x00 0x00
Reg: 000200: 01 : SINK_COUNT: SINK_COUNT 1, CP_READY: 0
Reg: 000202: 77 : LANE0: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000202: 77 : LANE1: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000203: 77 : LANE2: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000203: 77 : LANE3: CR_DONE: 1, CHANNEL_EQ_DONE: 1, SYMBOL_LOCKED: 1
Reg: 000205: 01 : SINK_STATUS: RECEIVE_PORT_0_STATUS: 1, RECEIVE_PORT_1_STATUS: 0
Reg: 000206: 00 : LANE0: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000206: 00 : LANE1: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000207: 00 : LANE2: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
Reg: 000207: 00 : LANE3: VOLTAGE_SWING: 0, PRE-EMPHASIS: 0
068028: 0x00
Reg: 068028: 00 : HDCP_CAPABLE: 0, REPEATER: 0
06921d: 0x00 0x00 0x00
Reg: 06921d: 00 : HDCP_CAPABLE: 0, REPEATER: 0
Reg: 06921f: 00 : VERSION: 0
## Register Dump Port 1 - End ##

[4] IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDC/AppleGraphicsDevicePolicy/AGDPClientControl
Vendor: NVIDIA [000010de]: DiscreteGPU [2 10002] (0)
WARNING: getDeviceCaps failed

[5] IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDC
Vendor: NVIDIA [000010de]: DiscreteGPU [2 10002] (0)
WARNING: getDeviceCaps failed
## ScanPort - End ##

## Display Metrics - Start ##
Display Metric Tool Version: 1.2
Display Metric Plugin Version: 1.2 AGDC Version: 3.16.19
Dumping Metric Logs: currentlog(6) logsize(32768) numberlogs(819)
Total lines: 7
7768604> kAGDCPluginMetricsDisplayInfo(4108) Port: 1 dpcd_rev:0x11 max_link_rate:0xa max_lane_count:0x84 max_downspread:0x41 downstreamport_present:0 mstm_cap:0 number_of_audio_endpoints:0
7768846> kAGDCPluginMetricsMonitorInfo(4109) Port: 1 mfgName:B]M mfgID:0xbad productID:0xf00d
7769710> kAGDCPluginMetricsDisplayInfo(4108) Port: 1 dpcd_rev:0x11 max_link_rate:0xa max_lane_count:0x84 max_downspread:0x41 downstreamport_present:0 mstm_cap:0 number_of_audio_endpoints:0
7769946> kAGDCPluginMetricsMonitorInfo(4109) Port: 1 mfgName:B]M mfgID:0xbad productID:0xf00d
8927709> kAGDCPluginMetricsDisplayInfo(4108) Port:14 dpcd_rev:0x12 max_link_rate:0x14 max_lane_count:0xc4 max_downspread:0x1 downstreamport_present:0 mstm_cap:0 number_of_audio_endpoints:0
8928189> kAGDCPluginMetricsMonitorInfo(4109) Port:14 mfgName:SAM mfgID:0x4c2d productID:0xb80

## Display Metrics - End ##

 

## Mux state - Start ##

## Mux state - End ##

## PD - Start ##
running 358 sec (started Tue Oct 24 20:10:55 2017, now Tue Oct 24 20:16:53 2017)
boardID: Mac-473D31EABEB93F9B
featureMask: 0x100000
platformFlags: 0
extraSupportFlags: 0
wranglerFlags: 0
launcher[0]: acpiNode 'IGPU', state 1, managerState 1, vendor class/id/version 0x5 0x106b 0x10000
launcher[1]: acpiNode 'RP05', state 1, managerState 1, vendor class/id/version 0x5 0x106b 0x10000
gpu[0]: index=0 state=0x5 (Published) events=() dispPolicyState=0x1 (Managed) dispPolicyLaunchIndex=0
gpu 0x715f flags 0xb0000000 (published,quiet,pubSched)
gpu 0x715f pci 0x1000001fe IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x715f gpuc 0x000000000 (null)
gpu 0x715f agdp 0x100000446 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebufferController/IntelFBClientControl/AppleGraphicsDevicePolicy/AGDPClientControl
gpu 0x715f accel 0x1000003f4 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/IntelAccelerator
gpu 0x715f fb0:-1 0x1000003f6 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0
gpu 0x715f fb1:-1 0x1000003f7 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1
gpu 0x715f fb2:-1 0x1000003f8 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@2
gpu[1]: index=1 state=0x5 (Published) events=() dispPolicyState=0x1 (Managed) dispPolicyLaunchIndex=1
gpu 0xfbb9 flags 0xb0000002 (published,removable,quiet,pubSched)
gpu 0xfbb9 pci 0x1000002b5 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0
gpu 0xfbb9 gpuc 0x000000000 (null)
gpu 0xfbb9 agdp 0x1000004f2 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDC/AppleGraphicsDevicePolicy/AGDPClientControl
gpu 0xfbb9 accel 0x1000003e7 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/nvAccelerator
gpu 0xfbb9 fb0:0 0x1000003fd IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-A@0/NVDAPatched
gpu 0xfbb9 fb1:1 0x100000411 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-B@1/NVDAPatched
gpu 0xfbb9 fb2:2 0x100000417 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-C@2/NVDAPatched
gpu 0xfbb9 fb3:3 0x10000041c IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-D@3/NVDAPatched
gpu 0xfbb9 fb4:4 0x100000421 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-E@4/NVDAPatched
gpu 0xfbb9 fb5:5 0x100000426 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@1/IOPP/display@0/NVDA,Display-F@5/NVDAPatched

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 5:52 pm  
Posted by: lexine

Am I missing something ? Is this really a thing : -) is it working already ? 🙂

Yes, my 2016 13" MBP (non-touch) and HL23T is nearly plug-and-play 🙂

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
andrewtch
(@andrewtch)
Active Member
Joined:6 months  ago
Posts: 6
October 24, 2017 5:55 pm  

Marvellous, I can upgrade now. CUDA was the only thing I actually needed, and all this with some lines of code.

Btw, @goalque, what is needed to implement hotplug without crashing on this solution?


ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 5:56 pm  

Wait really? My 2016 13" MBP doesn't work. But I didn't run automate-eGPU.sh or Rastafabi’s eGPU enabler. Are you telling me that it will work after running that? No changes needed?

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 5:58 pm  

Well as per yifanlu first post I thought it was not possible to get pass via login screen ... but as per your screens it looks like it was fixed ? 

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
Rycco
(@rycco)
Reputable Member
Joined:1 year  ago
Posts: 225
October 24, 2017 6:02 pm  

Is this already a thing? I don't need eGPU acceleration, I just need the monitor to display the image thru the eGPU. Is it already possible?

mid-2017 15" Macbook Pro RP555 + GTX1080i@32Gbps-TB3 (Mantiz Venus) + macOS & Win10


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 6:12 pm  
Posted by: yifanlu

Wait really? My 2016 13" MBP doesn't work. But I didn't run automate-eGPU.sh or Rastafabi’s eGPU enabler. Are you telling me that it will work after running that? No changes needed?

I didn't do any extra steps. Just the NVIDIAEGPUSupport.kext in /Library/Extensions and rebuilt cache (a snippet from automate-eGPU.sh). What's your eGPU hardware?

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Rastafabi
(@rastafabi)
Trusted Member
Joined:1 year  ago
Posts: 92
October 24, 2017 6:18 pm  
Posted by: yifanlu

Wait really? My 2016 13" MBP doesn't work. But I didn't run automate-eGPU.sh or Rastafabi’s eGPU enabler. Are you telling me that it will work after running that? No changes needed?

It used to work this way, before macOS 10.13 High Sierra was released. 😉

Creator of the update-redundant macOS 10.12 eGPU enabler package for NVIDIA

AKiTiO Thunder 2 PCIe Expansion Box
NVIDIA GTX 750Ti
MacBook Pro 9.2 ••• until being stolen.
Thanks to the community for helping getting me going again.


theitsage liked
ReplyQuote
Excubitoro
(@excubitoro)
Eminent Member
Joined:1 year  ago
Posts: 48
October 24, 2017 6:24 pm  

So to get this straight, you only need to do yifanlu's step and this? "rebuilt cache (a snippet from automate-eGPU.sh)"

 

What's a snippet from automate-eGPU, is it a part of the script? I have a 1070 gaming box, if I do yifanlu's step from github, do I also need some part of automate-eGPU to get this to work?


ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 6:26 pm  

I guess it should be the RebuildCaches function 😉 ... but I am waiting for confirmation as well ... I lost patience and downgrade to Sierra over weekend 😀

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 6:27 pm  
Posted by: goalque
Posted by: yifanlu

Wait really? My 2016 13" MBP doesn't work. But I didn't run automate-eGPU.sh or Rastafabi’s eGPU enabler. Are you telling me that it will work after running that? No changes needed?

I didn't do any extra steps. Just the NVIDIAEGPUSupport.kext in /Library/Extensions and rebuilt cache (a snippet from automate-eGPU.sh). What's your eGPU hardware?

I have a 2016 MBP with touchbar running 1060 6GB on an HP OMEN Accelerator. It might also be because I've mucked around with the OS so much in testing and debugging the problem. I'll do a clean install when I get home and report back.

 

I've updated the code to support Tesla devices as well. Also I've posted a prebuild kext in the releases section.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


imcalledandy, lexine, theitsage and 1 people liked
ReplyQuote
punk.kaos
(@punk-kaos)
Active Member
Joined:1 year  ago
Posts: 15
October 24, 2017 6:36 pm  

Just had to pop in and say thanks! Compiled your driver, rebooted, and Boom. It just worked.

My Macbook Air (13-inch, 2017) with my homebrewed dock(Echo ExpressCard PRO to GDC Beast) With a GTX750ti just worked. Right out of the gate!

Edited: 6 months  ago

ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:1 year  ago
Posts: 2281
October 24, 2017 6:36 pm  

This escalated quick! Any chances NVIDIAEGPUSupport.kext works better with older Nvidia GPUs than 10-series?

Numerous implementation guides


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 6:39 pm  
Posted by: Excubitoro

So to get this straight, you only need to do yifanlu's step and this? "rebuilt cache (a snippet from automate-eGPU.sh)"

 

What's a snippet from automate-eGPU, is it a part of the script? I have a 1070 gaming box, if I do yifanlu's step from github, do I also need some part of automate-eGPU to get this to work?

I am not absolutely sure if there are other changes... I will confirm with a clean macOS 10.13 installation on the Late 2013 13" MBP.

function RebuildCaches().

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 6:43 pm  

Well, I am always for some testing ... upgrading to HS now : -)

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 6:45 pm  
Posted by: theitsage

This escalated quick! Any chances NVIDIAEGPUSupport.kext works better with older Nvidia GPUs than 10-series?

If you look at the code, it's pretty simple. I'm just telling IOAccelerator to ignore the fact that we're a tunneled device to bypass this check added in High Sierra. In theory it would make it the same behavior as in Sierra. The other thing it does is add the IOPCITunnelCompatible flag to its own Info.plist so you are not required to modify any other kext. I don't think it would make any hardware run better.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:1 year  ago
Posts: 2281
October 24, 2017 7:06 pm  
Posted by: yifanlu

If you look at the code, it's pretty simple. I'm just telling IOAccelerator to ignore the fact that we're a tunneled device to bypass this check added in High Sierra. In theory it would make it the same behavior as in Sierra. The other thing it does is add the IOPCITunnelCompatible flag to its own Info.plist so you are not required to modify any other kext. I don't think it would make any hardware run better.

Thank you for explaining the inner workings of NVIDIAEGPUSupport.kext. You won EPIC 1st post on eGPU.io forum.

Numerous implementation guides


yifanlu liked
ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 7:06 pm  

Any clue why Apple is replacing IOFramebuffer with ATIFramebuffer? For plug-and-play?

/System/Library/Extensions/AMDFramebuffer.kext/Contents/Resources/GpuWrangler.command

As if this was left for us... 😉 no real reason to use PlistBuddy 🙂 It led me to create automate-eGPU.kext for older AMDs.

IOFramebuffer is deprecated:

https://developer.apple.com/documentation/kernel/ioframebuffer?language=objc

Hopefully they continue supporting 'ndrv' drivers.

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
gh3go
(@gh3go)
Active Member
Joined:7 months  ago
Posts: 10
October 24, 2017 7:17 pm  

Dunno but for me it is not working, it always recognise the generic

csrutil is disabled, kext put in place, and cache updated

Any idea?

MBP 2016 touch + Sonnet + 980Ti


ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 7:18 pm  
Posted by: goalque

Any clue why Apple is replacing IOFramebuffer with ATIFramebuffer? For plug-and-play?

/System/Library/Extensions/AMDFramebuffer.kext/Contents/Resources/GpuWrangler.command

As if this was left for us... 😉 no real reason to use PlistBuddy 🙂 It led me to create automate-eGPU.kext for older AMDs.

IOFramebuffer is deprecated:

https://developer.apple.com/documentation/kernel/ioframebuffer?language=objc

Hopefully they continue supporting 'ndrv' drivers.

There is no ATIFramebuffer class. What's changed is the IOMatchCategory which after hours of searching I still have no firm grasp of what it's used for. I've fully reversed ATIGpuWrangler when I thought that was the main culprit (spoiler: it's useless) and how it works is that in AMD-land, ATIGpuWrangler is the first match driver and it sets up the other drivers as well as the ports. However in NVIDIA-land, NVDAStartup(Web) does a similar task--but not in the same way which is why that IOFramebuffer::attach function fails. It's a bit complicated and I might write a longer post in the future, but the upshot is that the AMD driver setup process is slightly different and I believe at some point it used IOMatchCategory to "find" the other parts of the drivers. But in the end they decided to introduce new keys like "LoadController" instead.

Posted by: gh3go

Dunno but for me it is not working, it always recognise the generic

csrutil is disabled, kext put in place, and cache updated

Any idea?

MBP 2016 touch + Sonnet + 980Ti

 I recently committed some changes that are completely untested. If you build the commit from yesterday, it might work better.

Edited: 6 months  ago

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


theitsage liked
ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 7:32 pm  

grep -r ATIFramebuffer /System/Library/Extensions/*
grep -r isEGPUSupported /System/Library/Extensions/*

Interesting keywords and binary matches. AMDSupport especially. Something is in there. We are, of course, curious. We don't reverse engineer.

I am sure Apple takes care of it when the Spring 2018 comes closer 🙂

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


theitsage liked
ReplyQuote
gh3go
(@gh3go)
Active Member
Joined:7 months  ago
Posts: 10
October 24, 2017 7:41 pm  

I do confirm for me the commit `f233ad3ccf11b8752425a8e4974c0606f5552db4` works, later one the card is not recognised


theitsage liked
ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 7:48 pm  

For those of you who have it working (me not included 🙁 ), can you test if  https://github.com/mologie/NVWebDriverLibValFix is needed?

Specifically

... issue with transparent windows without content, which appear for applications that use Metal and have Library Validation enabled.

I want to know if I need to bundle NVWebDriverLibValFix.kext as well because I'm pretty sure egpu users will suffer from the metal+library validation problems as well.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


ReplyQuote
ondert
(@ondert)
Eminent Member
Joined:1 year  ago
Posts: 43
October 24, 2017 7:56 pm  

What? So, can I make Aorus Gaming Box work on High Sierra? Aorus Gaming Box is my favorite because it's the most compact one and also provides 100w over the cable. Will I be able to use power delivery and usb hub on the chasis?

 edit: I don't know how to thank you if it works.

Edited: 6 months  ago

ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 7:58 pm  

Please be aware that during NVIDIA drivers install SIP needs to be enabled, otherwise you will get the errors and it won't work properly.

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
punk.kaos
(@punk-kaos)
Active Member
Joined:1 year  ago
Posts: 15
October 24, 2017 8:04 pm  

I am NOT using  NVWebDriverLibValFix.kext an things appear to be fine. All windows are drawing correctly, including Metal ones. Their "issues" page says High Sierra shouldn't need it...


ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined:6 months  ago
Posts: 41
October 24, 2017 8:49 pm  
Posted by: punk.kaos

I am NOT using  NVWebDriverLibValFix.kext an things appear to be fine. All windows are drawing correctly, including Metal ones. Their "issues" page says High Sierra shouldn't need it...

Thanks for the confirmation.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + GTX1060@16Gbps-TB3 (HP OMEN Accelerator) + macOS10.13 & Win10


punk.kaos liked
ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:1 year  ago
Posts: 830
October 24, 2017 9:01 pm  

A clean macOS 10.13 reinstallation (17A405) done. Late 2013 13" MBP + reference GTX 980 works great via Apple's TB2-to-TB3 adapter. Bundle version 1.

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:7 months  ago
Posts: 22
October 24, 2017 10:11 pm  

Got it working MBP 13 2017 TouchBar & Aorus Gaming Box... I downloaded the NVIDIAEGPUSupport-f233ad3ccf11b8752425a8e4974c0606f5552db4 commit, builded the kext copy over to /Library/Extensions, updated the owner and rebuild the cache ... external screen is working, cuda-z as well .. but I am not sure on display tab I still have :

1

2

However rest seems ok :

3
4

 

 

Edited: 6 months  ago

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


nando4, MagicPi and goalque liked
ReplyQuote
Page 1 / 50 Next
  
Working

Please Login or Register