На маках снова можно играть в Diablo II, IV и Overwatch
В одной из прошлых заметок я писал, что Diablo II перестала запускаться на маке с использованием оболочек wine – crossover, sikarugir и всех остальных. На самом деле, сначала перестал работать overwatch, за ним последовали Diablo II Resurrected и Diablo IV. Как выяснилось, причина была в новом античите, который использовал специфическую функцию, которая была реализована в трансляторе x86->arm с ошибкой.
Тут надо дать небольшое пояснение. Запуск windows-игры на macOs – это целая пачка слоёв трансляции кода, предназначенного для windows, работающей на x86 совместимых процессорах с 3d графикой на основе directX, openGL или vulkan на macOs, работающей на процессорах с архитектурой arm с 3d графикой на основе metal. И в трансляции команд x86 в команды arm в одной из функций закралась ошибка, приводившая к deadlock. Она не используется почти никогда и на работу игр обычно не влияла. Ситуацию осложняло то, что ошибка была в реализации rosetta 2, эмуляторе от apple, которые уже свернули разработку и развитие этого направления. Overwatch на маках не работал уже год. Но, видимо, плач игроков diablo оказался громче и в macOs Tahoe 26.4 ошибка была устранена.
На данный момент игры полностью работоспособны после обновления MacOs до версии 26.4 при запуске в свежей превью-сборке кроссовера (потому что для корректной работы игр необходимо также обновление wine). Превью доступны для обладателей лицензии на этой странице. Остальным придется подождать выхода 27 версии кроссовера или обновления сикаругира.