Re: [PATCH v2 0/2] Add support for eGPUs on Apple Products

Atharva Tiwari
2026-01-28T17:13:08Z

> It's possible that the iMac has a multiplexer built-in which can
> switch between the iGPU and dGPU at runtime. Please ensure that
> you have set CONFIG_APPLE_GMUX=y in your .config, the gmux driver
> should bind to the multiplexer if there is one.
>
> If there is a multiplexer built-in, then disabling the iGPU is the
> wrong approach.

I was using apple-gmux even before this patch, and runtime GPU switching
does not work on either macOS or Linux.
On macOS, the iGPU does not even appear in System Information.
However, the iGPU is present in IORegistry, and Apple appears to use it
only for acceleration, not for display output. This can be seen from
the following IORegistry entry:

| | | +-o AppleIntelFramebufferController <class AppleIntelFramebufferController, id 0x100000556, registered, matched, active, busy 0 (230 ms), retain 8>
| | | | | "IOClass" = "AppleIntelFramebufferController"
| | | | | "IOPersonalityPublisher" = "com.apple.driver.AppleIntelCFLGraphicsFramebuffer"
| | | | | "CFBundleIdentifierKernel" = "com.apple.driver.AppleIntelCFLGraphicsFramebuffer"
| | | | | "CFBundleIdentifier" = "com.apple.driver.AppleIntelCFLGraphicsFramebuffer"
| | | | | "IOMatchCategory" = "IOFramebuffer"
| | | | | "NumFrameBuffer" = <00>

NumFrameBuffer=0 says that iGPU isint handling any dispaly atm.