Skip to main content

What Was Ruled Out

Nobody publishes their dead ends, which means everybody re-discovers them independently. This page exists so you don't have to.

Each row below is an approach that looked reasonable on paper, got tried on a real G1 EDU, and failed for a specific, documented reason. If you're building on this platform and one of these is on your list, this can save you the session it cost us.

ApproachReason ruled out
Vendor ASR (rt/audio_msg)Stops publishing entirely the moment an external WebRTC client connects — a fundamental exclusivity conflict, not a bug. (Resolved as of firmware 1.5.2 — see the WebRTC/vendor-ASR conflict entry.)
OpenAI Realtime APIReturns audio, not text. Breaks any pipeline that parses inline tags (e.g. [G:gesture_id]) out of the LLM's text response — there's no text stream to parse.
LocoClient.WaveHand()Returns error 3203 on firmware 1.4.5 and later. Confirmed incompatible, not a transient failure.
WebRTC mic audio receiveReturns zero frames on G1 firmware 1.4.5. This path is reported to work on Go2 Pro/EDU, but does not work on G1.
Direct ALSA mic accessThe internal mic sits behind an APE XBAR crossbar owned exclusively by a vendor service — not accessible from user-space, regardless of permissions.
Piper (local TTS)CPU spikes to 99% under demo load, which introduces DDS instability risk on a platform where DDS is also carrying motion control traffic. Not worth the risk even though it's otherwise a capable engine.
Kokoro (local TTS)Required onnxruntime version not available for ARM64 on JetPack 5.1.1 — blocked at the dependency level before the engine itself could be evaluated.
Coqui XTTS v2 (local TTS)Dependency hell: conflicting numpy, numba, trainer, and pandas version requirements couldn't be reconciled into a working ARM64 environment.
Piper (local TTS) — packagingNo ARM64 wheel available for piper-phonemize on JetPack 5.1.1; installation blocked before the engine could run at all. (Distinct from the CPU-spike issue in the Piper row above, hit later once a workaround unblocked installation.)
eGPU for LLM inferenceThe available eGPU is AMD RDNA3; the platform runs ARM Ubuntu 20.04. No ROCm support on that combination — dead end at the driver level, not a performance issue.
Direct DDS call to api_id 7112Returns 7403. This is a private endpoint not accessible via the public DDS interface, regardless of payload correctness.
Bluetooth as a gesture triggerNo confirmed working implementation exists for this on the G1's Jetson companion computer. A WiFi hotspot is the correct transport for this use case instead.

Why this list exists as its own page

Every one of these took real time to rule out — in most cases, a full session of trying to make something work before finding the specific, load-bearing reason it can't. Grouping them here, separate from the pitfall log, is deliberate: these aren't bugs with fixes, they're boundaries — things worth knowing before you start, not after.

If you've hit something here differently, or found a workaround we haven't — genuinely, open an issue. This list is exactly the kind of thing that should get corrected in public.