Navi48-MacOS
首个公开的非官方 macOS GPU 驱动程序。

 

github:https://github.com/Almosst-DEV/Navi48-MacOS

 

此仓库包含的内容
-----------------------
src/navi48-bringup 启动 kext (IOKit): PCIe/BAR 设置、IP 发现、PSP/SMU/GMC/
GFX/SDMA/MES 初始化,显示(DCN 4.1)模式设置,a用户客户端(“N48N”)公开缓冲区、命令提交和
scanout,并连接到苹果公司的 AMDRadeonX6000 加速器。
src/dcn41 DCN 4.1 显示引擎辅助函数和生成的寄存器头
(源自 Linux amdgpu,MIT)。
src/xlat12 命令流翻译,来自 Apple 的 GFX10.3 PM4/register
编程到gfx12。
src/g2capture 用于捕获 Apple 着色器编译器记录的小型捕获工具。
tools/native navi48metal(一个在 Metal 之上运行 Metal 的 Metal 设备包)
Vulkan 驱动程序)、mtlprobe(API 探测)、自动翻译(AIR -> SPIR-V)
翻译脚本)和 navi48accel(辅助 kext)。
工具/pc、工具/dcn41、工具/导体
PC端测试CLI和运行脚本、显示寄存器工具、测试
套件运行器和“植入式突变”测试。
mesa-patches RADV(Mesa Vulkan)达尔文端口作为九个补丁固定在 Mesa 上
提交;请参阅 mesa-patches/README.txt。

地位
------
在一台配备 RX 9070 XT 显卡、macOS Tahoe 26.6.2 系统的 x86_64 测试 PC 上,通过以下方式启动:
OpenCore:一个同时在三个显示器(一个 DisplayPort、
两个 HDMI 接口),Metal 合成器运行在此驱动程序堆栈上,可调整大小的条形图,以及
驱动程序在启动时自动启用。一套内置应用程序(地图、预览、照片、
系统设置、音乐等)都通过它渲染。这是一个预览:内容很多。
目前显示模式仍不完善,支持的显示模式仅限于测试电脑显示器所支持的模式。
需要很多组件来适配特定的 macOS 版本。

即将推出
-----------
通过 HDMI 输出 4K 分辨率
更高的刷新率和更流畅的帧速率
支持更多应用的原生GPU渲染(Safari、Chromium/Electron应用)
显示支持由每个显示器的 EDID 驱动,而不是固定模式

我可以安装这个吗?
-------------------
不可靠。请等待首次正式公开发布。
为了提高稳定性和易用性。这只是代码。

外部项目和依赖项(未提供供应商;请自行克隆)
----------------------------------------------------------------------
RDNA4FB https://github.com/somestupidgirl/RDNA4FB (仅显示 RDNA4 内核扩展,MacKernelSDK)

mac-amdgpu https://github.com/lemonade-sdk/mac-amdgpu (在 macOS 上启动 Navi 48)

USBToolBox https://github.com/USBToolBox/tool(USB 端口映射,可选)

metal2vulkan https://github.com/steelbrain/metal2vulkan(Metal AIR -> SPIR-V 转换器,
LGPL-3.0 或更高版本;不包含上游代码。我们的更改和 n48xlate

进程内封装位于 third-party/metal2vulkan-n48/ 目录下,采用 LGPL-3.0 许可,单独提供。
(来自此处的 MIT 代码;请参阅其 NOTICE)
Mesa https://gitlab.freedesktop.org/mesa/mesa(RADV ,麻省理工学院;参见 mesa-patches/)
linux-firmware(AMD 固件 blobs,自有许可证;见上文)