Схоже, що всі чудеса, які були намальовані про проект «Asahi Linux», будуть не просто словами, оскільки розробники дистрибутива з моменту анонсу проекту наполегливо працювали над тим, щоб вивести цей дистрибутив Linux на інший рівень.
Asahi Linux трохи більше трьох років розвитку, і за такий короткий час йому вдалося виділитися серед інших дистрибутивів не лише своїм характеристика роботи на комп'ютерах с яблучні чіпси M1, ProM1, MaxM2, M2, ProM2, Max і M2 ultra, а також за досягнення великих успіхів у графічному розділі в Linux.
І саме це недавно Команда розробників Asahi Linux представила набір інструменти, які дозволяють запускати ігри AAA на комп’ютерах із чіпом Apple M1, і згадується, що однією з головних технічних проблем була різниця в розмірі сторінок пам’яті, оскільки програми, скомпільовані для архітектури x86, розроблені для використання сторінок 4K, тоді як системи Apple використовують сторінки 16K.
Щоб вирішити цю невідповідність, друге ядро Linux було розгорнуто у віртуальному середовищі, Зібрано спеціально для роботи з різними розмірами сторінок пам’яті. Це досягається завдяки інструментам muvm, які дозволяють запускати ігри на незалежних віртуальних машинах, кожна з яких має власне ядро.
Є одна проблема: розмір сторінки. Операційні системи виділяють пам'ять у вигляді «сторінок» фіксованого розміру. Якщо програма очікує менших сторінок, ніж використовує система, вона зазнає невдачі через недостатнє вирівнювання відображення. Це проблема: x86 очікує 4K сторінок, але системи Apple використовують 16K сторінок.
Хоча Linux не може змішувати розміри сторінок між процесами, ви можете віртуалізувати інше ядро Arm Linux з іншим розміром сторінки. Тому ми запускаємо ігри всередині невеликої віртуальної машини за допомогою muvm, проходячи через такі пристрої, як GPU та ігрові контролери. Апаратне забезпечення задоволене, тому що система має 16 КБ, гра задоволена, тому що віртуальна машина має 4 КБ, а ви щасливі, тому що можете грати у Fallout 4.
інструменти Вони розроблені для підтримки ігор AAA, доступних у Steam, спочатку скомпільований для архітектури x86_64. Набір інструментів поєднує драйвери, розроблені Asahi Linux, які реалізують API Vulkan 1.3 і OpenCL 3.0, а також компоненти, які емулюють архітектуру x86_64 і забезпечують підтримку ігор для Windows.
Що стосується більш вимогливих до графіки ігор, таких як The Witcher 3 і Ghostrunner, які покладаються на використання тесселяції та шейдерів геометрії, використовується емуляція обчислювального шейдера щоб вони працювали правильно.
Однак деякі ключові функції все ще знаходяться на стадії розробки. Наприклад, контролер Honeykrisp уже підтримує розріджені текстури, важливу функцію для ігор, які використовують DX12, наприклад Cyberpunk 2077, але деталі вдосконалюються, щоб покращити його продуктивність. Крім того, ведеться робота над оптимізацією, щоб ігри досягали плавної швидкості 60 FPS у цих емульованих середовищах.
Варто зазначити, що Пакети, необхідні для ввімкнення цієї функції, уже доступні у стандартному репозиторії дистрибутива Fedora Asahi Remix. Для запуску ігор користувачам потрібно лише оновити драйвери за допомогою команди:
sudo dnf update --refresh
Після цього ви можете встановити Steam за допомогою
sudo dnf install steam
І він автоматично встановить усі необхідні залежності.
Нарешті, також варто згадати, що драйвер Vulkan Honeykrisp, емулятор FEX (який дозволяє запускати програми x86 на системах ARM), проект Wine і рівні DXVK і vkd3d-proton, які реалізують API DirectX поверх Vulkan, включені.
Розробники зазначають, що через накладні витрати, пов’язані з процесом емуляції, рекомендується, щоб системи мали принаймні 16 ГБ оперативної пам’яті, а також щоб вони вже працювали в емуляції x86 загального призначення.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями в наступне посилання.