Продемонстрирован запуск Linux-окружения с GNOME на устройствах с чипом Apple M1

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 23 Aug 2021.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,324
    Likes Received:
    6,400
    Reputations:
    693
    Инициатива по реализации поддержки в Linux чипа Apple M1, продвигаемая проектами Asahi Linux и Corellium, достигла уровня, при котором стал возможен запуск рабочего стола GNOME в Linux-окружении, запущенном на системе с чипом Apple M1. Вывод на экран организован при помощи framebuffer, а поддержка OpenGL обеспечена при помощи программного растеризатора LLVMPipe. Следующим шагом станет задействование дисплейного сопроцессора для вывода с разрешением до 4K, обратный инжинириг драйверов для которого уже проведён.

    Проект Asahi добился включения в основной состав ядра Linux начальной поддержки компонентов SoC M1, не связанных с GPU. В продемонстрированном Linux-окружении помимо возможностей штатного ядра использовано несколько дополнительных патчей, связанных с PCIe, драйвером pinctrl для внутренней шины и дисплейным драйвером. Указанные дополнения позволили обеспечить вывод на экран и добиться работы USB и Ethernet. Ускорение графики пока не используется.

    Интересно, что для обратного инжинигинга SoC M1 проект Asahi вместо попыток дизассемблирования драйверов macOS реализовал гипервизор, выполняемый на уровне между macOS и чипом M1 и в прозрачном режиме перехватывающий и журналирующий все операции с чипом. Из особенностей SoC M1, затрудняющих реализацию поддержки чипа в сторонних ОС, упоминается добавление сопроцессора в дисплейный контроллер (DCP). На сторону указанного сопроцессора вынесена половина функциональности дисплейного драйвера macOS, который вызывает готовые функции сопроцессора через специальный RPC-интерфейс.

    Энтузиасты уже разобрали достаточно вызовов данного RPC-интерфейса, для того чтобы задействовать сопроцессор для вывода на экран, а также для управления аппаратным курсором и выполнением операций композитинга и масштабирования. Проблема состоит в том, что RPC-интерфейс зависит от прошивки и меняется в каждой версии macOS, поэтому в Asahi Linux планируется реализовать поддержку только определённых версий прошивок. В первую очередь будет обеспечена поддержка прошивки, поставляемой в macOS 12 "Monterey". Загрузить нужный вариант прошивки не представляется возможным, так как прошивку устанавливает iBoot на стадии до передачи управления операционной системе и с верификацией по цифровой подписи.

    [​IMG][​IMG]

     
    seostock, Payer and Baskin-Robbins like this.
Loading...