You are currently viewing Snapintosh đưa macOS lên laptop Snapdragon X2 Elite với GPU Adreno chạy Metal

Snapintosh đưa macOS lên laptop Snapdragon X2 Elite với GPU Adreno chạy Metal

Có một repo trên GitHub đang khiến dân làm hackintosh và dev hệ điều hành phải dừng lại xem. Snapintosh boot được macOS 27 (build 26A428) trên chiếc ASUS Zenbook A16 dùng chip Qualcomm Snapdragon X2 Elite (X2E-96-100). Không phải giả lập, không phải máy ảo. macOS chạy native trên nhân ARM của Qualcomm, với GPU Adreno X2-90 tăng tốc phần cứng.

Nghe qua thì giống trò đùa. Nhưng README ghi rõ trạng thái: máy boot lên được desktop với GPU acceleration, pixel check qua các test scene đều pass. Trackpad và bàn phím tích hợp hoạt động, kể cả gesture và Mission Control. macOS cài và boot từ ổ NVMe trong máy.

Nó làm gì, cụ thể

Snapintosh là một EL2 monitor, tức hypervisor chạy ở exception level 2. Nó chạy kernelcache gốc của Apple (bản J700/T8140) mà không sửa gì, mặc định. Để làm được vậy, nó phải giả lập các contract mà kernel macOS chờ đợi từ chip Apple silicon: các lời gọi SPTM và TXM, dịch page table 16 KiB của kernel sang loại phần cứng hiểu được, và mô phỏng các thiết bị Apple mà kernel đi tìm (AIC, ANS2 NVMe, DART…).

Phần GPU là chỗ đáng nói nhất. Nhóm làm ra cả một stack driver riêng:

  • AdrenoMetal.bundle: Metal driver plug-in, để userspace macOS nói chuyện được với GPU Qualcomm.
  • AdrenoX2: IOGPU kernel extension, kèm AdrenoDisplay điều khiển panel trong máy.
  • air2ir3: shader compiler dịch AIR (IR của Metal) sang ir3 của Mesa cho Adreno.

README nhấn mạnh: không có đường render bằng software, CPU hay paravirtual. Tức là mọi pixel ra màn hình đều qua GPU thật.

Ngoài ra còn SnapI2CHID (driver bàn phím, touchpad I2C-HID), phần Wi-Fi QCC2072 đang làm dở, và storage qua controller Apple giả lập trỏ xuống NVMe thật.

Vì sao 668 sao trong hai ngày

Repo tạo ngày 22/10/2026, cập nhật ngày 23/10/2026. Con số 668 sao đến rất nhanh, và lý do dễ hiểu. Bài toán “macOS trên ARM không phải Apple” là thứ cộng đồng hackintosh theo đuổi hơn chục năm, nhưng gần như bế tắc vì Secure Enclave, vì boot chain, vì đống contract phần cứng riêng của Apple silicon.

Asahi Linux đã chứng minh reverse engineering Apple silicon là khả thi, nhưng theo hướng ngược lại: đưa Linux lên Mac. Snapintosh đi chiều ngược lại, đưa macOS lên chip ARM của hãng khác. Và nó chọn phần cứng Qualcomm, nơi tài liệu về Adreno, về SMMU, về interconnect ít ỏi hơn nhiều so với Apple. Cái việc họ viết hẳn shader compiler AIR sang ir3 nói lên khối lượng công việc thật sự.

Điểm khác biệt so với các dự án máy ảo macOS trên ARM: đây là bare metal. Hypervisor chạy trên máy thật, kernel chạy ở EL1, userspace ở EL0. Không lớp virtualization nào chen giữa ngoài cái monitor cần thiết để giả lập contract.

Cài và chạy thử

Khoan đã. Trước khi gõ lệnh, đọc lại phần yêu cầu phần cứng: bạn cần đúng một mẫu laptop. ASUS Zenbook A16 với Snapdragon X2 Elite X2E-96-100 (mã UX3607OA). Không hỗ trợ máy nào khác, vì monitor, device table, clock và địa chỉ register đều gắn cứng với máy này.

Snapintosh đưa macOS lên laptop Snapdragon X2 Elite với GPU Adreno chạy Metal - ảnh 1
Ảnh: github.com/Snapintosh/Snapintosh

