Jump to content
EwinRacing Flash Series Gaming Chairs
r00x

2012 Retina Macbook Pro eGPU on OS X - working but internal dGPU is doing the rendering?!

Recommended Posts

Hi there, lots of useful info on here! Still I need to ask a few questions as my setup isn't quite working!

 

I've a 2012 rMBP on El Capitan 10.11.2 and I used the automate_eGPU.sh script to quickly sort out the modification of files and installation of NVIDIA web drivers. 

 

I'm testing it with an NVIDIA GTS450 which is connected via a Sonnet Echo Pro and PE4C 3.0. SW1 is set to 2 (PERST# delay 9.8sec), SW2 to 1 (CLK no delay).

 

It's picked up fine in OS X and I can drive an external monitor with it no problem. However, it doesn't appear to be doing any rendering - all the legwork is still being done by the internal GT650M!!! It shows each screen as being driven by the GT650M in About This Mac, and testing with games seems to corroborate this. What gives? I can't find any examples online of other people who've had this problem (at least in OS X). The GTS450 is correctly identified in System Information.

 

 

A second question... I know there isn't a way to get the output on the internal LCD on Windows on this Macbook due to it having a dGPU and Apple's rubbish firmware, but is that the case in OS X? The Intel HD4000 is accessible there, does that mean I could funnel the graphics back to the internal LCD or is it just impossible on all counts?

 

Share this post


Link to post
Share on other sites

Please try connecting an external monitor to the eGPU and setting that display to be the primary display in OSX.

Share this post


Link to post
Share on other sites

Hi Dschijn, I did try fiddling with the display arrangements. I could change the mirroring settings between no mirroring (extend displays - GT650m did all the rendering), mirror the internal display (GT650m does everything again) and mirror the external display on the eGPU (in which case, it *said* the eGPU was doing all the work).

 

However, it only claimed the eGPU was doing anything. It actually seemed to be idle. So by mirroring the external display on the eGPU, it made About This Mac show each screen as being driven by the eGPU - however, when trying something like Unigine Heaven it was clear the internal dGPU was still doing the rendering.

 

Not sure how to proceed, the eGPU is powering up and detected and working perfectly well to drive the monitor but I can't get it to actually do any rendering even by changing the mirroring settings!!

 

Is this what you meant by setting it to be the primary display? I'm not aware of any other option to control primary/secondary displays in OS X... perhaps if I drag the menu bar to the eGPU display in the Display Arrangement window maybe?

 

Share this post


Link to post
Share on other sites

You should extend the "view" so that you not mirror and make the external (connected directly to the eGPU, not the Mac or TB) monitor the primary. Now all the apps started on the main display will work with the eGPU. The internal will still run on the dGPU.

Maybe the system info doesn't display it correctly. Test it with a benchmark like Ungine Heaven…

Share this post


Link to post
Share on other sites

Ah, I see!! I disabling mirroring and dragged the menu bar to the external monitor in Display Arrangement (ostensibly setting it as the primary?) and now it works. I can hear the Vregs in the eGPU whine under load and the performance is much greater in Unigine! Thanks very much for the tip.

 

It seems I can also drag the window back to the internal LCD and it still uses the eGPU, however, I have a new problem... The performance seems to skip a lot... as in every second or so it pauses for about 100ms? This is true even in the normal OS X desktop - for instance if I drag a window around, it moves smoothly but skips/judders every other second. Or for instance playing a YouTube video, it seems to judder at regular intervals instead of playing smoothly. (side note: if I play YouTube fullscreen, and leave it in focus, it plays smoothly...) is this a common issue?

Share this post


Link to post
Share on other sites

I can test that later this week (currently everything is in a box). I would guess that the eGPU you are using is way too old. Maybe ask goalque if he has a clue?!

Share this post


Link to post
Share on other sites

I'm experiencing the same issue. EVGA GTX 970 + Akitio 2 on a 2014 15" MacBook Pro under OSX 10.11.3. The card is identified and installed correctly with the 0.96 eGPU script.. but performance on the Desktop lags really bad with stutters, animation problems etc. Running a game though is fine... I also tried different drivers but the problem remains the same.

 

any help would be greatly appreciated.

Share this post


Link to post
Share on other sites

