Repository navigation
drm/asahi: g15: pin the 4118 firmware TEXT on the J514S and J516S - #427
Merged
Merged
Conversation
Some 16-inch M3 Pro (J516S) units on the 14.7 boot chain load a B0 GPU firmware image whose TEXT digest differs from the pinned J516S row: TEXT 0x5c000, DATA 0x114000, GKTS marker 0x58e88 and TEXT sha256 cd05af6a828b52e4c2fed20086d3d18a7db42e03a8fd6f8354f9f06e0a61363e. The build is refused with "loaded GFX TEXT identity mismatch", so there is no render node and the compositor falls back to llvmpipe. The GPU only starts with the g15_accept_text_prefix bring-up override. Add this build as a J516S-only row. Rows still pin on the machine they name; nothing changes on the J514S or on other machines. Extend the maintained-handoff host test to check the new row and refresh the zero-words golden pins for hw.rs and the T6030 module, which change by exactly this one row. Measured on a J516S (apple,j516s apple,t6030; os-fw 14.7, system-fw 15.5, iBoot2 iBoot-10151.140.19.700.2) with linux-aurora 7.2.11.aurora14-1 and the override: the admission line reports the identical sizes, marker and digest, and the GPU reaches READY with renderD128 present. Link: #247 Link: omacom/omarchy#17739 Signed-off-by: joel cristobal <joelcristobal97@gmail.com>
Some 14-inch (J514S) and 16-inch (J516S) M3 Pro units on the 14.7 boot chain load a third B0 GPU firmware image: TEXT 0x5c000, DATA 0x114000, GKTS marker 0x58e88 and TEXT sha256 411833a7ded773feeac4a181552e3ff5582eaf4435f2dd8f620c1ed0b31df1b0. No row pins it, so probe fails with "loaded GFX TEXT identity mismatch", there is no render node and the compositor falls back to llvmpipe. Three machines have reported it in issue #247, all on the 14.7 stub with system firmware 26.6.2: a J514S and a J516S (both iBoot-10151.140.19.700.2, mBoot-18000.161.10), which logged the identical sizes, marker and digest, and a second 14-inch M3 Pro. With g15_accept_text_prefix=0x411833a7ded773fe all three reached firmware READY with renderD128 present. The boot chain matches the J514S cd05 reports, so the chain alone does not select the image. Add one row per board, J514S then J516S, so each pin still names the machine it was measured on; nothing changes for other machines. Extend the maintained-handoff host test: both boards pin to their own row with the override disabled, other boards are refused, and an altered digest suffix, TEXT or DATA size or marker is refused. Refresh the zero-words golden pins for hw.rs and the T6030 module; with the two rows removed both are their previous values. Link: #247 Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Scott Jones <scottajones@gmail.com>
maralcbr
approved these changes
Nov 10, 2026
maralcbr
left a comment
Member
There was a problem hiding this comment.
Reviewed at 83725f6. Two machine-scoped 4118 rows (J514S, J516S) on top of #366 and Joel's rebased J516S cd05 pin (455b498, the conflict-free form of #390). Golden pins compose with #429. Accepting the 4118 pin with override-only hardware evidence so far (READY on 3 Macs); edge qualifies the no-override boot.
github-merge-queue
Bot
removed this pull request from the merge queue due to invalid changes in the merge commit
Nov 10, 2026
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.
Summary
Some 14" (J514S) and 16" (J516S) M3 Pro units on the 14.7 boot chain load a third GPU firmware build, TEXT sha256
411833a7…df1b0. Nothing pins it, so the GPU is refused and the desktop falls back to llvmpipe. This adds one row per board to the T6030 firmware table, the same way #366 and #390 pin the cd05 build.Depends on #366 and #390. This branch carries both, so the diff shrinks to the last commit once they merge. If #390 lands with a different resolution, the row indices and golden pins here get recomputed.
Evidence
From #247, all on the 14.7 stub, system firmware 26.6.2, iBoot-10151.140.19.700.2:
g15_accept_text_prefix=0x411833a7ded773fe, both reached firmware READY with renderD128 present.Host tests (
RUSTUP_TOOLCHAIN=1.85.0):g15-maintained-handoff-tests.pyhas no 4118 row, so both boards are refused.Pinned(5)/Pinned(6). j514c, j516c, j514m, j516m and plain t6030 are refused. A changed digest suffix, TEXT size, DATA size or marker is refused.g15-zero-words-tests.pypasses plain and with--mutations. With the two new rows removed, the pins return to the post-drm/asahi: g15: pin the cd05 firmware TEXT on the J516S #390 values.make LLVM=1 drivers/gpu/drm/asahi/builds.Not yet done: a boot of this build without the override.
Merge Danger
Door: two-way
Blast Radius: narrow
Only J514S/J516S units whose loaded TEXT matches this exact digest, sizes and marker are affected. Every other machine and firmware build behaves as before.
🤖 Generated with Claude Code