Нейросеть за месяц помогла написать графический драйвер для Mac M4

leer en español

19902
Нейросеть за месяц помогла написать графический драйвер для Mac M4

Gravity Linux уже запускает KDE Plasma с аппаратным ускорением, хотя система пока остаётся ранней альфа-версией.

image

Проект Gravity Linux выпустил раннюю альфа-версию Linux для Mac mini с процессором M4, причём система уже использует аппаратное ускорение графики. Разработчики Коди Хо и Никлас Шет утверждают, что создали драйвер графического процессора примерно за месяц, активно поручая анализ оборудования и написание кода большим языковым моделям.

В альфа-версии работают контроллер дисплея DCP и графический процессор с поддержкой OpenGL ES 3.0 и OpenGL 3.3. Gravity Linux основан на Fedora и по умолчанию запускает KDE Plasma через Wayland. Разработчики прямо предупреждают, что выпуск предназначен прежде всего для тестирования и пока не подходит в качестве основной системы.

Список ограничений остаётся существенным. Mac mini пока нельзя переводить в спящий режим, вывод изображения через USB-C не работает, как и Thunderbolt с USB4. Управление питанием ещё не закончено, выключение и перезагрузка иногда дают сбои, а переход с нынешней альфа-версии на будущую бета-версию может потребовать полной переустановки системы.

Главная особенность Gravity Linux связана не столько с самим запуском Linux на M4, сколько со способом разработки. Проект появился как ответвление Asahi Linux после разногласий вокруг использования больших языковых моделей. Правила Asahi Linux запрещают применять генеративные модели для существенных вкладов в проект, поскольку команда опасается проблем с авторским правом, происхождением кода и реверс-инжинирингом компонентов Apple.

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

Хо подробно описал разработку графического драйвера. Вместо документации Apple команда наблюдала за поведением оборудования, записывала обращения macOS к графическому процессору, проводила собственные эксперименты и постепенно восстанавливала интерфейс между Linux и прошивкой GPU. По словам разработчика, при создании драйвера команда не анализировала исполняемые файлы Apple, а использовала аппаратные трассировки и самостоятельно написанные шейдеры.

Значительную часть повторяющейся работы Хо и Шет передавали программным агентам на базе Codex и Claude. Модели запускали эксперименты, сравнивали состояния памяти, пытались воспроизводить команды графического процессора и писали части драйвера. Людям всё равно приходилось вмешиваться, когда агенты выбирали неправильное направление или застревали на второстепенных задачах. Хо отдельно описывает случаи, когда модель выдвигала ошибочные объяснения неполадок и не могла самостоятельно найти причину сбоя.

В итоге разработчики заявляют о полной совместимости своего драйвера с набором тестов OpenGL ES 3.0. В одном из показанных ими тестов Minecraft работал на Mac mini M4 со скоростью около 200 кадров в секунду. Хо называет получившуюся реализацию первым известным ему графическим драйвером, код которого в значительной степени написали большие языковые модели, однако признаёт, что перед включением разработки в основные проекты Linux потребуются серьёзное тестирование, переработка и проверка людьми.

Gravity Linux заметно опередил основной проект именно по поколению поддерживаемого оборудования. У Asahi Linux официальная поддержка M4 пока не готова для обычной установки, а большинство компонентов для компьютеров с M4, M4 Pro и M4 Max всё ещё отмечены как ожидающие разработки. При этом сравнивать проекты напрямую трудно: Gravity предлагает экспериментальную систему для разработчиков, тогда как Asahi поддерживает значительно больше моделей Mac и постепенно отправляет свои драйверы в основное ядро Linux.

Сложности с M4 возникли из-за изменений, которые Apple внесла в загрузку и механизмы защиты новых процессоров. Ранее разработчики столкнулись с тем, что привычный гипервизор для анализа macOS перестал работать на новом поколении чипов. Хо создал собственный гипервизор для современных Apple Silicon и утверждает, что преимущественно автономная работа программных агентов позволила пройти часть этапов реверс-инжиниринга за несколько недель.

Основной Asahi Linux тем временем недавно добавил M3 в установщик, хотя графическая часть для поколения M3 ещё не достигла уровня M1 и M2. Gravity Linux намерен продолжить работу над M4, M4 Pro и M4 Max, а позднее заняться более новыми процессорами. Долгосрочная цель команды заключается не в развитии отдельного дистрибутива: разработчики хотят перенести полученные драйверы и поддержку оборудования в основные проекты Linux, после чего необходимость в самостоятельной сборке Gravity Linux должна исчезнуть.

Реклама 18+
Рекламодатель
Реклама. АО «Позитив Текнолоджиз». ИНН 7718668887. 18+
Сайт рекламодателя: ptsecurity.com
Реклама