Hi willex - what happens when you run stuff fullscreen? For instance if you maximise the Finder/browser window/YouTube? I've done a little more testing - it seems fullscreening anything will get rid of the judder on the external monitor. For example, fullscreening Finder will let it run smoothly, whereas when it's just a window on the OS X desktop, it exhibits the same skipping/juddering every second or so.

 

Having said that, since I switched from the Nvidia web drivers back to OS X standard ones (using the menu bar icon/Nvidia driver manager thing) it seemed to run a bit better too. Certainly more games work than before, barely any games launched (fullscreen, anyway) with the Nvidia web drivers but plenty worked fine on the original OS X ones.

 

I've since found it's a lot better an experience on Windows, but there I have a separate issue, which is I have to disable the internal GT650m dGPU in Device Manager before the eGPU can activate, I guess because for some reason PCI compaction isn't working.

 

 

Share this post


Link to post
Share on other sites

yes, fullscreen works - less or no stutter; just the main Desktop experience shows performance issues. I'm pretty sure it's because of the dGPU that some handling is not done correctly or the eGPU streams data through the iGPU... something along those lines. I have no problems in Windows with the card though. Runs perfectly - using the dGPU (750m) as dedicated PhysX card.

Share this post


Link to post
Share on other sites

@willex Please download the "Disable Monitor" App from github and disable the MacBook display. Without the internal display performance should be good and lags/stutters should be gone.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

I seem to have the same issues as above, regarding stutters and lag. Using SwitchResX I disabled the internal monitor, and still perceived consistent stutters - I do not know whether your linked script, @Dschijn, does it differently. It was using a 980 ti and a cheap-o PCIe riser - though I have to say, performance was buttery smooth in Windows 10 with no perceived lag and way over 60fps in GTA5 4k at near-maxed settings - again, without any lag.

 

Any ideas? Currently considering going full into the e-GPU platform with 3x4k monitors, and obviously I won't be able to use those with my MacBook Pro 13" Retina from Late 2012 without and e-GPU - I'm using the AkTiO Thunder 2 case, by the way with an external PSU.

Share this post


Link to post
Share on other sites

This is the app: https://github.com/Eun/DisableMonitor

I don't have long time experience with the eGPU in OSX. Can try and use it tomorrow the wole evening.

What seemed to work for me:

- download the app

- disable the internal display by the app

- close the lid

- use it totally on the external display

Share this post


Link to post
Share on other sites

@Dschijn Thank you!! i came across this thread having this same exact problem.  I am running an LG Cinema 4K display at 4096X2160 @ 60Hz on my MacBook Pro Retina 2013 and was trying everything to get rid of the stutter in video play back.  The disable monitor solution works perfect.  Once i disabled the internal monitor the external monitor performance was butter! With en eGPU like the Nvidia 980 Ti connected to my rMBP i dont see any reason to change out my laptop anytime soon!

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Thank you very much, I have MBP 15" retina mid 2015 on OS Sierra 10.12.3. My problem at this moment is that after the csrutil disable then i press return and it says the SIP is disable successfully, then I type reboot and press return, the system will reboot back to OS normally showing Apple logo and requesting me to login instead of rebooting back in the terminal for me to use the goalque automate script, the same thing on my iMac 27" late 2012 with the same Sierra 10.12.3. 

Share this post


Link to post
Share on other sites
On 02/02/2016 at 9:14 AM, willex said:

I'm experiencing the same issue. EVGA GTX 970 + Akitio 2 on a 2014 15" MacBook Pro under OSX 10.11.3. The card is identified and installed correctly with the 0.96 eGPU script.. but performance on the Desktop lags really bad with stutters, animation problems etc. Running a game though is fine... I also tried different drivers but the problem remains the same.

 

any help would be greatly appreciated.

 

Try enabling "displays have separate spaces" in the window shown here. Screen Shot 2017-02-17 at 5.43.27 am.png

Picked that up off the build I followed in the implementation section. 

 

Interesting about the disable monitors app, I'll have to look into that. I seemed to work out my kinks by just making the external monitor the main display and leaving the laptop open on the right of the desk, so I can use essentially a dual-monitor setup. 

Edited by Irons324

Share this post


