Trình diễn khởi chạy môi trường Linux với GNOME trên các thiết bị có chip Apple M1

Sáng kiến ​​triển khai hỗ trợ Linux cho chip Apple M1, được thúc đẩy bởi các dự án Asahi Linux và Corellium, đã đạt đến mức có thể chạy máy tính để bàn GNOME trong môi trường Linux chạy trên hệ thống có chip Apple M1. Đầu ra màn hình được sắp xếp bằng bộ đệm khung và hỗ trợ OpenGL được cung cấp bằng trình rasterizer phần mềm LLVMPipe. Bước tiếp theo sẽ là cho phép bộ đồng xử lý hiển thị xuất ra độ phân giải lên tới 4K, trình điều khiển đã được thiết kế ngược.

Project Asahi đã đạt được sự hỗ trợ ban đầu cho các thành phần không phải GPU của SoC M1 trong nhân Linux chính. Trong môi trường Linux đã được chứng minh, ngoài các khả năng của hạt nhân tiêu chuẩn, một số bản vá bổ sung liên quan đến PCIe, trình điều khiển pinctrl cho bus nội bộ và trình điều khiển hiển thị đã được sử dụng. Những bổ sung này giúp có thể cung cấp đầu ra màn hình và đạt được chức năng USB và Ethernet. Tăng tốc đồ họa chưa được sử dụng.

Điều thú vị là, để thiết kế ngược M1 SoC, dự án Asahi, thay vì cố gắng tháo rời trình điều khiển macOS, đã triển khai một trình ảo hóa chạy ở cấp độ giữa macOS và chip M1, đồng thời chặn và ghi lại mọi hoạt động trên chip một cách minh bạch. Một trong những tính năng của SoC M1 gây khó khăn cho việc triển khai hỗ trợ chip trong hệ điều hành của bên thứ ba là việc bổ sung bộ đồng xử lý vào bộ điều khiển hiển thị (DCP). Một nửa chức năng của trình điều khiển hiển thị macOS được chuyển sang phía của bộ đồng xử lý được chỉ định, bộ xử lý này gọi các chức năng được tạo sẵn của bộ đồng xử lý thông qua giao diện RPC đặc biệt.

Những người đam mê đã phân tích đủ số lệnh gọi đến giao diện RPC này để sử dụng bộ đồng xử lý cho đầu ra màn hình, cũng như để điều khiển con trỏ phần cứng và thực hiện các hoạt động tổng hợp và chia tỷ lệ. Vấn đề là giao diện RPC phụ thuộc vào phần sụn và thay đổi theo từng phiên bản macOS, vì vậy Asahi Linux dự định chỉ hỗ trợ một số phiên bản phần sụn nhất định. Trước hết, phần sụn đi kèm với macOS 12 “Monterey” sẽ được cung cấp hỗ trợ. Không thể tải xuống phiên bản chương trình cơ sở cần thiết vì chương trình cơ sở được iBoot cài đặt ở giai đoạn trước khi chuyển quyền điều khiển sang hệ điều hành và xác minh bằng chữ ký số.

Trình diễn khởi chạy môi trường Linux với GNOME trên các thiết bị có chip Apple M1
Trình diễn khởi chạy môi trường Linux với GNOME trên các thiết bị có chip Apple M1


Nguồn: opennet.ru

Thêm một lời nhận xét