-
Notifications
You must be signed in to change notification settings - Fork 2
Diagnosing a Rejected Home
When a cooked home doesn't appear — the headset stays on Haven 2025 / the default fog — the shell
rejected your env and fell back to the device default (nuxd). The Logcat tab tells you the
exact reason, and it works on a completely unrooted Quest: it's tethered adb only — no su, no
Magisk, no custom firmware.
The Quest's libshell logs its whole environment-load pipeline to Android's logcat. Two facts make
it readable with no root:
-
adbruns as theshelluser, which holds theREAD_LOGSpermission — soadb logcatsees everything the shell prints. -
debug.logLevelis a plain debug system property theshelluser is allowed to set, so the tool raises libshell to full verbosity (setprop debug.logLevel Verbose) with no root at all.
-
Connect the Quest (USB or wireless
adb). Developer Mode on, USB-debugging accepted. Make sure the Cook status line (oradb devices) shows the headset online. -
Open the
Logcattab. Streaming auto-starts at full verbosity. -
Click
Reload home. This clears the log and restartscom.oculus.vrshell, so you capture the fresh env load from a clean slate. -
Read the cyan-highlighted
EnvironmentSystem/EnvironmentManagerlines:Line Meaning EnvironmentSystem: Loading hsr asset package '…' as Environmentthe shell picked up your package EnvironmentSystem: Scene loaded: apk://…✅ it loaded — your home is live Environment failed to load … falling back to device default environment: '…nuxd…'❌ rejected → the reason is on the lines just above -
The reason (right above the fallback line) is one of:
-
Asset ptr error when loading hsr asset package: '…', reason: …— a referenced asset failed; thereason:says which. -
Failed to find '…' in zip from '…'— a file the env references isn't in the package. -
LoadEntry not found for env url: '…'— the selected package/manifest couldn't be opened. -
package type not supported for HSR ECS …/Hsr environment package path not valid … -
MeshDefinition::fix() …/MaterialDefinition::fix() …— a cooked mesh/material is malformed. -
Failed to deserialize asset manifest …— theassets.manifestheader didn't validate.
-
Click Export — it writes a self-contained quest_env_diag_<timestamp>.txt (and reveals it):
--- device (all read WITHOUT root) ---
model / Android version / adb-root / debug.logLevel
--- environment ---
resolved env, haven2025 install path, installed com.environment.* packages
--- VERDICT ---
REJECTED -> nuxd fallback. Reason: EnvironmentSystem: Asset ptr error … reason: …
--- env-load log (adb logcat, NO root) ---
<the highlighted lines>
Attach that file on Discord / GitHub Issues — it pinpoints the cause so it can be fixed fast.
- Start / Stop — the live stream (auto-starts when you open the tab).
- Reload home — verbose + clear + restart the shell to capture a fresh load (no root).
- Filter — cycles Env-load only ↔ vrshell ↔ EVERYTHING (everything = the full logcat).
-
Verbose — re-assert
debug.logLevel Verbose(already done automatically). - Export — the shareable report above.
The tool column can be dragged wider (up to 75%) and docked on the left or right (the
<< / >> button on the tab strip) — handy for reading long log lines.
After an unrooted Cook + Install, the tool auto-captures this and shows a one-line verdict in the
status bar (and writes <apk>.loaddiag.txt next to the APK) — so you often don't even need to open
the Logcat tab. Open it when you want the full picture or to Export a report.