Target the whole Cortex-X4 on the Steam Frame, which exposes SVE

The Frame's kernel reports sve, sve2 and the SVE2 extensions in its
HWCAP, on SteamOS and inside Lepton alike, unlike phones with the same
Snapdragon 8 Gen 3. The steamFrame flavour now builds with
-mcpu=cortex-x4 instead of cortex-x4+nosve.

docs/steam-frame.md records what the headset reported: 4 KB pages,
Android 11 (API 30) in a Waydroid-based Lepton, Mesa's Turnip as its
Vulkan driver, and SteamVR's native linuxarm64 OpenXR runtime on the
host, with the questions still open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019HBRGKTE1GnN2ah8gcZKr3
This commit is contained in:
Claude committed 2026-10-04 09:07:54 +00:00
1 parent 1639e7f3c6
commit 07e96a3913
3 files changed
+39 -11

No files matched your search

+1 -1
View File
@@ -86,7 +86,7 @@ $variant = (Get-Culture).TextInfo.ToTitleCase($Configuration)
# The Gradle flavour and the -mcpu target its kit must record (headsetCpus in app/build.gradle.kts).
$flavourDir, $expectedCpu = switch ($Headset) {
'quest1' { 'quest1', 'kryo' }
'frame' { 'steamFrame', 'cortex-x4+nosve' }
'frame' { 'steamFrame', 'cortex-x4' }
default { 'modernQuest', 'cortex-a77' }
}
$flavour = $flavourDir.Substring(0, 1).ToUpperInvariant() + $flavourDir.Substring(1)
+3 -3
View File
@@ -61,9 +61,9 @@ val headsetCpus = mapOf(
"modernQuest" to "cortex-a77",
// Snapdragon 835. cortex-a77 binaries terminate with SIGILL on Quest 1.
"quest1" to "kryo",
// Snapdragon 8 Gen 3 (Cortex-X4, A720 and A520, all ARMv9.2). Its firmware does not expose SVE,
// which clang would otherwise auto-vectorise with for a cortex-x4.
"steamFrame" to "cortex-x4+nosve",
// Steam Frame: Snapdragon 8 Gen 3 (Cortex-X4, A720 and A520, all ARMv9.2). Its kernel exposes
// SVE and SVE2 (HWCAP, inside Lepton too), so the whole cortex-x4 feature set is safe.
"steamFrame" to "cortex-x4",
)
// android/nod-jni: nod, the disc image library the PC installer runs as nodtool,