[SCRIPT] Accelerate All Applications On eGPU - macOS 10.13.4+
@goalque Good news! Even with pw4/EFI patch, although SafeEjectGPU shows discrete, setting the preference to removable makes a difference. Tested on Final Cut Pro. Additional GPUSelectionPolicy are default and ignore.
With eGPU connected (no external display, shown as discrete) and default parameter - 750 used for timeline performance. With preference set to preferRemovable and relaunching app, both 750M + 1070 used for timeline. Export uses CPU-only - unaffected.
Internal display + Purge-Wrangler 4.0.2 patch:
Using the latest web driver which does not support OpenCL/GL on my machine.
@eightarmedpet Seems like its there, just under our noses and not in the UI, haha. You should also be able to use eGPU on your Ultrafine (just for apps) if everything works on internal display (like in the case of FCP).
That’s super exciting to hear, finally!
Currently on holiday but will give this a bash as soon as I’m back. The new Hybrid solution the best to pair with this command?
2017 13" MacBook Pro Touch Bar
GTX1060 + AKiTiO Thunder3 + Win10
GTX1070 + Sonnet Breakaway Box + Win10
GTX1070 + Razer Core V1 + Win10
Vega 56 + Razer Core V1 + macOS + Win10
Vega 56 + Mantiz Venus + macOS + W10
@eightarmedpet PW4 or EFI hybrid - both should do the trick. Cannot test Pure EFI myself. This setting works best for Metal apps, although the documentation clearly says also affects OpenCL/GL queues.
PS: Enjoy your vacation
Tried this with my setup - 10.3.5, 2012 MBP 15" Retina with 650m and 1070 eGPU. This is using the original 10.3.x solution though and @fr34k's script, since I can't try the Hybrid EFI method (TB1 macs not supported at the moment). I tried it with Hitman, which is a Metal game, which worked great under 10.2.x but has never worked under 10.3.x. Sadly it still doesn't seem to work. The GPU History is showing that the 1070 is being used and is being maxed out, and the 650m isn't being used, but the actual FPS is more like 4-5 FPS, which clearly is not the performance that I got under 10.2.x (where it ran flawlessly at 1440p). Oh well, will keep trying new methods when people come up with them
@mac_editor Any ways to check what name has tu be used in the command? Im trying with "Unity" (for the game engine) and "CINEBENCH OSX" for benchmarking, but in both situations it says that cant find an application with that name.
@luisetepe Usually the name of the app in Launchpad or Applications folder would do the trick.
@ozzy I tried testing F1 2016 - metal game too. Never launches. Looks like games will likely need dev-end support. Although my Mac has too many complications to make a generalization. @goalque was able to accelerate Valley benchmark easily with a non NVIDIA dGPU notebook.
I think that's the case for apple Apps, for example "TextEdit" works for TextEdit, but i have tried unity, unity3d (seen that the plist file is com.unity3d...), and so on and i cant make it work. I've tried with "blender" for Blender or "photoshop" and "Adobe Photoshop CC 2018" for Adobe's Photoshop, and same result. I've only found some kind of man page for that specific command, but is using only TextEdit as example, so.. :p https://ss64.com/osx/defaults.html
Also tried Rise of the Tomb Raider (Metal accelerated), with a 2016 13" MBP and GTX 980. Launching the app from the internal screen's dock was possible, only when a headless ghost adapter was plugged in. If wasn't plugged, the game quickly shutted down itself.
defaults write com.feralinteractive.riseofthetombrider GPUSelectionPolicy -string preferRemovable
The man page of SafeEjectGPU says that some values can be specified in the app's Info.plist.
The current automate-eGPU "EFI Boot" does not produce removable key. This can be configured in the future.
@goalque Confirming that having a non-primary external display (basically headless for this purpose) allowed F1 2016 to run (quite well) on internal display (no mirroring, etc.).