Bạn cũng cần một máy Mac chạy macOS 27 nối với A16 qua cáp USB-C. q1n1 (bản fork của m1n1 bên Asahi Linux) dựng một USB NCM network link trên sợi cáp đó, và mọi thao tác boot, upload, lấy log đều đi qua đây. Cắm sạc AC được khuyến nghị mạnh, vì tool sẽ từ chối boot hoặc ghi SSD nếu pin dưới ngưỡng.

Clone repo kèm submodule:

git clone --recurse-submodules https://github.com/Snapintosh/Snapintosh.git
git clone https://github.com/Snapintosh/q1n1.git # next to it, at ../q1n1

Lưu ý q1n1 phải nằm cạnh thư mục Snapintosh, ở đường dẫn ../q1n1, vì build path tương đối trong repo tính theo vị trí đó. Repo này là umbrella repo, các thành phần như SnapAdreno, SnapMetal, air2ir3, SnapI2CHID, SnapQCC2072 được mount vào dưới dạng git submodule, nên nếu quên --recurse-submodules thì build sẽ gãy.

Công cụ chính phía host là tools/cycle.py, lo phần boot cycle. Phía Mac chạy proxy client của q1n1 để điều khiển. README không đưa quy trình end-to-end từng bước trong phần bị cắt, nên muốn chạy thật thì phải đọc docs/ARCHITECTURE.md và docs/STATUS.md trong repo. Đây không phải kiểu cài bằng một dòng lệnh.

Ai nên quan tâm

Nếu bạn có chiếc A16 đó trong tay và thích vọc, đây là repo đáng thử. Nếu bạn làm driver, làm virtualization, hoặc tò mò cách người ta giả lập contract phần cứng Apple ở mức exception level, đọc source cũng đáng. Phần shadow/ với page-table walker và chuyển 16 KiB guest sang 4 KiB hardware shadow table là tài liệu học tập tốt.

Còn nếu bạn chỉ muốn cài macOS lên laptop Windows ARM để dùng hằng ngày, câu trả lời là chưa. Chính README ghi rõ: đây là experimental software, viết cho đúng một mẫu laptop.

Ưu điểm và những chỗ còn hạn chế

Ưu điểm rõ nhất: nó chạy thật, và chạy đúng. Kernel Apple gốc không bị patch, GPU acceleration có, trackpad gesture có. Cách chia repo thành nhiều component độc lập, mỗi thay đổi land ở repo riêng trước rồi umbrella mới move submodule pointer, là cách tổ chức sạch sẽ cho dự án cỡ này.

Hạn chế thì nhiều và README nói thẳng. Độ mượt đang làm dở: tương tác dùng được nhưng chưa mượt, mục tiêu trước mắt là 60 Hz ổn định, sau đó mới tính tới 120 Hz của panel. Wi-Fi QCC2072 mới ở mức scan, kết nối WPA2, DHCP và ping qua harness chạy từ Mac. Chọn mạng từ menu Wi-Fi trong macOS thì chưa được. Audio, camera, Bluetooth, sleep và màn hình ngoài chưa hỗ trợ.

Về license: thông tin repo ghi “không rõ”. Đây là điểm cần cẩn thận nếu bạn định dùng code cho mục đích thương mại hoặc nhúng vào sản phẩm. Chưa có license rõ ràng thì mặc định là giữ toàn quyền, đừng giả định nó open source theo nghĩa dùng thoải mái.

Một điều nữa: mục tiêu của dự án gắn chặt với macOS 27. Kernel build 26A428, kernelcache J700/T8140. Apple lên bản mới là cả đống contract có thể xê dịch, và với đội ngũ nhỏ thì việc bám theo không hề nhẹ. Repo mới 1 ngày tuổi, đừng kỳ vọng tài liệu đầy đủ như dự án vài năm.

Kết

668 sao sau một ngày là tín hiệu tốt, nhưng giá trị thật của Snapintosh nằm ở chỗ khác: nó chứng minh kernel macOS gốc có thể chạy trên SoC Qualcomm với GPU Adreno tăng tốc, không cần patch kernel. Ai có đúng chiếc Zenbook A16 và một máy Mac bên cạnh thì clone về nghịch thử, còn lại thì theo dõi Snapintosh/Snapintosh xem đội này xử lý bài toán độ mượt 60 Hz tới đâu.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 23/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.