Skip to content

CPU (Linux): make Snapdragon X1/X2 detection more correct - #2625

Merged
CarterLi merged 1 commit into
fastfetch-cli:devfrom
JamiKettunen:socid-x1-x2
Sep 29, 2026
Merged

CarterLi merged 1 commit into
fastfetch-cli:devfrom
JamiKettunen:socid-x1-x2

Conversation

@JamiKettunen

@JamiKettunen JamiKettunen commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Updates reported Snapdragon X1/X2 CPU models as tested locally with below:

  • X2E-94-100 (Asus Zenbook A16 UX3607OA)
    • before: CPU: Qualcomm Snapdragon X2 Elite Extreme (12+6) @ 4.72 GHz
    • after: CPU: Qualcomm Snapdragon X2 Elite Extreme X2E-94/96-100 (12+6) @ 4.72 GHz
  • X1E-78-100 (Asus Vivobook S 15 S5507QA):
    • before: CPU: Qualcomm Snapdragon X Elite X1E-80-100 (12) @ 3.42 GHz
    • after: CPU: Qualcomm Snapdragon X Elite X1E-78/80/84-100 (12) @ 3.42 GHz
  • X1-26-100 (Lenovo IdeaCentre Mini 01Q8X10):
    • before: CPU: Qualcomm Snapdragon X Plus X1P-42-100 (8) @ 2.96 GHz
    • after: CPU: Qualcomm Snapdragon X X1-26-100 / X Plus X1P-42/46-100 (8) @ 2.96 GHz
  • SC8280XP (Radxa Dragon Q8B): CPU: Qualcomm Snapdragon 8cx Gen 3 (4+4) @ 3.00 GHz (stays the same)

Should also fix e.g. the following case of incorrect CPU model reporting (simulated since I don't have the hw):

  • X2E-88-100 (Lenovo Yoga Slim 7x Gen 11)
    • before: CPU: Qualcomm Snapdragon X2 Elite Extreme (12+6) @ 4.70 GHz
    • after: CPU: Qualcomm Snapdragon X2 Elite X2E-88/90-100 (12+6) @ 4.70 GHz
  • X1E-00-1DE (Snapdragon Devkit for Windows 2024)
    • before: CPU: Qualcomm Snapdragon X Elite X1E-80-100 (12) @ 4.30 GHz
    • after: CPU: Qualcomm Snapdragon X Elite X1E-00-1DE (12) @ 4.30 GHz

Afaik only ones which won't be distinguishable are X2E-80-100 and X2E-84-100 with same SoC ID, max clock speed and core layout but ig there probably wouldn't be a device with both as SKU options.

Related issue (required for new logos for new distros)

Resolves #2611

Changes

Use the previously discussed (#2611 (comment)) soc_id which have public known enum values in EDK2.

The so far used toplevel devicetree compatible values weren't as precise and some logic (x1, x2p, x2e) simply was dead code. DT compatible values (https://github.com/torvalds/linux/blob/v7.3-rc5/Documentation/devicetree/bindings/arm/qcom.yaml#L1175-L1254) more often than not seem to in reality just indicate CPU family (e.g. hamoa vs purwa, glymur vs mahua) than a specific SoC which happens to cover way more chips including with different core counts (Elite vs Plus SKUs), with this PR things will be overall more correct.

Also drops the CPU test due to reading soc_id from sysfs, could be adapted if still wanted around.

Screenshots

X2E-94-100 Asus Zenbook A16 UX3607OA before vs after

zenbook-before zenbook-after

X1-26-100 Lenovo IdeaCentre Mini 01Q8X10 before vs after

ideacentre-before ideacentre-after

X1E-78-100 Asus Vivobook S 15 S5507QA before vs after

vivobook-before vivobook-after

Checklist

  • I have tested my changes locally.

@JamiKettunen JamiKettunen changed the title CPU (Linux): make Snapdragon X1/X2 detection more fine-grained CPU (Linux): make Snapdragon X1/X2 detection more correct Sep 28, 2026
Comment thread src/detection/cpu/cpu_linux.c Outdated
Use the previously discussed soc_id which have public values in EDK2.

The so far used toplevel devicetree compatible values weren't as precise
and some logic (x1, x2p, x2e) simply was dead code.

Also drops the CPU test due to reading soc_id sysfs file, could be
adapted if still wanted around.
@CarterLi
CarterLi merged commit a3f46d9 into fastfetch-cli:dev Sep 29, 2026
25 checks passed
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.

[BUG] Snapdragon X2 Elite CPU model shown as just "glymur"

2 participants