Record isolated official LocalSend backend transfer

This commit is contained in:
SAPHID committed 2026-10-27 03:48:09 +00:00
1 parent 592988c212
commit 9c39300185
4 files changed
+24 -10

No files matched your search

@@ -34,9 +34,22 @@ released. This is **not** a worn visual or controller result.
The unmodified plugin backend's `_main` starts a fixed-path Unix notification
socket but does not start the Go network service. Its explicit `start_backend`
method starts the helper with a default all-interface setting, HTTPS and
auto-save disabled. A safe runtime test must isolate that service and use only
private fixtures. Before a managed ARM64 adaptation, verify actual Decky
backend discovery/RPC, the frontend, and a private transfer; package the
source, license and exact helper digest. The official x86_64 archive remains
blocked until that work passes. Worn VR and physical controller use remain
unverified.
auto-save disabled. A local follow-up ran that exact Python backend with the
official x86_64 helper in a disposable user/network namespace. A veth pair
provided only documentation-range private addresses and there was no default
route. A private Decky module stub supplied task-owned settings, runtime,
plugin and log directories; its notification socket was moved into that
directory. The backend's `start_backend`, `proxy_get` info request and
`proxy_post` prepare/upload methods passed. One 42-byte public marker
arrived in the private upload directory with independent SHA-256
`346373ca56ec52c3f47b8d41de2a6a8479d8ad10d2891ff3b0dc7ea9c3892a39`.
The backend stopped, its process and private directory were absent, and the
global notification socket was untouched. This verifies the upstream x86
backend/proxy/transfer contract locally, **not** Decky 3.3.0 discovery, ARM64
transfer, an installed Frame plugin or real-network transfer.
Before a managed ARM64 adaptation, verify actual Decky backend discovery/RPC,
the frontend and a private transfer with the exact-source ARM64 helper;
package the source, license and exact helper digest. The official x86_64
archive remains blocked until that work passes. Worn VR and physical
controller use remain unverified.
+2 -2
View File
@@ -283,7 +283,7 @@ All published Linux native payloads in this snapshot are x86_64; no published aa
A [DeckyFileServer ARM64 follow-up](evidence/framey-fileserver-arm64-2026-10-27.md) ships an offline, digest-checked GPL helper build, corresponding vendored source and a build recipe. Only its exact managed archive can replace the x86 helper and remove its unnecessary root flag. Actual Decky 3.3.0 discovery/RPC and real Frame HTTPS private-fixture listing/download pass; uploads stay disabled. Hostname-DNS failures and empty optional arguments are repaired. Decky 3.3.0 still exposes `decky.HOME`; that call is unchanged. The plugin moves from broken to partial: its frontend advertises HTTP/steamdeck URLs and needs a Steam folder picker. Use HTTPS and a preconfigured directory. Uploads, generated thumbnails and worn VR remain unverified.
[LocalSend ARM64 build/runtime evidence](evidence/framey-localsend-arm64-2026-10-26.md) covers an isolated real-Frame protocol 2.0 info response from an earlier helper build. [Exact official source matching](evidence/framey-localsend-source-match-2026-10-27.md) now identifies the official helper source and a reproducible ARM64 build from that revision. The official x86 archive remains blocked; full plugin integration and file transfers are unverified.
[LocalSend ARM64 build/runtime evidence](evidence/framey-localsend-arm64-2026-10-26.md) covers an isolated real-Frame protocol 2.0 info response from an earlier helper build. [Exact official source matching](evidence/framey-localsend-source-match-2026-10-27.md) now identifies the official helper source and a reproducible ARM64 build from that revision. The exact official x86 backend passed one local private-namespace transfer. The official x86 archive remains blocked on Frame; ARM64 transfer and full plugin integration are unverified.
| Plugin | Native payloads | ARM64 result / remaining blocker |
| --- | --- | --- |
@@ -308,7 +308,7 @@ A [DeckyFileServer ARM64 follow-up](evidence/framey-fileserver-arm64-2026-10-27.
| HueSync | bin/hello, py_modules/portio.so | portio and handheld LED backends depend on x86 I/O/unsupported hardware; ARM64 compilation alone is insufficient. |
| Decky Clipboard | bin/xclip | xclip needs ARM64 X11 libraries/server; root and gamescope assumptions also block this archive. |
| Reroll | bin/memscan.so | memscan.so needs ARM64 process-memory support and ABI testing; root requirement remains. Frontend initializes but no memory access was tested. |
| Decky Localsend | bin/localsend-core | Official 0.4.5 ZIP main.py matches plugin tag v0.45 byte for byte; its pinned LocalSend-Go ad28b8e9 source reproduces the official x86 helper byte for byte with Go 1.25.7 and a static ARM64 helper twice (SHA-256 e20363237e606ee65eae857792176d21a0bb8ba863489952728eaf2b13277dae). Earlier build from a later source revision answered protocol 2.0 info on real Frame in an isolated namespace. The exact-source ARM64 helper has not run on Frame; actual Decky backend/frontend, private transfer and managed adaptation remain unverified. Official ZIP stays x86_64 and blocked (docs/evidence/framey-localsend-source-match-2026-10-27.md). |
| Decky Localsend | bin/localsend-core | Official 0.4.5 ZIP main.py matches plugin tag v0.45 byte for byte; its pinned LocalSend-Go ad28b8e9 source reproduces the official x86 helper byte for byte with Go 1.25.7 and a static ARM64 helper twice (SHA-256 e20363237e606ee65eae857792176d21a0bb8ba863489952728eaf2b13277dae). Earlier build from a later source revision answered protocol 2.0 info on real Frame in an isolated namespace. The official x86 backend/proxy passed a marker transfer in a private no-route namespace. The exact-source ARM64 helper has not run on Frame; actual Decky discovery, ARM64 transfer, frontend and managed adaptation remain unverified. Official ZIP stays x86_64 and blocked (docs/evidence/framey-localsend-source-match-2026-10-27.md). |
| Launch Options | bin/hello | Remove the template x86 bin/hello or publish an ARM64 rebuild; missing Steam module mapping also prevents frontend initialization. |
| Decky-Clipper | bin/gstreamer-1.0/libgstproxy.so, bin/gstreamer-1.0/libgstmidi.so, bin/gstreamer-1.0/libgstmpegtsmux.so, bin/gstreamer-1.0/gst-plugin-scanner, bin/gstreamer-1.0/libgstivfparse.so, … 115 total; full list in JSON | Rebuild all bundled GStreamer libraries/plugins for ARM64 and verify capture/codec ABI against Frame SteamVR; gamescope capture differs. |
+2 -1
View File
@@ -133,7 +133,8 @@ def render(data):
'covers an isolated real-Frame protocol 2.0 info response from an earlier helper build. '
'[Exact official source matching](evidence/framey-localsend-source-match-2026-10-27.md) '
'now identifies the official helper source and a reproducible ARM64 build from that revision. '
'The official x86 archive remains blocked; full plugin integration and file transfers are unverified.', '',
'The exact official x86 backend passed one local private-namespace transfer. '
'The official x86 archive remains blocked on Frame; ARM64 transfer and full plugin integration are unverified.', '',
'| Plugin | Native payloads | ARM64 result / remaining blocker |', '| --- | --- | --- |']
for p in data['plugins']:
if p['native']:
+1 -1
View File
@@ -11174,7 +11174,7 @@
},
"backend": "Python + native payload",
"hardware": "No specific hardware requirement detected statically; runtime requirements unverified.",
"nativePort": "Official 0.4.5 ZIP main.py matches plugin tag v0.45 byte for byte; its pinned LocalSend-Go ad28b8e9 source reproduces the official x86 helper byte for byte with Go 1.25.7 and a static ARM64 helper twice (SHA-256 e20363237e606ee65eae857792176d21a0bb8ba863489952728eaf2b13277dae). Earlier build from a later source revision answered protocol 2.0 info on real Frame in an isolated namespace. The exact-source ARM64 helper has not run on Frame; actual Decky backend/frontend, private transfer and managed adaptation remain unverified. Official ZIP stays x86_64 and blocked (docs/evidence/framey-localsend-source-match-2026-10-27.md).",
"nativePort": "Official 0.4.5 ZIP main.py matches plugin tag v0.45 byte for byte; its pinned LocalSend-Go ad28b8e9 source reproduces the official x86 helper byte for byte with Go 1.25.7 and a static ARM64 helper twice (SHA-256 e20363237e606ee65eae857792176d21a0bb8ba863489952728eaf2b13277dae). Earlier build from a later source revision answered protocol 2.0 info on real Frame in an isolated namespace. The official x86 backend/proxy passed a marker transfer in a private no-route namespace. The exact-source ARM64 helper has not run on Frame; actual Decky discovery, ARM64 transfer, frontend and managed adaptation remain unverified. Official ZIP stays x86_64 and blocked (docs/evidence/framey-localsend-source-match-2026-10-27.md).",
"uiSurfaces": [
"local/Steam routes",
"toasts",