Link to post
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.


  • Similar Content

    • By Tech Inferno Fan
      We've had a stack of recurring questions from with problems getting a mPCIe eGPU working. This includes GPU-Z not reporting no clock details, error 10/43 or even not being detected at all. Overall it's more troublesome getting mPCIe working than say expresscard or Thunderbolt.
       
      Here's some common problems and some troubleshooting steps to correct them.
       
      Getting a black bootup screen, resolving error 10/43 or ACPI_BIOS_ERROR win bootup messages
       
      Here the BIOS doesn't know what to do when it sees an eGPU. So the solution is to not let the BIOS see it. Do that by setting the delays on the eGPU adapter (CTD/PTD - EXP GDC or CLKRUN/PERST# on PE4L/PE4C). Boot with eGPU adapter in the wifi slot into Setup 1.30 or Windows. Is the eGPU detected?
       
      I'll add that should error 43 continue AND you have a NVidia dGPU as well as NVidia eGPU then it's likely because of having the mobile NVidia and desktop NVidia drivers loaded simultaneously. Proceed to uninstall ALL your NVidia drivers, use "DDU" to clean NVidia registry entries and do a 'clean' install of the latest NVidia desktop driver.
       
      mPCIe port that hosted the wifi card disappears when connecting an eGPU in it's place
       
      Use the Setup1.30 PCIe Ports->enable to enable the missing port.
       
      eGPU does not get detected
       
      Overcome mPCIe whitelisting by booting with the wifi card and then hotswapping in the eGPU. That way the BIOS will enable the mPCIe port to work.
       
      1. Boot with wifi card into Windows, sleep system, swap wifi card for mPCIe eGPU adapter and ensure eGPU is powered on, resume system. Do a device manager scan in Windows. Is the eGPU detected?
       
      2. Boot with wifi card into Setup 1.30 *carefully* hotplug the eGPU adapter in place of wifi card. Hit F5 to rescan the PCIe bus. Is the eGPU detected?
       
      If this enables detection then avoid this tedious hotswapping by seeking a unwhitelisted modified BIOS for your system OR test the Setup 1.30's PCI ports->undo_whitesting feature.
       
      eGPU still not detected - set the PSU to be permanently on
       
      The latest EXP GDC and BPlus eGPU adapters try to manage the PSU to only power on after they detect a signal. This can cause a race condition where the eGPU isn't ready to go when the CLKRUN signal is asserted.
       
      Avoid this by jumpering the PSU so it's permanently on rather than being managed. Depending on the PSU you are using refer to the following doco on how to do that:
       
      http://forum.techinferno.com/enclosures-adapters/8441-%5Bguide%5D-switching-atx-psu-using-paperclip-trick-swex.html
      http://forum.techinferno.com/enclosures-adapters/9426-220w-dell-da-2-ac-adapter-discussion.html
       
      eGPU still not detected - a non-standard mPCIe implementation by your vendor?
       
      PERST# mPCIe pin 22 may need to be isolated due to a non-standard implementation by your notebook vendor: http://forum.techinferno.com/enclosures-adapters/10812-pe4x-series-understanding-clkreq-perst-delay.html#post142689
       
      eGPU still not detected - faulty hardware?
       
      If you still don't get detection then test the video card and eGPU adapter in another machine to confirm neither is faulty.
       
      NVidia driver stops responding
       
      EXP GDC, PE4H 2.4 and PE4L 1.5 all use a socketted cable and therefore are not true Gen2 compatible device. This error indicates there was transmissions errors.
       
      The solution is either to get a better Gen2-compliant eGPU adapter such as PE4C V3.0 or PE4L 2.1b (both with soldered cable), or downgrade your link from Gen2 to Gen1 using BIOS options or Setup 1.30
       
      Other troubleshooting help resources?
       
      See DIY eGPU Troubleshooting FAQ.
       
    • By ReverseEffect
      3dMark11 Performance Preset Benchmark: http://www.3dmark.com/3dm11/11262792
       
      Required items:
      1.) Lenovo u310 (I have a Core i3 - Ivy Bridge, 8GB RAM)
      2.) 65CN99WW unwhitelisted.
      3.) eGPU (I used a EVGA GTX 750 Ti from another computer I had).
      4.) EXP GDC mPCIe Edition adapter (got from eBay - banggood seller).
      5.) ATX power supply (I used a 600W PSU from another computer I had).
      6.) USB wireless.
      7.) External monitor, keyboard, and mouse.
       
      Steps:
      1.) Obtain and install a unwhitelisted BIOS. If you are unable to obtain a unwhitelist BIOS, I think it might be possible to bypass it with Tech Inferno Fan's Setup 1.x (may need confirmation as I haven't used it myself yet.)
      2.) Shutdown computer and remove all USB devices, ethernet cables, power cables, card reader cards.
      3.) Remove mPCIe wireless card and detach antennas.
       
       
      4.) Attach EXP GDC external mPCIe cable to the former wireless slot and screw down.
       
       
      5.) Attach HDMI end of the mPCIe cable adapter to the EXP GDC device.
       
       
      6.) Attach graphics card to the EXP GDC device (I moved my laptop off the desk and onto the side shelf to make room on the desk for the monitor/keyboard/mouse).
       
       
      7.) Using the power cable adapters that came with the EXP GDC device, I hooked in my ATX power supply's 20 pin and CPU 4 pin cables. Then hooked the other end (8 pin) into the EXP GDC device. My EVGA 750 Ti also required that I use an additional PCIe power cable (6 pin) in the top of the card.
       
       
       
       
       
      8.) Then I attached my misc devices (HDMI monitor, USB keyboard/mouse/wireless adapter), and hooked in my PSU and powered it on (below is image of final product, also moved HDMI cable out of the way).
       

       
      9.) Power on your computer and let it install the standard VGA drivers and then install your drivers (I didn't have to go in the BIOS for any graphics settings, which it doesn't have anyways, nor did I have to disable iGPU in Device Manager before the card was added).
       
      Extra Info:
      I found that most games will play on med settings with about 45 FPS with this particular card.
      BDO: Upscale on - Anti Aliasing on - SSAO off - med settings.
      Skyrim: Med-High settings.
      Fallout 4: Med settings.
       
      (EDIT 5/19/2016) > Images added.
       
    • By TheLoser1124
      Hello, A couple of days ago I got a new GPU but when I installed it into my computer I was unable to use it but now I know why. When checking the device manger I went into the events tab of my GPU when I went to view all events, I noticed an error it said " event 411 kernel PnP " and It also said Problem Status: 0xC01E0438. I believe this is why my GPU hasn't been working on my PC. If you know how to fix this problem or have info on how to fix this problem that would be greatly appreciated. I'm also using a EVGA NVIDIA GeForce GTX 1660.
    • By TheLoser1124
      I'm having a problem where my PC is saying my eGPU is not usable, its detected in the Device Manager and it doesn't have the yellow triangle next to it. I cant use it games and the Nvidia Control Panel doesn't recognize it either. I'm using a EVGA NVIDIA Geforce GTX 1660. I'm using windows 10 and I tried DDU and reinstalling them and now I cant access the nvidia control panel. The GPU is not recognize on any other apps and I went on *********** and was unable to find my answer, Any help on how to fix this problem would be greatly appreciated.
    • By Radstark
      Title sums it up.
       
      TL;DR: we have a Clevo that runs a desktop CPU, one with those huge 82 Wh batteries. We remove the GPU and let it use the CPU's integrated graphics. How much time for the battery to go from 100 to 0? Is it comparable to an ultrabook's?
       
      I'm theorizing a mobile set with a static eGPU and an upgradable CPU. Given a hypothetical user that needs fast processing on the go and long battery life while retaining very high degrees of mobility, but at home wants a powerful machine to run most games, I guess that would be their best bet. It would surely be more convenient to keep everything in the same disk. And even though the thing would be quite heavy to carry around, changing CPU would be more cost-efficient than changing an entire laptop. (Not sure if I'm right here, and also I'm not sure whether the motherboard in a Clevo would be replaceable when the new CPU needs a different socket, which is another reason why I'm asking here.)
       
      If my above guesses aren't correct, then an ultrabook with Thunderbolt and without a dedicated GPU would be a better choice. If they are, then we would be carrying more weight in exchange of a more cost-efficient setup, which I think would be a fair tradeoff.
       
      Also I am aware of the heating problems that these laptops suffer from, at least compared to a desktop setup. Would they be solved by moving the GPU out of the chassis, and instead plugging it with an eGPU dock via Thunderbolt port?
       
      What do you think? Is it doable? If not, why?
×
×
  • 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.