Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11
Перетяжка, Премия ТПрогер, 13.11

🔥 Linux полностью портировали на Mac M1/M2 — работают даже игры через Proton

Новости

Отличный пример качественного реверс-инжиниринга

9К открытий20К показов
🔥 Linux полностью портировали на Mac M1/M2 — работают даже игры через Proton

Спустя почти пять лет после выхода первых Mac на чипах Apple Silicon, Linux наконец-то полноценно работает на M1 и M2 — с графическим ускорением, поддержкой Vulkan и запуском Windows-игр через Proton.

За проектом стоит команда Asahi Linux. Ключевую роль в успехе сыграли разработчики, собравшие полноценный стек драйверов с нуля — без помощи Apple и без официальной документации.

От треугольника к OpenGL 4.6

Работа началась в декабре 2020 года — всего через несколько недель после релиза M1. Разработчик Кристиан Шалонски, ранее работавший над драйвером Panfrost (для GPU Mali), увлекся идеей и начал реверс-инжиниринг графической части Apple Silicon.

Сначала я просто нарисовал треугольник. В 3D-графике, если ты можешь нарисовать треугольник — ты можешь все.
Кристиан Шалонскиразработчик

Потом появился полноценный компилятор шейдеров, поддержка OpenGL. Еще позже — сложнейшая эмуляция геометрии и тесселяции шейдеров.

В январе 2024 года стек получил официальную сертификацию OpenGL 4.6.

Vulkan, Direct3D и Proton

Следом Шалонски собрал Vulkan-драйвер и уже через несколько недель получил Vulkan 1.3, а позже — Vulkan 1.4 с поддержкой делимых текстур. Это стало финальной точкой: через Proton теперь запускаются Windows-игры с поддержкой Direct3D 11/12.

Да, вы не ослышались: на Mac с M1 можно запускать игры для Windows через Proton от Valve. И они работают.

Также команда обеспечила поддержку OpenCL 3.0 (благодаря Karol Herbst) и OpenGL ES 3.2, обеспечив совместимость с мобильными и встраиваемыми приложениями.

Полноценный десктоп на Linux

Сегодня на Asahi Linux для Mac M1/M2 работают:

  • Wi-Fi, Bluetooth, аудио;
  • видеоускорение;
  • полнодоступный терминал и графическая среда;
  • поддержка Wayland и X11;
  • графические API: OpenGL, Vulkan, OpenCL;
  • игры через Proton и Wine.

Все это — с открытым кодом и в мейнлайне Mesa.

Почему это важно

Apple по-прежнему не дает официального доступа к документации GPU. Это делает реализацию открытого драйвера большим инженерным достижением, сопоставимым с реверсом графики NVIDIA до появления Nouveau.

Кроме того, это еще один шаг к альтернативной экосистеме на базе Linux даже на закрытом железе Apple. Проект может вдохновить:

  • разработчиков игр, заинтересованных в кросс-платформенности;
  • линуксоидов, использующих Mac в качестве основного железа;
  • вендоров и дистрибутивы, которые могут внедрить поддержку Apple Silicon без сторонних патчей.
Следите за новыми постами
Следите за новыми постами по любимым темам
9К открытий20К показов