Running Games on a MacBook Pro with an EGPU
justin.searls.co
justin.searls.co
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'm betting that's due to the boot drive being PCIe-based storage.
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.
While researching eGPUs I couldn't find one that was spec'd out quite like the Mantiz, particularly with respect to the 87W PD. Do keep in mind that like all the other eGPUs out there, the USB ports and anything connected to them share 5 Gbps of theoretical bandwidth. In the case of the Venus, that means the SATA SSD, GbE ethernet, and connected USB devices all share that bandwidth. But I have never seen my ethernet throttle while doing reads/writes to the SSDs and I have 1 Gbps up/down fibre optic internet. I just point that out as a lot of people were upset that all these devices hang off the USB for the Mantiz. But if they didn't they'd just eat into the TB3 bandwidth available to the GPU itself.
This has encouraged me to dig deeper and to try to find the reason for this once more.
My understanding is that for the 15" MBPs, the built-in discrete GPU would always be used to drive an external display. So the following doesn't apply for them. But the 13" MBPs have the built-in Intel graphics and you can definitely feel a difference driving even one bigger external display using Intel graphics vs something more substantial like an AMD Polaris (RX580/RX590) or Vega cards.
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.
I’m considering purchasing an Akitio Node for my Mac mini 2018. I noticed there is only one thunderbolt port on the inclosure which means I cannot connect external display directly to it. Will the performance lost be significant?
Regards.
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’m considering a similar setup, but I worry the underpowered Y-series chip in an MBA will just become a bottleneck instead if I attack an eGOU.
I run scaled 'looks like' 2560 x 1440. I run tons of apps and browser tabs in multiple spaces.
I only notice the CPU is weak when I'm encoding with something that isn't aided by GPU.
One case I do hear the fan come on is near the end of a 200+ step unit test in pycharm on my primary personal web app.
But that is just about the only time I can think of it comes on and it shuts back down as soon as my tests complete. (hopefully all passing!)
A bit more on my specific setup:
- 2018 MBA (maxed out)
- Dell P2715Q monitor
- Blackmagic eGPU
- Edifier S880DB (USB HD Audio)
- AT2020 USB+ mic
- Logitech C920S webcam
- Vertical Laptop stand
- Magic keyboard / trackpad
This setup is probably the best I've ever had, because the portability is great and the docked situation is just very, very good. All those peripherals off a single connection to the laptop.
I am hoping that the ARM mac will have much better graphics, but I think it is likely at least the first two generations of it will still be majorly improved even by the 580 in the current blackmagic.
It is worth mentioning that I do try to use the software disconnect of the eGPU and have had that just stall out or not complete. I have not tried the trouble shooting someone suggested here though--and it is so stable w the BM that I don't worry about yanking the cable anymore.
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.
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.
[edit] especialy enoying "Error 12". As article mentions:
There is a really good chance, however, that you'll see a yellow exclamation point over the GPU's icon, and instead of "This device is working properly", you'll be greeted by "Error 12" and a message that the device doesn't have sufficient resources (read: either memory addressing or bandwidth) to be used. If you see this, your GPU won't engage at all, and you'll have to troubleshoot it. There are a bunch of ideas in this thread, but what will work for you depends on a combination of factors.
If you look at the situation Apple design locked themselves into, the inability to swap out components and for many models you cannot even upgrade the memory, has forced users to rely on external boxes for storage and graphics which pretty much brings back in worse form all those boxes Apple was "designing away".
I like my current Apple computer but I am discouraged from every buying another first for their support of manufacturing in China and for the fact that every time I hit some limit imposed by their fixation the sycophants chant "just use external" and I am back to square one.
Due to Apple sabotaging Vulkan support
Correct me if I'm wrong here: wasn't Vulkan one of Apple's major talking points at a WWDC or a keynote? What happened?I meant the fact that after several years since Vulkan was launched, Apple still doesn't support it on macOS / iOS.
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).
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.
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.
http://plentycom.jp/en/steermouse/
They have a more focused product too, but I haven't tried that personally: http://plentycom.jp/en/cursorsense/
---
As I understand it, Windows too has mouse-acceleration that remains (rather subtly) even after disabling "Enhance pointer precision" in Control Panel. When I was into competitive gaming, there was a Registry fix doing the rounds that got rid of it completely.
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!).
- 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.
I could go on.In fairness, gaming has never (Last decade at least...) been the intended purpose of Mac
Doesn't matter anyway. My reflexes aren't what they were when I was a teenager.
I feel like a more "proper" solution would be to come up with shooty-shooty bang-bang game mechanics where "ability to aim with finesse at the things you're shooting at" is mechanically irrelevant, so that "aiming at things" isn't really a part of the console or the PC experience. I.e., design the game so that, despite complete ignorance of your input method, there is still absolutely no advantage in using a mouse compared to a joystick.
Any ideas on how such a thing could be accomplished?
• Maybe a game could snap all the people to a 3D voxel grid. You'd move smoothly, but your "shadow" would always exist within a certain voxel; and you'd always see everyone else over the network as popping between voxels. To shoot someone, you just have to target the right voxel.
• Maybe a game could give people, instead of hitscan line guns, extruded hitscan beam weapons of some diameter. Everyone is blowing 1m-wide holes in one-another [and the terrain] with giant laser cannons. I'd play that!
The thing is, even if you remove the finesse, mouse may well STILL have an advantage. I can whip a mouse around to do a 180 far quicker than I can on a controller.
Well-made motion controls (to the point that motion controls from any other shooter feel terrible) really feel like mouse-level precision for Splatoon.
On the other hand, Splatoon is a third person shooter so it may not translate too well to a first person shooter, although you do get first person perspective when using a Charger, the game's terminology for a sniper weapon, with a scope. Not only that, but I remember the addition of motion controls to the Switch port of Doom being considered such a huge upgrade it might as well have been a new game.
I'm with you on auto-aim being a sad hack. Having been a rabid Splatoon player for the past four years, I tried Overwatch on PS4 and just gave up after a while — I don't want my performance tied to arthritic finger bending to try and convince the game to auto-aim for me, I just want to point and shoot as I've been able to do very accurately with the Wii U GamePad and any Switch controller, especially when the PS4 controller supports motion control.
I'm not going to say that getting used to the controller from a keyboard and mouse was quick and easy, but it was quicker and easier than I thought it would be, at first. My rankings are almost what they were on PC now, so it doesn't bother me any more.
That's no longer true; sale prices for the same game on console and the game on PC are typically the same. Additionally, retail sales prices often are synced with digital prices.
> When I look at console games I almost never see any significant sales.
On the digital storefronts, all 3 major consoles have weekly sales, and often deep discounts for special events.
Nintendo does do sales on their own games, albeit very rarely. But you definitely can't play those on a PC.
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).
This is Microsoft's playbook from a couple of decades ago.
Mantle came first, and nobody was ever going to adopt Mantle because it was an AMD product and nobody wanted to adopt a single GPU vendor's API wholesale like that. The two biggest platform vendors, Microsoft and Apple, managed to get Mantle-inspired APIs out years before Khronos got Vulkan out the door. What were Microsoft and Apple supposed to do? Wait? Force everyone to switch over as their APIs were gaining adoption?
Not supporting Vulkan on Windows (Only legacy ICD allows for it, outside Windows 10 sandbox), XBox, PlayStation (all models), Nintendo (all models other than Switch which has 2nd API, 1st being NVN) doesn't seem to affect game's quality.
Mantle is inspired on what game consoles have been doing for years, so it isn't like Apple and Microsoft needed to wait for it anyway.
Lack of tooling has been a common issue with Khronos and OpenGL ARB before them.
Pretty good at releasing paper standards, not so much creating SDKs with all the required infrastruture that other APIs offer out of the box.
(Heck, I would go so far as to say that OpenGL as a vendor-agnostic API for consumer graphics cards might not have been possible if Microsoft hadn't forced some level of standardization across graphics card vendors in order to get Windows logo certifiation, and if Microsoft hadn't pushed Direct3D, we could all be stuck using Glide for some cards, a different API for other cards.)
The OpenGL 4.6 spec was released four months ago with new features and extensions come out all the time.
> Vulkan opens the whole low-level can of worms on you
Vulkan's API is unnecessarily ugly, it gives the impression of a low level API with all the structs and such but in reality the driver just picks up data from those structs to move around. In real low level APIs you use structs because they are memory mapped and/or aligned pretty much as the hardware expects it, but Vulkan is a hardware agnostic API.
And yeah, Metal is probably a better API but it is also only available on Mac which makes it a no-go for pretty much everyone outside the Apple bubble.
Personally i'll stick with OpenGL for the time being. I do not need much of the fancy stuff newer OpenGL versions have anyway (i don't do AAA-game level rendering) and i do not see OpenGL being dropped any time soon from any sane platform.
When it comes to Apple's stuff i'll decide between writing a small OpenGL wrapper myself for the functionality it use or just dropping the platform altogether when the time comes and they drop support for the API. Considering they still support Carbon (even if only for 32 bit programs), it might be a while until they drop OpenGL though.
The eGPU method of bolting functionality onto a platform which doesn't want it is only neat on a technical level at best. It is essentially the world's biggest dongle.
The only reason I don't have an eGPU yet is that most of the market still seems to be making weird compromise-driven design decisions, like sharing a single Thunderbolt controller between the card and any added USB ports.
I do all of my gaming on a Mac with an eGPU and find it convenient and practical for my needs. It is much better (for my use case and constraints) than my previous solutions of hackintoshes, dedicated windows PCs.
Thus, I've ignored games that don't run on Mac OS for a while. In spite of buying one or three on sales.
I actually feel bad about never finishing Witcher 3... ;)
Now we’ve the Netflix series to look forward to and Cyberpunk 2077 from CDPR.
Sure, it won't look QUITE as nice as running on the $8,500 rig my son now uses for Fortnite and Minecraft, but it still looks GOOD. AND you don't get surprised by Windows 10 random breakages and forced updates. AND you don't have to put up with needing to register accounts to download your mouse, keyboard, and video drivers.
Whatever bad things can be said about gaming on a Mac, I'm DONE with gaming on Windows. No mods? Whatever. No problems.
It's neat on every level. To quote the article:
> "…you are now able to take a top-of-the-line gaming GPU, seat it inside an external box, plug that box into your computer, and—using a single high-bandwidth cable—push the necessary instructions to render 4K games at 60 frames per second on the card before (over the very same cable!) pushing those frames back to your notebook's built-in monitor without introducing any perceptible latency."
I know God intended for us to use PCI cards by opening up cases and inserting them into slots on a motherboard, but it's incredibly cool to be able to just plug one in like a USB device.
1) Put GPU in enclosure
2) Plug Thunderbolt 3 cable into enclosure and MBP
Perhaps you’re referring to the novel written on how to make BootCamp Windows work with the eGPU?MacOS was surprisingly good as a gaming OS, so far as game selection, but it's about to go back to the "we have... Breakout! and, uh, Super Breakout!" olden days, it seems.
If you look at the top sellers on Steam that have Mac support you'll see a very large library of great games that I don't think anyone would have guessed would be supported on Mac 5-10 years ago.
https://store.steampowered.com/macos#p=0&tab=TopSellers
If anything I think Mac support for games is on the rise and will only continue to grow.
Removing OpenGL isn't far away, as one of WWDC 2019 talks was exactly how to migrate to Metal from OpenGL, while all Apple frameworks now use Metal by default, although some of them still offer the old OpenGL support as fallback.
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.
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!
Nvidia blocks the Nouveau drivers from working properly on Maxwell2 or newer cards: https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-...
I currently run an EVGA 980Ti Classified in my hackintosh. It’s great hardware, but with the frequency of glitches that the drivers bring I’m increasingly inclined to sell it and replace it with an AMD card.
Performance is an issue, but the bigger issue is that your model just won't work.
NVIDIA is really the only game in town right now. Google's TPUs are somewhat of an exception but they only sort of count, because you can't just go buy a TPU for training. Makes TPUs a non-starter for a lot of businesses.
What's interesting is the slow pace of change. 3 years ago we were in the exact same place. I don't see it changing overnight.
but that's what this is, right? https://coral.withgoogle.com/products/
I bet if NVIDIA significantly investing in GPU applications the competition would too.
It makes a whole lot of sense for #1 to vendorlock and #2 onwards to promote open standards. (See Microsoft circa 2001 vs. Microsoft today)
If everybody went vendor-agnostic you'd get a lot less support or you would have to find somebody else to pick up the mantle with an economic motive.
Yes Open CL 2.x woke up to the fact that most researchers would rather use something else other than C, but too late and the driver support and debugging tools are still found lacking versus what NVidia and their partners offer.
Even on mobiles, OpenCL doesn't have a say.
After the initial support, iOS is all about Metal Compute, and Android has Renderscript.
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.
“Why an external monitor? While both macOS and Windows can "loopback" frames rendered by the eGPU over the cable and onto the computer's built-in monitor, operating system support for this is very recent and it introduces a nonzero bandwidth cost which can result in lower framerates as well as frames being dropped.”
https://egpu.io/forums/mac-setup/script-enable-egpu-on-tb1-2...
Windows today boasts of good design, higher security than previous versions, a Microsoft supported full blown embedded Linux (WSL) and a much larger selection of apps/tools
It all comes down to specs and build quality in 2019. If one is paying top of the line for Apple, they better ship decent spec-ed hardware, including GPU