I know this is about games, but I wanted to relay my experience using an eGPU (using the Razer enclosure and an AMD RX Vega 64) in a professional context.
I had a good performance boost using Photoshop and Maya. But if you're using a portable MacBook Pro that you're connecting every day, I wouldn't recommend it. The connect/disconnect experience is really flaky, and you'll probably spend a few times a week trying to figure out why the eGPU isn't connecting/disconnecting.
I switched to a Mac Mini at work (stock GPU build of course) with the same enclosure and graphics card, and the experience has been pretty delightful. If you're doing visual stuff, it's the budget version of a Mac Pro. It seemed to improve overall OSX responsiveness too, but perhaps that's just the new Mac Mini in action.
I still use the old MacBook Pro at home, but it's not my daily machine. Now I don't have to carry a bag to work, and my home laptop can cover things in a pinch. Using a desktop machine at the office for work has improved my work-life balance, and my productivity.
I've been using an eGPU (15" 2018 MBP i9, RX 580, 10.14.x) for over half a year and only ran into connect/disconnect issues once. If you're having disconnect issues I'd urge you to see if killing the QuickLookUIService process causes the eGPU to immediately disconnect. If it does, you probably have a buggy QuickLook plugin with one or more apps. In my case there was a QuickLook plugin from a recently installed trial app that was preventing the eGPU from disconnecting. I uninstalled the app and everything went back to normal. I've googled around and it appears like other people are also having this issue with QuickLookUIService. Hope this helps.
I love my 2018 MBP + eGPU setup to the point that I chuckle whenever I see people claiming how awful these MBPs are. I've finally reached computing nirvana. The i9/32GB RAM in my MBP is powerful enough for me needs at home and on the go. The eGPU makes for a great dock and access to a more powerful GPU at home. It has built-in gigabit ethernet, an SSD, and several USB 3.1 ports.
Surprised there are still no comments about the Blackmagic eGPU and BM eGPU Pro! And these are not even mentioned in the blog entry.
These are the sleek semi-official, Apple-design contributed eGPUs for the macbook line. Like the LG monitors Apple helped out with. But with less scandal.
I have been using the Blackmagic on my Macbook Air 2018 for several months and I really, really like it.
I have a _single_ USB-C cable from the MBA to the Blackmagic. This powers the macbook, but also offers a bunch of ports and HDMI out to my P2715Q Dell. They allow me to use HD Audio USB speakers, a webcam, a pro mic and a few cables to charge stuff with.
There are almost no stability issues with yanking the cable and putting it back in. I do this almost every day--often not having the patience to use the official "disconnect" process on the system tray icon.
Not only does improve OS graphics stuff, like moving between spaces at 4k, but small things like Messages animate more smoothly on this large high res external monitor.
I only very occasionally play DOTA 2, and you can get some really great graphics performance out of this eGPU that is not possible on the machine alone.
Plus, and very important to me--the Blackmagic eGPU is silent!
It is not a cheap add-on but if you have a home office and go portable sometimes an eGPU especially the Blackmagic is really awesome.
It is more expensive, but it just works, looks great and idk I dig it. Glad to have a thread I could pipe up about it in.
I've been using an Akitio Node + WX8200 (Vega 56 Pro, needed to drive 2x 5k monitors) for about 7 months now on my daily driver (2018 i9 32gb 15" macbook pro) and I haven't had any real issues with disconnecting. There are only two annoyances:
1) Sometimes an app won't quit that's using the external GPU prevent me from safely disconnecting. This is annoying when you have to run to a meeting and don't want to risk the system crashing.
2) If you connect the eGPU when apps are already running, they'll continue to be rendered on the internal GPU. This is probably OK for most people, but the internal GPU can't drive 2x 5k displays, so although it works they're really laggy until they're relaunched.
Other than those two issues, I highly recommend this setup to everyone. I actually have 2 egpus, the other has a 1080ti that I use for light ML work and gaming on linux and windows respectively.
It's also a matter of cost alone. I'm currently in the market of building a Gefore 1660 based light gaming environment. Building a Desktop PC the cheapest way possible using that card plus a Ryzen 1200 comes out at only ~70$ more (~550USD, 16GB RAM, not including SSD) than buying the cheapest eGPU enclosure plus the card. For that 70$ I get considerably better performance (since my laptop is ultralight) and less hassle.
I don't see how eGPU is worth it except for very narrow usecases, like doing some light 3D modelling and wanting to use an already available Mac (since buying the appropriate integrated Mac hardware is way too expensive in comparison).
Just build a PC and run Linux on it. A lot more games will be playable that way, thanks to Wine, dxvk and vkd3d which macOS can't run well due to Apple sabotaging Vulkan support.
Gaming on Mac is okay if you have a good time manually editing files with magic strings from the internet to trick the OS into using an appropriate resolution/refresh rate, and ultimately ending up with noticable input lag.
I went from gaming on a $6k mac pro to gaming on a $1k Alienware and realized I'd been playing in the kids pool the whole time.
I would refrain from saying "gaming on MacBook" because it creates confusion about whether one is using Windows or macOS.
When playing on Windows (Bootcamp) the MacBook is just a regular Intel based hardware, the experience is no different from using any other laptop out there (aside from Windows install process).
Playing on macOS that's another story. Mouse acceleration can not be disabled, switching to and from fullscreen games is sometimes buggy, and not many popular names are available natively on macOS.
Tangentially, I know of killmouseaccel[1] which does exactly what it says: disables mouse acceleration on macOS. However, it needs to be executed at every restart, or deamonized.
The sheer frustration and potential undiscovered bugs of getting gaming to work with a GPU on a Mac caused me to give up trying to game on a desktop.
Which is actually perfectly fine unless you need 4k60fps or 1440p144fps, which I do not. I originally started gaming on the PC a decade ago when many games and sales were PC only: the gaming market is at a place now where the game selection and prices between consoles and PCs are similar. There isn't anything on a PC/Mac I'm missing that I can't get on my PS4 Pro (or even a mobile device!).
I prefer PC because i have real ownership of the games i buy (i mostly get my games from DRM-free stores like GOG) and no arbitrary backwards compatibility breakage (i have many games on CD from the 90s and 2000s that work on my brand new PC... though some need several workarounds, but still much preferable to not being able to play the game at all - nowadays i rip my CDs and DVDs to my external HDD alongside community made patches/fixes though so i do not have to deal with hardware issues and scratched disks).
Also the sort of games i prefer to play (FPSs, CRPGs and to a lesser extent simulation games) play much better on a PC than a console or mobile.
Note that with PC i do not mean Windows, although i do use Windows. But with Proton evolving i think that in a few years i should be able to play any game i want on Linux or even Mac (assuming Apple hasn't gone full retard in the meanwhile).
The price of consoles is subsidized by the fact that the games are super expensive. On PC the prices of games is usually less while they are at full price and massively less while they are on sale which is a quite frequent event. When I look at console games I almost never see any significant sales. Its not uncommon to see AAA games at 90% off when they are a few years old. On console they just stop selling the game.
- Factorio
- Minecraft, w/so many hundred different mods
- Kerbal Space Program
- Oxygen Not Included
- Mods in general, actually.
- Elite: Dangerous. Or things which require joysticks in general.
MoltenVK helps some of that, but I think it goes beyond supporting OpenGL. OSX just has so many things that cripple the gaming experience. Here at Atlassian we're pretty much a Mac only shop, and needless to say a lot of us play games as well. The amount of bugs we encounter with OSX compatibile games is stunning. The same game on the same laptop model on the same version of the OS will have two entirely different issues. We've gone so far as to dedicated the first hour of every LAN session we do to fixing OSX bugs. The consistent ones we experience though are input lag issues (i.e. to click and drag to select units, you have to click, wait half a second, then drag, otherwise the drag action will only select the last half of what you were trying to select), a lack of ability to minimize full screen apps meaning you have to close the game to change any setting or join a different discord channel (or do non-exclusive fullscreen, leading to a large drop in FPS), and a small subset of machines (about 1 in 10) that simply cannot go over 20FPS regardless of resolution/rendering settings/game selection. It's surprising given how good the mobile gaming experience is on iOS devices. It just isn't a priority on OSX whatsoever, and the UX of it shows.
OpenGL is in maintenance state on all platforms basically. The only alternative they had was Vulkan. And Vulkan is not perfect either. Personally I prefer Metal to Vulkan. It's very easy to transition from OpenGL to Metal, it feels like an improved API without global state and packing stuff into structs. Meanwhile Vulkan opens the whole low-level can of worms on you and you suddenly have to worry about memory barriers, image transitions, semaphores/synchronization, even in the simplest of applications.
I had a eGPU box with a GTX 1060 for months, but was using it for Windows 10 and a zbook 15 notebook. Unfortunately there is no Mac support for NVIDIA but some users get it working themselves - never tried it as it looked a bit to cumbersome for my taste. On Windows 10 the setup worked great. Was able to play games like PUBG or Quake Champions with decent (Medium) settings at Full HD and a reasonable framerate (I believe usually 70-90 FPS).
But in the end I decided that I wanted to switch away from Apple and also sold my Laptop to buy a Desktop PC with more horsepower. My wife still has a rather new MacBook Pro, so if I want to fire up some Final Cut Pro or Garage bend I could still do it.
Was not sure if the whole setup of eGPU was worth it for me, it surely allowed me to play those titles which were not playable without the eGPU but I believe it would have been wiser to spent the money directly on a new PC.
But of course, with switching away from the Mac my case is a bit special.
A very nice how to. For some good real world numbers I always look to https://barefeats.com/ which has been testing eGPU setups for quite some time on different Macs
I’ve yet to see an eGPU review measure latency. I’ve always been skeptical of their ability to render frames out with adding meaningful latency to the system.
I know it’s theoretical possible to work just fine. But it’s a long pipeline with lots of opportunity for inefficiency and connection bugs.
I love my 144Hz gaming monitor on my desktop. I’d be thrilled to connect my laptop to an eGPU if it can produce an identical gaming experience.
But my spidey sense says eGPu’s are a convoluted buggy mess. And that’s unlikely to change in the foreseeable future due to lack of users.
Can anyone chime in on WHY apple doesn't care about the gaming segment? Is it just elitism from the design/dev team or do they truly think no one wants to game on a mac? It's strange behavior for a company.
I wonder how much of it is history. Steve Jobs initially rejected the idea of gaming on the iPhone. They opened their arms only when mobile game revenue became impossible to ignore.
I've been using an eGPU for about 6 months now with my 2018 13in Macbook Pro and I love it. It drives my 4k monitor so much better for work tasks, and gaming is fun.
The only issue is the eject never seems to actually work, so I just unplug the eGPU every time rather than safely eject. It's a bit annoying to have every app reboot when unplugging. I'm hoping the next version handles it a bit better.
One change I've made from the article is installing Windows on an external M2 drive over USB-C (I don't believe it's Thunderbolt, just standard USB) because my Macbook was running out of space between Windows and MacOS..looking at you, Ark and your ridiculous 100GB install with another 100GB of scratch space required to update.. Everything seems to work at full speed!
This NVidia stuff is getting ridiculous. Apple basically killed off any Deep Learning enthusiasts and nobody could do any serious computing-intense stuff on their platform. A polished toy.
The extra-painful part about this whole situation is that it's apparently only due to Apple blocking NVIDIA from signing and publishing their drivers. (for whatever bizarre reason they may have to do that)
Hopefully at some point deep learning and other applications for GPU technology will become vendor-agnostic, as with CPUs. While I can run Linux on either an Intel or an AMD CPU (and many others), it seems awfully silly that I can't run a CUDA application on an AMD GPU.
You are implying that there is a significant user base that does deep learning on a single node using MacOS. In my experience supporting data scientists for 10 years this is almost never the case.
The writer is pretending that egpu is some sort of hidden secret that no one wants you to know about, I don’t understand why - since this is not the case - many companies are actively marketing egpu solutions.
It also falsely presents egpu as a silver bullet, in particular it claims that there is no latency even when using the laptop’s built-in monitor (as opposed to an external monitor plugged into the GPU) which is absolutely not true (an external monitor will perform better).
Many reliable sources have published independent benchmarks comparing the 3 solutions (internal gpu, external gpu over internal monitor, external gpu over external monitor) you should look at the benchmarks in case you want to make up your own mind about this topic.
Not brought up here, but the Apple Thunderbolt 2 -> Thunderbolt 3 adapter is one of the only ones that actually works in reverse, too. With some hacks from eGPU.io, I ran an Nvidia GTX 1060 on a Mac Mini for a while over TB2 for hashcat work.
I gamed a bit on my previous MBP, a 15" from 2012. The CPU and GPU got so hot, I suspect it reduced the lifespan of the laptop battery. Does anyone else have concerns about this for gaming on laptops? Would unloading to the EGPU mitigate this issue?
This was a concern for me trying to play ~2005-era games on macOS on a 12" MacBook. One of the reasons I offloaded to Steam streaming and stream from my Windows HTPC now.
I tried this with a Mac eGPU Dev Kit and a 2014 MBPr... right before they removed the ability to run it with a TB2 cable. Jerks. Anyway, the amount of hassle with trying this is high, and I say that as someone who ran Linux on all my desktops and servers from '94-'14. Installing Windows on Bootcamp to do this? That's a hard pass from me, dawg. I'm done with Windows. Even for gaming. It's all Mac-native or Playstation for me now.
What’s the easiest way to turn your desktop to a Remote Desktop for ssh (eg, to run ml models)? The dynamic ip is the only weird part. Which service or solution do people use?
Not sure if I understand the issue completely but if you have problem with the dynamic IP addresses in LAN and don't want to fix the addresses you can use .local domains (this works in Apple and Linux worlds, in Windows you need LLMNR), i.e. connect to yourhostname.local instead of 192.168.x.somerandomnumber.
[+] [-] ladon86|6 years ago|reply
I had a good performance boost using Photoshop and Maya. But if you're using a portable MacBook Pro that you're connecting every day, I wouldn't recommend it. The connect/disconnect experience is really flaky, and you'll probably spend a few times a week trying to figure out why the eGPU isn't connecting/disconnecting.
I switched to a Mac Mini at work (stock GPU build of course) with the same enclosure and graphics card, and the experience has been pretty delightful. If you're doing visual stuff, it's the budget version of a Mac Pro. It seemed to improve overall OSX responsiveness too, but perhaps that's just the new Mac Mini in action.
I still use the old MacBook Pro at home, but it's not my daily machine. Now I don't have to carry a bag to work, and my home laptop can cover things in a pinch. Using a desktop machine at the office for work has improved my work-life balance, and my productivity.
[+] [-] 9oliYQjP|6 years ago|reply
I love my 2018 MBP + eGPU setup to the point that I chuckle whenever I see people claiming how awful these MBPs are. I've finally reached computing nirvana. The i9/32GB RAM in my MBP is powerful enough for me needs at home and on the go. The eGPU makes for a great dock and access to a more powerful GPU at home. It has built-in gigabit ethernet, an SSD, and several USB 3.1 ports.
[+] [-] bredren|6 years ago|reply
These are the sleek semi-official, Apple-design contributed eGPUs for the macbook line. Like the LG monitors Apple helped out with. But with less scandal.
I have been using the Blackmagic on my Macbook Air 2018 for several months and I really, really like it.
I have a _single_ USB-C cable from the MBA to the Blackmagic. This powers the macbook, but also offers a bunch of ports and HDMI out to my P2715Q Dell. They allow me to use HD Audio USB speakers, a webcam, a pro mic and a few cables to charge stuff with.
There are almost no stability issues with yanking the cable and putting it back in. I do this almost every day--often not having the patience to use the official "disconnect" process on the system tray icon.
Not only does improve OS graphics stuff, like moving between spaces at 4k, but small things like Messages animate more smoothly on this large high res external monitor.
I only very occasionally play DOTA 2, and you can get some really great graphics performance out of this eGPU that is not possible on the machine alone.
Plus, and very important to me--the Blackmagic eGPU is silent!
It is not a cheap add-on but if you have a home office and go portable sometimes an eGPU especially the Blackmagic is really awesome.
It is more expensive, but it just works, looks great and idk I dig it. Glad to have a thread I could pipe up about it in.
[+] [-] edude03|6 years ago|reply
1) Sometimes an app won't quit that's using the external GPU prevent me from safely disconnecting. This is annoying when you have to run to a meeting and don't want to risk the system crashing.
2) If you connect the eGPU when apps are already running, they'll continue to be rendered on the internal GPU. This is probably OK for most people, but the internal GPU can't drive 2x 5k displays, so although it works they're really laggy until they're relaunched.
Other than those two issues, I highly recommend this setup to everyone. I actually have 2 egpus, the other has a 1080ti that I use for light ML work and gaming on linux and windows respectively.
[+] [-] lioeters|6 years ago|reply
I'm betting that's due to the boot drive being PCIe-based storage.
[+] [-] jacquesc|6 years ago|reply
Just grab a PC or console for gaming. Trying to game on a Mac is just swimming upstream, without the payoff. Apple does not want you.
[+] [-] m_mueller|6 years ago|reply
I don't see how eGPU is worth it except for very narrow usecases, like doing some light 3D modelling and wanting to use an already available Mac (since buying the appropriate integrated Mac hardware is way too expensive in comparison).
[+] [-] shmerl|6 years ago|reply
[+] [-] pifuoweiuf983|6 years ago|reply
Apple supports EGPU's natively, and they also have native drivers for AMD cards.
Literally plug and play on MacOS.
On Windows, depending on which Mac you have it ranges from plug and play (update drivers) to basically what the author wrote here.
[+] [-] elif|6 years ago|reply
I went from gaming on a $6k mac pro to gaming on a $1k Alienware and realized I'd been playing in the kids pool the whole time.
[+] [-] hamstergene|6 years ago|reply
When playing on Windows (Bootcamp) the MacBook is just a regular Intel based hardware, the experience is no different from using any other laptop out there (aside from Windows install process).
Playing on macOS that's another story. Mouse acceleration can not be disabled, switching to and from fullscreen games is sometimes buggy, and not many popular names are available natively on macOS.
[+] [-] jvzr|6 years ago|reply
[1] https://github.com/docwhat/killmouseaccel
[+] [-] minimaxir|6 years ago|reply
Which is actually perfectly fine unless you need 4k60fps or 1440p144fps, which I do not. I originally started gaming on the PC a decade ago when many games and sales were PC only: the gaming market is at a place now where the game selection and prices between consoles and PCs are similar. There isn't anything on a PC/Mac I'm missing that I can't get on my PS4 Pro (or even a mobile device!).
[+] [-] Crinus|6 years ago|reply
Also the sort of games i prefer to play (FPSs, CRPGs and to a lesser extent simulation games) play much better on a PC than a console or mobile.
Note that with PC i do not mean Windows, although i do use Windows. But with Proton evolving i think that in a few years i should be able to play any game i want on Linux or even Mac (assuming Apple hasn't gone full retard in the meanwhile).
[+] [-] mhh__|6 years ago|reply
In fairness, gaming has never (Last decade at least...) been the intended purpose of Mac
[+] [-] baroffoos|6 years ago|reply
[+] [-] Filligree|6 years ago|reply
[+] [-] outworlder|6 years ago|reply
This is Microsoft's playbook from a couple of decades ago.
[+] [-] jjcm|6 years ago|reply
[+] [-] month13|6 years ago|reply
[+] [-] skocznymroczny|6 years ago|reply
[+] [-] pjmlp|6 years ago|reply
[+] [-] nottorp|6 years ago|reply
[+] [-] Shihan|6 years ago|reply
[+] [-] Shivetya|6 years ago|reply
[+] [-] forrestthewoods|6 years ago|reply
I know it’s theoretical possible to work just fine. But it’s a long pipeline with lots of opportunity for inefficiency and connection bugs.
I love my 144Hz gaming monitor on my desktop. I’d be thrilled to connect my laptop to an eGPU if it can produce an identical gaming experience.
But my spidey sense says eGPu’s are a convoluted buggy mess. And that’s unlikely to change in the foreseeable future due to lack of users.
[+] [-] kkarakk|6 years ago|reply
[+] [-] vnchr|6 years ago|reply
[+] [-] servercobra|6 years ago|reply
The only issue is the eject never seems to actually work, so I just unplug the eGPU every time rather than safely eject. It's a bit annoying to have every app reboot when unplugging. I'm hoping the next version handles it a bit better.
One change I've made from the article is installing Windows on an external M2 drive over USB-C (I don't believe it's Thunderbolt, just standard USB) because my Macbook was running out of space between Windows and MacOS..looking at you, Ark and your ridiculous 100GB install with another 100GB of scratch space required to update.. Everything seems to work at full speed!
[+] [-] 9oliYQjP|6 years ago|reply
[+] [-] bitL|6 years ago|reply
[+] [-] wjakob|6 years ago|reply
[+] [-] snazz|6 years ago|reply
[+] [-] StreamBright|6 years ago|reply
[+] [-] burn_cycle|6 years ago|reply
[+] [-] thstart|6 years ago|reply
[deleted]
[+] [-] thstart|6 years ago|reply
[deleted]
[+] [-] toxik|6 years ago|reply
[+] [-] pjmlp|6 years ago|reply
[+] [-] fwip|6 years ago|reply
[+] [-] mastazi|6 years ago|reply
It also falsely presents egpu as a silver bullet, in particular it claims that there is no latency even when using the laptop’s built-in monitor (as opposed to an external monitor plugged into the GPU) which is absolutely not true (an external monitor will perform better).
Many reliable sources have published independent benchmarks comparing the 3 solutions (internal gpu, external gpu over internal monitor, external gpu over external monitor) you should look at the benchmarks in case you want to make up your own mind about this topic.
[+] [-] rarecoil|6 years ago|reply
[+] [-] timeimp|6 years ago|reply
[+] [-] whytaka|6 years ago|reply
[+] [-] Marsymars|6 years ago|reply
[+] [-] antimatter|6 years ago|reply
[+] [-] TheRealDunkirk|6 years ago|reply
[+] [-] jammygit|6 years ago|reply
[+] [-] figiel|6 years ago|reply