Skip to content

firmware: add Qualcomm Adreno X1-45 and X2-85 microcode - #2

Merged
SnowCheetos merged 1 commit into
mainfrom
claude/project-thread-0upw3r
Oct 21, 2026
Merged

SnowCheetos merged 1 commit into
mainfrom
claude/project-thread-0upw3r

Conversation

@SnowCheetos

@SnowCheetos SnowCheetos commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds the generic Qualcomm Adreno GPU microcode under qcom/adreno/, following the existing catalog conventions (upstream names, exact bytes, BLAKE3 + size, pinned source, licence entry).

GPU Chip ID Images WHENCE versions
Adreno X1-45 (X1P42100 "Purwa") 0x43030c00 gen71500_sqe.fw, gen71500_gmu.bin SQE v1.81, GMU v4.06.04
Adreno X2-85 (X2 Elite "Glymur") 0x44070001 gen80100_sqe.fw, gen80100_gmu.bin, gen80100_aqe.fw SQE v1.00, GMU v5.02.26, AQE v0.30

Provenance. All files come from linux-firmware fb0889c0d3dec1e10a9a593a2602e832a752cd2f, the commit the catalog already pins, cited through the same kernelorg-mirror GitHub mirror. The blobs are identical at canonical upstream HEAD (0147e350, 2026-10-21). Each file's BLAKE3 was checked against both the git blob at the pinned commit and the mirror's raw object.

Licensing. WHENCE marks these files "Redistributable. See LICENSE.qcom and qcom/NOTICE.txt". Both texts are copied byte-for-byte to LICENSES/qcom-adreno.txt and LICENSES/qcom-notice.txt. The terms restrict use to Qualcomm-chipset platforms and forbid reverse engineering.

Schema. Since an image now needs a licence and a NOTICE, the catalog gets an optional per-image notices = [...] list. verify.py requires it to be a list of distinct, existing licence entries, and a new test covers a dangling notice. Existing entries and kore's tools/firmware.py are unaffected.

Other changes. .gitattributes now marks *.fw binary, because before this only *.bin was preserved. The README gets a Qualcomm section.

Excluded on purpose. Zap shaders (including the generic x1p42100/gen71500_zap.mbn and glymur/gen80100_zap.mbn) and DSP images are left out. They are TrustZone-authenticated against SoC/OEM keys, so each machine needs its own signed copy. Upstream msm loads only SQE and GMU for X2-85 today, but the AQE image is kept because it is part of that GPU's published set.

Test plan

  • python3 verify.py: verified 160 blobs and 8 licence notices
  • python3 -m unittest -v test_verify.py: 6 tests pass

Generated by Claude Code

Import the generic SQE/GMU microcode for Adreno X1-45 (gen71500, chip
0x43030c00) and the SQE/GMU/AQE microcode for Adreno X2-85 (gen80100,
chip 0x44070001) from linux-firmware fb0889c0, the commit the catalog
already pins. The bytes are unchanged at upstream HEAD.

Qualcomm's LICENSE.qcom requires qcom/NOTICE.txt to travel with the
binaries, so the catalog gains an optional per-image `notices` list that
the verifier checks against the license entries. Mark *.fw as binary so
upstream bytes are preserved exactly.

OEM- and SoC-signed images (zap shaders, DSP firmware) are excluded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQApBVbWWFd5kNS1hL3vP9
Copilot AI balanced review requested due to automatic review settings October 21, 2026 22:02
@SnowCheetos SnowCheetos self-assigned this Oct 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.

@SnowCheetos
SnowCheetos merged commit cd833fd into main Oct 21, 2026
2 of 3 checks passed
@SnowCheetos
SnowCheetos deleted the claude/project-thread-0upw3r branch October 21, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants