An EL2 monitor/hypervisor and toolchain that boots macOS 27 on the ASUS A16 (Snapdragon X2 Elite), with an Adreno Metal plug-in and IOGPU kext, and air2ir3, an AIR to Mesa ir3 shader compiler. MIT, with GPL-2.0 components listed in LICENSE and THIRD_PARTY_NOTICES.md. No Apple, Qualcomm, ASUS or Microsoft binaries are included.
7.4 KiB
Third-party notices
Snapintosh is licensed under the MIT licence (LICENSE), with GPL-2.0
components listed below. Licence texts are in LICENSES/.
The repository contains no Apple, Qualcomm, ASUS or Microsoft binaries.
Kernelcaches, KDKs, frameworks, firmware and drivers come from the user's own
machines through the scripts in tools/ and stay outside the repository
(downloads/, build/, gpu/adreno/ and gpu/air2ir3/corpus are
git-ignored).
GPL-2.0 components
| Files | Upstream | Licence | Copyright | Notes |
|---|---|---|---|---|
compat/adreno-ib-tables.h (generated) and its generator tools/gen-adreno-ib-tables.py |
Linux drivers/gpu/drm/msm/adreno/a6xx_catalog.c (x285_protect_regs), via q1n1 tools/adreno_x2.py |
GPL-2.0-only | Copyright (C) 2013-2014 Red Hat, Author: Rob Clark robdclark@gmail.com; Copyright (c) 2014,2017 The Linux Foundation. All rights reserved. | The 52 CP_PROTECT ranges are a translated table. A binary built with this table (the AdrenoX2 kext, which compiles compat/adreno-ib-command.c, or a monitor build that includes it) is a combined work and is distributable under GPL-2.0. |
tools/qemu-sptm-oracle/qemu-sptm-oracle-tracer.patch |
qemu-sptm @ 2867d847d347 (a QEMU fork) |
GPL-2.0-or-later | QEMU contributors; jprx | A patch to GPL code, licensed like the files it modifies. The rest of tools/qemu-sptm-oracle/ is MIT (see tools/qemu-sptm-oracle/LICENSE). |
Permissively licensed material
| Files | Upstream | Licence | Copyright | How used |
|---|---|---|---|---|
gpu/adreno-kext/include/AdrenoA8xxRegs.h (generated by tools/gen-a8xx-regs.py) |
Mesa src/freedreno/registers @ bbeb2dca9feed6ac88d71234a9dc5ae8aeed4275 |
MIT | Copyright (C) 2013 Rob Clark robdclark@gmail.com (Initial Author), Ilia Mirkin imirkin@alum.mit.edu (many a3xx/a4xx contributions) | Generated register tables. The generator writes the notice below into the header. |
gpu/air2ir3/patches/*.patch, ir3_parse_stub.c, ir3_parser.h |
Mesa @ bbeb2dca9fee |
MIT (the licence of the patched files) | Copyright 2024 Igalia S.L. (ir3_ra_predicates.c); Copyright © 2014 Rob Clark (ir3_legalize.c); Copyright © 2010 Intel Corporation (glcpp-parse.y); Copyright © 2008, 2009 Intel Corporation (glsl_parser.yy); Copyright © 2017 Intel Corporation (src/compiler/nir/meson.build); Copyright © 2018 Rob Clark (src/freedreno/ir3/meson.build) |
Patches applied to a Mesa checkout by gpu/air2ir3/tools/mesa-setup.sh. See gpu/air2ir3/patches/README.md. |
gpu/air2ir3/src/a8xx_sampler.c |
Mesa src/gallium/drivers/freedreno/a6xx/fd6_texture.cc |
MIT | Copyright © 2016 Rob Clark robclark@freedesktop.org; Copyright © 2018 Google, Inc. | Descriptor packing follows fd6_sampler_state_create<A8XX>. |
gpu/air2ir3/ (compiler) |
Mesa NIR/ir3; LLVM | MIT (Mesa, per file); Apache-2.0 WITH LLVM-exception (LLVM) | Mesa contributors; LLVM Project contributors | Built against a Mesa checkout fetched at the pinned revision and against Homebrew LLVM. Neither is redistributed here; binary releases must ship their licences. |
tools/qemu-sptm-oracle/j700_dt_fixup.py |
darwin-vm dt_fixup.py |
MIT | Copyright (c) 2026 jprx | Ported, with a J700-specific change. |
gpu/agx.h, gpu/agx-uat.c, gpu/agx-asc.c; SPTM endpoint numbers in probes/xnuboot.c |
m1n1 (asc.c, rtkit.c, UAT code), through the author's J700 research fork |
MIT | Copyright The Asahi Linux Contributors | Constants and page-table expressions. |
tools/a16-cpu-perf.py (SCMI domain layout) |
Linux arch/arm64/boot/dts/qcom/glymur.dtsi |
BSD-3-Clause (LICENSES/BSD-3-Clause.txt) |
Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. | Values transcribed. |
Freedreno register database notice (AdrenoA8xxRegs.h)
Copyright (C) 2013 by the following authors:
- Rob Clark <robdclark@gmail.com> (Initial Author)
- Ilia Mirkin <imirkin@alum.mit.edu> (many a3xx/a4xx contributions)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice (including the
next paragraph) shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Apple material
Snapintosh interoperates with Apple software that it does not redistribute. These are produced locally from the user's own KDK, kernelcache and macOS install, and are not in this repository:
- disassembly of Apple kexts and IO80211Family ABI dumps;
- the reconstructed private class headers
*26A428.hused by the AdrenoX2 / AdrenoDisplay kext and the QCC2072 driver (the build scripts stop with an error naming any that are missing); - Adreno binaries compiled from Apple's WindowServer shaders
(
render-shaders*.json,p7-shaders*.json).
XNU and other Apple Open Source projects are referenced by link only; no APSL-2.0 code is included.
References (not licensed code)
These sources were read for interface facts (register offsets, message formats, timings, quirks). The files cite them by path and line; no code was copied.
| Source | Licence | Copyright (upstream header) | Used in |
|---|---|---|---|
Linux include/linux/soc/qcom/geni-se.h, drivers/i2c/busses/i2c-qcom-geni.c |
GPL-2.0 | Copyright (c) 2017-2018, The Linux Foundation; Qualcomm Technologies, Inc. | drivers/snap-i2c-hid/src/geni-i2c.* |
Linux drivers/hid/i2c-hid/i2c-hid-core.c, drivers/hid/hid-multitouch.c |
GPL-2.0 / GPL-2.0-or-later | Benjamin Tissoires; Ecole Nationale de l'Aviation Civile; Red Hat, Inc; Stephane Chatty; et al. | drivers/snap-i2c-hid/src/i2c-hid.*, hid-ptp.* |
Linux drivers/net/wireless/ath/ath12k/* @ c03c1a14507d |
BSD-3-Clause-Clear | The Linux Foundation; Qualcomm Technologies, Inc. | drivers/snap-qcc2072/src/* |
Linux drivers/bus/mhi/common.h, include/linux/mhi.h |
GPL-2.0 | Copyright (c) 2022, Linaro Ltd.; Copyright (c) 2018-2020, The Linux Foundation | drivers/snap-qcc2072/src/* |
Linux drivers/pinctrl/qcom/pinctrl-glymur.c |
GPL-2.0-only | Copyright (c) 2025 Qualcomm Technologies, Inc. and/or its subsidiaries. | tools/check-a16-hid-input.py |
Linux drivers/firmware/arm_scmi/perf.c |
GPL-2.0 | Copyright (C) 2018-2023 ARM Ltd. | tools/a16-cpu-perf.py |
Linux drivers/dma/qcom/gpi.c |
GPL-2.0-only | Copyright (c) 2017-2020, The Linux Foundation; Copyright (c) 2020, Linaro Limited | read at run time from a user-supplied copy by tools/replay-a16-fan-gpi.py; not distributed |
| XNU, dyld, IOGraphics (Apple Open Source) | APSL-2.0 | Apple Inc. | links only |