Repository navigation
drm/asahi: g17: Run the M5 Pro on bare metal - #1425
Merged
DjDeveloperr merged 1 commit intoNov 10, 2026
Merged
Conversation
The M5 Pro (J714s) is the last M5 board probe refused ("M5 Pro bare-metal
GPU tables not yet available"): its configuration named no firmware and
kept the profile without bare-metal tables.
Give it the M5 Max's bare-metal profile, with each value checked against
the J714s 27.0 ADT and the firmware iBoot loads:
- Both roles publish their kernel roots. The boot arguments iBoot writes
into each role's TEXT put the primary's tables at the ADT
gfx-shared-region (BPTP 0x10ffff28000, the `pagetables` region) and the
secondary's 0x40000 above it (BPTP 0x10ffff68000), each 0x40000 long
(SPTP), so the secondary root is at 0x40000.
- Each role places its own buffers, and its crash log is in its
__DATA_SHARED_RO, inside `fw-data` (crash logs in fw-data). The
data segments have the M5 Max's layout: DATA 0xc0000 and 0xb4000, each
followed by 0x8000 of shared RO, 0x184000 in all.
- The M5 Max and Ultra's UAT policy.
- Admit only the G17S 26A428 build of both roles: TEXT 0x50000 then
0x54000 back to back, the entropy records and boot-filled ranges at the
Max's offsets. The digest is the one two J714s boots measured, and the
driver's own digest code admits both boots' TEXT with it.
No board uses the no-bare-metal-tables profile any more, so it goes, with
its probe refusal. The firmware identity test covers the M5 Pro's image
too.
On the J714s booting from its SSD with this change (integration/aurora with #1012,
2026-11-10), the GPU binds with the 26A428 G17S build identified and the Hyprland
desktop runs on it through zink.
Signed-off-by: Diljit Singh <hey@djdev.me>
DjDeveloperr
changed the base branch from
funkzy/t6050-gpu-on-integration
to
dj/g17-m5-visible-completion
November 10, 2026 09:10
DjDeveloperr
force-pushed
the
dj/g17-m5-pro-bare-metal
branch
from
November 10, 2026 09:10
74fc9b7 to
2e6b2d9
Compare
DjDeveloperr
changed the base branch from
dj/g17-m5-visible-completion
to
funkzy/t6050-gpu-on-integration
November 10, 2026 10:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this fixes
On #1012's head the M5 Pro (J714s) still has the profile without bare-metal tables. The GPU probe refuses it ("M5 Pro bare-metal GPU tables not yet available"), so there is no render node, and the M5 Pro desktop, which renders through zink on the GPU, can't start.
The change
One commit, in
drivers/gpu/drm/asahionly. It gives the M5 Pro the M5 Max's bare-metal profile, with each value checked against the J714s 27.0 ADT and the firmware iBoot loads:fw-data.On integration/aurora (as merged in #1406),
variant::Buildhas aconfigfield. This build entry then takesconfig: None, as #1406 does for the Max and Ultra builds.Testing (M5 Pro, J714s)
SSD default kernel
7.3.0-m5-argb2, 2026-11-10: integration/aurora + Merge integration/aurora into the M5 GPU branch, with what it needs to build #1406 + drm/apple: Use an ARGB fbdev console on firmware 27 too #1364, drm/asahi: g17: let progress end a restart storm window #1394, drm/asahi: g17: M5: read the compute item-ring cursors once per publication #1401, drm/asahi: g17: Fix M5 Max GPU work running before the work it waits for #1070, drm/asahi: g17: M5 Pro: wait for other queues' compute in firmware when it ends visible #1411, drm/apple: send firmware 27 swap timestamps in the firmware's timebase #1404 + this commit, on a fresh boot.GPU firmware build: 26A428 for T6050 G17S, primary then secondary, aurora bound on2300000000.gpu,renderD128.Earlier default kernels:
7.3.0-m5-integrationand7.3.0-m5-argb(11-09) carry the same patch on drm/asahi, drm/apple: M5 GPU and firmware-27 display on integration/aurora #1012's head.Same driver code: the commits between drm/asahi, drm/apple: M5 GPU and firmware-27 display on integration/aurora #1012's head and the base it was first written on don't touch
drivers/gpu/drm/asahi, so the driver code here is the code those kernels built.Not run: KUnit (no test suites on the build host).
Negative control, measured 2026-11-10 02:48 (run h1): the same kernel with this commit reverted (
7.3.0-m5-nobm), same DT and boot, logsaurora 2300000000.gpu: M5 Pro bare-metal GPU tables not yet availableat probe.renderD128, so the desktop session never starts: gdm's autologin session closes and it falls back to its greeter, and no Hyprland runs.pmp-report@f: sync_state() pending due to 2300000000.gpu.🤖 Generated with Claude Code