Инженер-программист Скотт Дж. Гольдман провёл, пожалуй, самый изобретательный hardware-проект года: заставил RTX 5090 работать как внешний GPU на MacBook — и не на старом Intel-маке, где это было относительно реалистично, а на современных Apple Silicon с чипами M4 и M5 Max. Apple официально на ARM-маках eGPU с Nvidia не поддерживает: в macOS нет драйверов Nvidia, а в Linux нет драйверов Thunderbolt для Apple Silicon. Гольдман склеил эту пропасть виртуальной машиной, кастомным форком QEMU и стопкой эмуляционных прослоек — и в финале получил MacBook Air M4, играющий в Cyberpunk 2077 на RTX 5090.

Подробный разбор эксперимента Гольдман опубликовал у себя в блоге 5 мая 2026 года, а 18 мая большие тех-издания обратили на него внимание. Главный вывод неожиданный: лучше всего эта конструкция показала себя не в играх, а в локальном инференсе нейросетей.

Источник изображения — scottjg.com Источник изображения — scottjg.com

Если коротко (TL;DR)

  • MacBook Pro с M5 Max + eGPU-док с RTX 5090 запускает Cyberpunk 2077 на 100+ FPS в 1080p RT Ultra и 145 FPS в 4K RT Ultra — но только с включённой генерацией кадров.
  • Без frame generation в 1080p RT Ultra — около 60 FPS на M5 Max и ниже 50 FPS на M4 Air; обычный десктоп с Core i5-12600K и той же RTX 5090 выдаёт более 150 FPS.
  • Главный «узкий горлышко» — слой трансляции FEX, который перевод x86 → ARM съедает примерно 50% производительности CPU.
  • В одиночных сценах при 1080p high встроенный GPU M5 Max в нативной macOS (131 FPS) реально быстрее, чем M5 Max + RTX 5090 (68 FPS), из-за накладных расходов виртуализации.
  • Не всё работает: Horizon Zero Dawn Remastered не стартует вообще, упираясь в лимит DART-маппингов; Steam периодически крашится из-за бага FEX.
  • Реальный «икс-фактор» проекта — локальная AI-инференция: связка даёт прирост скорости генерации токенов в Qwen с 22 до ~155 tok/s и ускоряет prefill примерно в 100 раз.

Зачем кто-то вообще полез прицеплять RTX 5090 к ARM-маку

Apple Silicon — формально один из самых быстрых потребительских CPU на рынке: M5 Max соперничает с топовыми десктопными чипами AMD и Intel в ряде задач. Логичный вопрос: если CPU-часть мощная, можно ли «допилить» MacBook до полноценной игровой машины, прицепив внешнюю топовую видеокарту через Thunderbolt? До недавнего времени ответ был «нет, потому что Apple» — но Гольдман решил, что это вопрос упрямства, а не физики.

Толчком стало то, что Apple за последние годы серьёзно расширила возможности виртуализации на macOS, а Linux уже давно поддерживает GPU Nvidia через нативные драйверы. Идея на бумаге простая:

  • macOS host видит Thunderbolt-устройство (eGPU-док с RTX 5090);
  • хост пробрасывает PCI-устройство в ARM-Linux-VM на QEMU;
  • внутри Linux нативные драйверы Nvidia подхватывают RTX 5090 как обычный PCIe-GPU;
  • сверху Proton переводит Windows-вызовы в Linux, а FEX-Emu переводит x86-64 в ARM64.

На бумаге — четыре стрелки. В реальности — около двадцати костылей.

Почему это так больно собрать

Гольдман подробно описывает, во что упирается «простая» идея. У Apple Silicon есть аппаратный IOMMU под названием DART, который накладывает на проброс DMA два жёстких ограничения:

  • не более ~1,5 ГБ маппируемой памяти;
  • не более ~64 000 одновременных маппингов.

Для современных игр этого катастрофически не хватает: Horizon Zero Dawn Remastered просто не запускается даже в 720p low — упирается в лимит. Пришлось писать виртуальное PCI-устройство apple-dma-pci, перехватывать DMA-вызовы драйвера Nvidia и группировать соседние аллокации в блоки по 256 КБ — это сократило число маппингов примерно в 4 раза.

Дальше — больше. Драйвер Nvidia ждёт определённого выравнивания памяти, которое DART не умеет давать; Гольдман через kprobes на лету патчит функции драйвера, чтобы переключить его на меньший размер страниц. Маппинг device memory с флагом EXEC вызывал kernel panic — пришлось его выключать. macOS-планировщик сначала считал всю VM фоновой задачей и зажимал ей приоритет — пришлось руками поднимать приоритет процессов QEMU.

Bandwidth, как ни странно, не главная проблема: Thunderbolt 4 даёт всего 4 линии PCIe (40 Гбит/с) против 16 линий у нормального десктопного слота, но в большинстве тестов узким горлом оказывается не пропускная способность, а именно CPU-часть после виртуализации и трансляций.

Cyberpunk 2077 — главный игровой тест

Голландман гонял пять конфигураций с одной и той же RTX 5090 (плюс игровой ПК для сверки) в Cyberpunk 2077 в разных разрешениях. Самое показательное — 1080p, пресет RT Ultra:

  • M5 Max MacBook Pro + eGPU — ~60+ FPS без framegen, 100+ FPS с DLSS frame generation;
  • M4 MacBook Air + eGPU — ниже 50 FPS без framegen;
  • Intel MacBook Pro 2020 (Core i7-1068NG7) + eGPU нативно на Linux — почти такой же результат, как у M4 Air;
  • Игровой ПК на Core i5-12600K + RTX 5090 — более 150 FPS без framegen, 407 FPS с DLSS framegen.

