My mac studio should be able to handle most of games, and Apple should engineer m processors to allow egpus.
eGPUs on Thuderbolt are entirely a software capability of the host operation system (OS) issue. [ One reason why Windows got to eGPU technical support before macOS did. ] There is no substantive real hardware issues there at all. Primarily what need is some graphics drivers that implement the optional sections of PCI-e protocol that cover hot plugging / hot removal of a card. The hardware signaling protocols are already there for a proper PCI-e implementations.
there are over 50 cards that do work with macOS on M-series in a Thunderbolt connected external PCI-e enclosure.
For example, see the PCI-e card compatiblity matrix for the Echo 3:
https://www.sonnettech.com/product/echo-3-desktop/techspecs.html#techspecs
(it is a PDF file so not directly linking here. )
They send data signals back and forth just fine. There is zero real issues of sending data back and forth to the GPU card at the hardware level.
There are three major issues at the software level.
1. Apple doesn't boot UEFI . So standard off the shelf GPU cards that want to boot in a UEFI context are not supported by Apple at boot time. [ Can note in that list of over 50 cards there... none of those are early boot supported either with custom firmware. A storage card that presents as single , standard, NVMe drive? Yes. some kind of software/hardware RAID thing that needs to load firmware driver to work? no. ]
2. Kernel extensions are deprecated. The path forward is with DriverKit. The major trend going forward is that only Apple code is going in the kernel. 3rd party DriverKit code goes into a specialized "in between" state where only get shared kernel address space that is dedicated to only their specific device. ( using IOMMU mapping extensively to narrow window what drivers can touch).
DriverKit has an abstraction for general PCI-e devices that can pretty much keep to themselves. A substantive subset of the 50 card TB list is already on it. There are still some cards dragging their feet on deprecated keneral extenstion (kext) API. Apple has said several years ago that API was going away eventually.
What Apple has not done in last 2.5 years is roll out any API to write a display GPU driver . The now deprecated IOKit has a specific subclass for display GPUs. The modern API that Apple provides provides none. Apple Silicon is only more IOMMU rigorous than the Intel stuff was/is . So the old school kext GPU API isn't really going. So Apple isn't signing or even enabling a path in that area right now software/driver wise.
3. Metal is needed to get the most performance out of Apple GPUs. Apple GPUs need different Metal optimizations inserted into the application code than 3rd party discrete GPUs do. ( Intel iGPUs also).
Metal is also a relatively "thin" API so most optimizations have to inserted into applications directly. That means the work is shifted from Apple/GPU driver (with large/thick layer API) improvements to individual developers.
There is a developer 'herding' factor where Apple wants developers to spend time and money on optimizing for their GPU. If the choice of GPU on macOS on M-series is just GPU type .... then it is pretty easy to figure out where the money and time are going to go.
Somewhat tightly related is the ability for macOS on M-series to run native iPhone apps. Those apps are 100% optimized to Apple GPU and actually 'know' nothing about 3rd party GPUs at all. So what happens when one those Apps run on a display assigned to a 3rd party GPU? Apple could inject some misdirection or emulation hackery to get around the problem. However, if there are only Apple GPUs present on macOS on M-series no hackery is needed at all. Which one of those is cheaper to implement correctly. [ Hence why non display GPU PCI-e cards fall into a different treatment. ]
There is some likely exaggeration that Apple can fix all three of these with a wave of their hand. Apple does 100% of all the Metal work needed. ( likely probably most , but also not 100% ). If Metal was 100% apple they could just skip DriverKit's lack of an API and stuff the graphics driver direclty into the kernel. There might be some IOMMU semantic mismatches with 3rd party GPU hardware ... but seem to get around many other kinds of PCI-e cards.
If there is a hardware problem there pretty sure Apple would want a hardware change on the GPU side for appropriate IOMMU support ; not their side.
The early "boot" isn't likely going to get fixed. Could do a work-around where Recovery mode boot is always done from internal Apple iGPU , but it is just simpler if Apple just punts on jumpstarting GPUs late in the boot process.
[ 'raw iron' variant of native boot for other OS isn't going to get formal technical support from Apple. They have said that virtualization is their main path forward. ] Not likely going to get tweaked firmware cards just for macOS either out of mainstream GPU market. (not enough volume.)
Apple probably would add some decently large value add if they let external GPGPUs in as computation accelerators. ( GUI Apps don't drive a video display with them, but can assign them computation workload to do. ). Decent chance that run out of computational "horsepower" versus a future GPU than run out of ability to just drive a screen to a future GPU. Even more so once Apple SoCs get to point of supporting DisplayPort 2.1 and the resolution increases over the last several years slow down on the display side.
Sure there are a gamer crowd that lusts after future 120Hz, > 10-bit color , 8K screens , but that isn't Apple's core market. Not going to work all the time for eGPU on TBv3 bandwidth either.
Another addition that probably would be somewhat helpful would be an additional to Apple's virtualization framework that could direct map a 3rd party GPU to a guest Linux/Windows virtual machine instance. Won't help macOS apps directly (so side stepps the 'native Phone apps' ) , but would give those other OS that didn't kick out all 3rd party GPU drivers a chance to efficiently attach to one to drive some other monitor that the Mac isn't driving.
P.S. Macs with macOS on M-series is also relatively completely uninteresting for 3rd party GPU vendors also. Zero opportunity to be placed by default in an original Mac systems sell. zero chance on laptops. Apple dead set on kicking out Intel and AMD discrete GPus out of laptop. )and Nvidia blew up and burned bridges on their GPU relationship with Apple. That is just toast. ) That is completely 'over' at this point. That has a knock on effect on Mini , iMac , and MacStudio. Pretty good chance the next Mac Pro won't ship with any 3rd party GPU build to order option either. (similar to how someone can add an internal SATA drive to a Mac Pro 2019 , but Apple will not ship one that way at all. )
The GPUs that were embedded into Macs are what primarily enabled the GPU drivers being written and contributed to by the 3rd party GPU vendors. Apple sent them big checks for product. Those companies spent money making those
Apple purchased componetns worked well. Apple writes no check ... who is going to work for free?
GPU support in eGPU was almost entirely driven by embedded GPU placement by Apple into some other Mac. There has not been eGPU support for random GPU that Apple never used inside of a Mac.