FULL AI ANALYSIS

Safari WebRTC video window black when external eGPU connected on macOS 13.6

Generated Oct 3, 2026, 12:35:03 AM

Analysis summary

The problem is limited to GPU-accelerated browser compositing when the system uses the eGPU. Native capture/recording works, and forcing software rendering in Chrome resolves the issue, indicating the capture pipeline is fine but compositing with the eGPU-backed acceleration fails. Console WindowServer framebuffer logs imply the OS is switching GPU contexts or failing to composite accelerated layers for sandboxed browser tabs. This can be due to driver bugs, mismatched GPU process acceleration, or GPU affinity changes when eGPU is the active accelerator.

Possible causes

macOS GPU driver/regression causing WindowServer accelerated compositing to fail for sandboxed browser GPU processes when eGPU is active.

90%

Browser GPU process using a different GL/Metal device id when eGPU is present, causing incompatible layer backing and failing compositing.

75%

Camera frames being copied using CPU path but browser expects GPU-backed pixel buffers, and buffer transfer to eGPU fails.

40%

Thunderbolt firmware/power or bus resets causing intermittent framebuffer availability leading to black frames.

30%

Suggested fixes

1

Diagnostic step 1

Reproduce with minimal variables: boot into safe mode (disables third-party kexts) and test; if video works, third-party drivers or extensions are suspect.

2

Diagnostic step 2

In Safari/Chrome, disable hardware video acceleration and confirm video appears; if so, keep acceleration off for those apps until vendor fixes are available.

3

Diagnostic step 3

Collect logs: run 'log show --predicate "process == \"WindowServer\" || process == \"Safari\"' --last 1h' while reproducing and capture browser internals (about:gpu or WebRTC logs) to correlate failures.

4

Diagnostic step 4

Test with different eGPU/Thunderbolt cable and different monitor connection (direct to laptop) to rule out TB3 link issues.

5

Diagnostic step 5

File a bug with Apple including WindowServer logs, GPU driver messages, and minimal repro steps. If business-critical, escalate to Apple Enterprise/AppleCare with attached logs; in parallel, use software rendering for browsers as a reversible mitigation.