В 4K RT Ultra картина уже интереснее — здесь нагрузка смещается на GPU, и расклад приближается:

  • M5 Max + eGPU — 47 FPS нативно, 145 FPS с framegen;
  • M4 Air + eGPU — 27 FPS нативно, 111 FPS с DLSS framegen;
  • M4 Air без eGPU — около 3 FPS, абсолютно неиграбельно;
  • Игровой ПК — 100 FPS нативно, 282 FPS с framegen.

Самый отрезвляющий момент — это сравнение M5 Max нативно в macOS (без всего этого зоопарка) и M5 Max + RTX 5090 в виртуалке. В лёгких сценариях встроенный GPU «макса» спокойно обгоняет «прокаченную» сборку:

  • 1080p high — M5 Max нативно 131 FPS против 68 FPS со связкой eGPU;
  • 1080p RT Ultra — 59 FPS нативно, 88 FPS с FSR framegen — уже без всякого RTX 5090.

То есть для большинства игроков в 1080p апгрейд за тысячу долларов в виде RTX 5090 + Thunderbolt-док в этой конфигурации просто бессмыслен — родной GPU «макса» закрывает задачу. eGPU становится критичным только в 4K и при включённой трассировке лучей.

Что ещё работает (а что — нет)

Из остальных запущенных проектов:

  • Shadow of the Tomb Raider: в 4K на M4 Air встроенный GPU выдаёт 8 FPS, с RTX 5090 через eGPU — уже 40 FPS. В 1080p — 26 FPS «нативно», 42 FPS с eGPU. То, что 1080p и 4K дают почти одинаковую цифру, прямо указывает: упор не в GPU, а в CPU после виртуализации.
  • Doom (2016) работает, оверлей показывает около 49 FPS.
  • Crysis Remastered запускается на максимальных в 1080p на M4 Air — 23 FPS; обычный ПК с той же видеокартой почти вчетверо быстрее.
  • Horizon Zero Dawn Remastered не стартует вообще — упирается в DART-лимит на маппинги, даже в 720p low.
  • Steam регулярно валится в цикл из-за бага FEX-Emu.
  • Загрузка некоторых игр занимает минуты, со временем фрагментация DMA-маппингов требует перезапуска VM.

Где этот франкенштейн действительно полезен — нейросети

Самый недооценённый вывод из всей затеи — не игровой. CUDA нативно работает на arm64 Linux, а значит, после проброса RTX 5090 в виртуалку никаких трансляций FEX и Proton AI-нагрузке не нужно — она идёт напрямую в драйвер Nvidia.

Результаты в локальном инференсе Qwen, по замерам Гольдмана:

  • Prefill на M4 Air ускоряется примерно в 100 раз;
  • Одиночная генерация токенов — с ~22 до ~155 tok/s;
  • Конкурентная нагрузка реально масштабируется по числу потоков, а не упирается в один поток, как в нативной macOS.

В синтетике GravityMark разрыв между eGPU-сборкой и нативным десктопом на 12600K — всего ~20%. То есть в задачах, где CPU почти не нагружен (а вся работа уходит в GPU), вся эта виртуализационная вышивка стоит относительно дёшево.

Что говорит сам Гольдман

Финальный комментарий автора предельно честный: он выложил форк QEMU с поддержкой PCI passthrough на GitHub, но для запуска драйвера PCIDriverKit Apple требует специальный entitlement — и заявку Гольдмана пока не одобрили. То есть «скачать и поставить» не получится, надо собирать самому.

«Виртуальное DMA-устройство, kprobes-патчинг драйвера Nvidia, hardware TSO, серьёзный патч QEMU, объединитель маппингов, чтобы влезть в 64k DART, — и в конце всего этого MacBook Air действительно гоняет Cyberpunk, Crysis и Doom на RTX 5090 в Linux-VM», — пишет инженер. И тут же добавляет: «Если бы Linux получил поддержку Thunderbolt на Apple Silicon, всё это схлопнулось бы. Никаких BAR-задержек, никаких DMA-лимитов, никакой VM-прослойки».

Стоит ли повторять

Короткий ответ — нет, если цель именно играть. Чтобы дотянуть RTX 5090 на MacBook до приличного FPS, нужно собрать кастомный QEMU, накатить FEX, Proton, патчить ядро и заранее смириться с тем, что часть игр просто не запустится, а Steam периодически будет уходить в зацикленный краш. При этом «обычный» ПК на трёхлетнем Core i5-12600K с той же RTX 5090 в стандартном слоте в 2–4 раза быстрее.

Но как технологическое доказательство — это очень крутой результат. Гольдман на практике показал, что архитектурно Apple Silicon не несовместима с внешними GPU — это политическое решение Apple. Если бы Купертино добавил официальные драйверы Nvidia/AMD, поднял лимиты DART и разрешил PCIDriverKit без отдельных entitlement’ов, eGPU-гейминг на M-серии стал бы реальностью на следующий день. Пока же это остаётся хобби-проектом одного очень упрямого инженера — и заодно неожиданно хорошей платформой для локального LLM-инференса.