MacGamingFixes

windows-игры в crossover на mac. без лагов, без net jitter, без треска звука.

cs2, deadlock и любая другая windows-игра через crossover приносят три проблемы, которые не лечатся ни настройками игры, ни настройками macos: игра дёргается каждые 30 секунд, по wi-fi постоянный net jitter, звук трещит, а микрофон заикается в голосовом чате. macgamingfixes — маленькое бесплатное приложение для macos, которое убирает все три патчем wine внутри crossover. каждый фикс — переключатель; выключили — оригинальные файлы вернулись на место.

apple silicon · macos 14+ · crossover 26 · лицензия mit · русский и английский

три фикса внутри crossover

замерено на одном macbook pro m3 max с crossover 26.0 и deadlock. каждая карточка открывает статью с методом и цифрами.

отсрочка записи реестра

wine дважды в минуту замораживает все процессы бутылки примерно на четверть секунды, чтобы переписать реестр. этот фикс придерживает запись, пока идёт игра.

самый долгий фриздо264 мспосле10 мс
как это работает →
wi-fi без задержек

чип wi-fi в mac может придерживать пакеты до 25 мс ради экономии энергии. он перестаёт это делать, когда какой-нибудь сокет запрашивает обслуживание реального времени. wine его не запрашивает, поэтому запрашивает этот фикс.

медиана до роутерадо8.7 мспосле3.8 мс
как это работает →
фикс аудиобуфера

игры под crossover трещат, если устройство вывода не работает на 88.2 или 96 кгц, а bluetooth и большинство usb-устройств так не умеют. дело никогда не было в частоте. дело в длине буфера, и её можно исправить на любой частоте.

вставлено тишины, bluetooth-гарнитурадо6.3 %после0.1 %
как это работает →

это про меня?

cs2 или deadlock лагает каждые 30 секунд на mac (crossover, steam)

ровный fps, а потом рывок как по часам каждые 30 секунд, и график сети или телеметрия deadlock в тот же момент показывает всплеск джиттера. это запись реестра wine, а не сеть и не видеокарта: сервер wine переписывает system.reg (12 мб в бутылке steam), и каждый процесс бутылки ждёт около 240 мс. снижение графики не помогает; отсрочка записи реестра убирает фриз.

высокий net jitter или потери пакетов в cs2 на mac по wi-fi

это две разные вещи. джиттер, который виден только на mac при в целом нормальном соединении, — обычно энергосбережение чипа wi-fi: он придерживает пакеты до 25 мс, пока какой-нибудь сокет не попросит класс реального времени; нативные игры просят, wine — нет. wi-fi без задержек чинит эту часть. потери пакетов за роутером (провайдер, игровой релей) к mac не относятся, и здесь их ничто не исправит; чтобы отличить одно от другого, сделайте ping до роутера, а потом до релея. игра от батареи добавляет сверху всплески по 100 мс и больше: подключите зарядку.

треск и щелчки звука в играх через crossover; микрофон заикается в discord или голосовом чате

обычный совет — выставить устройству вывода 96 кгц в audio midi setup. он работает потому, что на 96 кгц блок coreaudio в 512 кадров короче 10-мс аудиопериода wine. bluetooth-гарнитуры и большинство usb-микрофонов 96 кгц не умеют, поэтому на 44.1 и 48 кгц в воспроизведение вставляется тишина, а микрофон теряет около 7 % сказанного. фикс аудиобуфера просит у coreaudio короткий блок на любой частоте, и устройство на 96 кгц больше не нужно. отдельная ловушка: когда macos выбирает входом микрофон самой bluetooth-гарнитуры, она переходит в 16 кгц моно; инструмент аудиоустройства об этом предупреждает.

f1–f12 не работают в играх на macbook без fn

в macos есть этот переключатель (клавиатура → «использовать клавиши f1, f2 и др. как стандартные функциональные»), но он спрятан и ручной. функциональные клавиши переключают его сразу: вручную или автоматически, пока запущена выбранная игра или включён игровой режим macos.

работает ли с whisky, game porting toolkit, parallels и нативными играми steam?

пока нет. приложение патчит только пакет crossover (проверено на crossover 26). у whisky и game porting toolkit та же раскладка wine, но версия старее (7.7 против 11 в crossover), так что как минимум аудио-обёртке нужна своя сборка. parallels — виртуальная машина, не wine. у нативных mac-игр (например, dota 2) этих проблем никогда не было. нужна поддержка whisky — откройте issue или напишите на contact@been.earth.

какие игры и какие mac?

фиксы действуют на бутылку, а не на игру: их получает всё в той же бутылке crossover, а бутылка steam обычно содержит все ваши игры. замерено с deadlock; cs2 работает в той же бутылке. пока одна машина: macbook pro m3 max, macos 27, crossover 26.0. только apple silicon.

два инструмента для macos

они меняют обычные настройки macos, а не crossover, и действуют сразу.

функциональные клавиши

игры используют f1–f12. macbook вместо них отправляет клавиши яркости и медиа, пока не зажат fn. этот переключатель меняет поведение верхнего ряда мгновенно — вручную или при запуске игры.

как это работает →
аудиоустройства

wine использует устройства macos по умолчанию. эта карточка выбирает их без похода в системные настройки и не даёт bluetooth-гарнитуре незаметно стать микрофоном.

как это работает →

установка

  1. скачайте MacGamingFixes-0.1.1.dmg из релизов и откройте.
  2. перетащите macgamingfixes в «программы».
  3. разрешите первый запуск: сборка не подписана apple, см. ниже.
  4. откройте приложение. настройка занимает минуту: язык, где лежит crossover, одно разрешение macos, какие фиксы применить.
  5. перезапустите то, что работает в бутылке: steam или игру, запущенную из crossover. уже запущенное использует старые файлы, и приложение после каждого применения называет, что перезапустить.

после обновления crossover

обновление crossover или повторный патч cxpatcher заменяют пропатченные файлы, так что фиксы слетают, пока их не применить заново. откройте macgamingfixes один раз после обновления: по умолчанию он это заметит и вернёт фиксы сам; если автоповтор выключен — предупредит и оставит переключатели вам.

первый запуск: без подписи apple

за проектом нет сертификата разработчика apple, поэтому macos один раз остановит приложение и скажет, что не может его проверить. либо откройте системные настройки → конфиденциальность и безопасность, найдите сообщение про macgamingfixes и нажмите всё равно открыть, либо снимите флаг загрузки в терминале:

xattr -dr com.apple.quarantine /Applications/MacGamingFixes.app

без пароля администратора, без отключения sip, без полного доступа к диску. единственное разрешение, которое просит настройка, — «управление приложениями», чтобы приложение могло писать внутрь crossover.