Тепер можна запускати Gnome на Apple M1

Кілька місяців тому ми ділимось тут у блозі новини про ініціатива підтримки Linux для чіпа Apple M1, сприяє проектам Asahi Linux і Corellium, які протягом усього цього часу працювали і тепер ви досягли точки, де можна запустити робочий стіл GNOME в середовищі Linux, що працює на системі з чіпом Apple M1.

Візуалізація організовано фреймбуфером та підтримкою OpenGL надається програмним забезпеченням для растеризації LLVMPipe. Наступний крок - увімкнути співпроцесор дисплея для вихід до 4K, яка вже була реконструйована.

Проект Asahi отримав початкову підтримку для компонентів SoC M1, що не є графічними процесорами, у ядрі ядра Linux. У продемонстрованому середовищі Linux, на додаток до можливостей стандартного ядра, використовується кілька додаткових патчів, пов'язаних з PCIe, драйвером pinctrl для внутрішньої шини та драйвером дисплея. Ці доповнення дозволили відображення на екрані та роботу USB та Ethernet. Графічне прискорення поки не використовується.

M1 являє собою величезний виклик інженерної інженерії, з великою кількістю спеціального обладнання та повністю без документів. Одним із підходів до апаратного забезпечення реверсної інженерії є сліпе зондування, оскільки ми використовували інверсійний драйвер переривання Apple, але це насправді не працює для більш складного обладнання.

Щоб належним чином зрозуміти, як обробляється апаратне забезпечення, нам слід подивитися на єдину документацію, що існує: саму macOS. Технічно можна було б розібрати та реконструювати самі драйвери macOS, але це викликає юридичні проблеми, які можуть поставити під загрозу статус авторського права нашого проекту, а також бути неефективними, оскільки більшість коду є специфічним для фреймворка драйверів macOS. і це не дає нам корисної інформації про обладнання.

Цікаво, реконструювати SoC M1, проект Асахі, замість того, щоб намагатися відключити драйвери від macOS, реалізовано гіпервізор, який працює між macOS і чіпом M1 перехоплює та прозоро записує всі операції з чіпом. Серед особливостей SoC M1, які ускладнюють реалізацію підтримки чіпів у сторонніх операційних системах,-це додавання співпроцесора до контролера дисплея (DCP).

На зазначеній стороні співпроцесора видаляється половина функціональних можливостей драйвера дисплея macOS, який викликає попередньо вбудовані функції співпроцесора через спеціальний інтерфейс RPC.

Натомість набагато більш безпечний підхід, який раніше використовувався в таких проектах, як Нуво, - це запис журналу апаратних звернень, здійснених офіційними контролерами, у реальній системі, без перегляду коду. Nouveau досяг цього, використовуючи драйвер Linux для перехоплення доступу з офіційного драйвера Linux від Nvidia. Звичайно, драйвери Apple M1 призначені для macOS, а не для Linux. Хоча ми могли б реалізувати той самий підхід із власним виправленням для ядра з відкритим вихідним кодом ядра macOS, ми вирішили заглибитися на один рівень глибше і створити гіпервізор, який може запускати всю макрос без змін, у віртуальній машині, яка його містить. прозоро. справжнє обладнання M1.

Ентузіастів вже виявили достатньо дзвінків до цього інтерфейсу RPC використовувати співпроцесор для відображення, а також керувати апаратним курсором та виконувати операції композиції та масштабування.

Проблема в тому, що інтерфейс RPC залежить від прошивки та змін у кожній версії macOS, тому Asahi Linux планує підтримувати лише певні версії прошивки.

Спочатку буде надана підтримка прошивки, що поставляється з macOS 12 "Монтерей". Неможливо завантажити необхідну опцію прошивки, оскільки прошивка встановлюється iBoot на етапі до передачі управління операційній системі та перевіряється за допомогою цифрового підпису.

Фуенте: https://asahilinux.org


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.