orca/docs
OrcaWin 3b7ea59c5b
fix(windows): make the GPU fallback actually remove the GPU child, and stop WSL latching absent (#11295)
* fix(windows): make the GPU fallback actually remove the GPU child, and stop WSL latching absent

Three Windows crash/regression fixes from shipped 1.4.156/1.4.158/1.4.159 crash reports.

GPU fallback (cluster D, 14 reports, exit 0x80000003 STATUS_BREAKPOINT):
the software-rendering fallback called disableHardwareAcceleration() plus
--disable-gpu, neither of which removes the GPU child process — Chromium still
spawns it to host Viz and merely drops the backend to software GL. Measured on
Windows 11 / Electron 43.1.0: gpuProcessCount stays 1. So a GPU process being
killed by a bad driver or an injected DLL kept dying after the fallback engaged,
on every launch, for the life of that build (the marker is sticky per version).
The crash tails show exactly this: gpu_fallback_applied followed by another GPU
crash 1.3s later. --in-process-gpu is the only switch that drops the child count
to 0; --disable-software-rasterizer is deliberately excluded because it also
kills SwiftShader, which would drop every terminal to the DOM renderer.

WSL distro list: a successful-but-empty `wsl --list --quiet` was cached for the
process lifetime. `wsl --install` reports zero distros while one is still
provisioning, so an early probe latched "no WSL" until restart — WSL appeared
during setup and then vanished from the terminal picker. Empty results now
re-probe on an exponential window (15s doubling to a 5min cap) while staying
readable, so a missing distro is still visible to isKnownMissingDistro.

WSL availability: isWslAvailable() latched false on any failure via a bare catch,
so one slow wsl.exe activation disabled WSL for the whole session. Failures are
now classified — a numeric exit status or ENOENT is answer-shaped and holds for
10min, anything else (timeout, spawn failure) retries after 45s — and both back
off per consecutive failure, mirroring isPwshAvailable.

Windows-only: every changed path is behind an existing process.platform check,
so macOS and Linux behaviour is unchanged.

* fix(windows): drop a stale WSL availability failure once a distro list succeeds

The distro-list and availability caches expire independently, and
getWslRepairReason checks availability first. So a definitive availability
failure (numeric exit status or ENOENT) held for 10-30min would keep reporting
`wsl-unavailable` even after `wsl --list --quiet` successfully returned a
distro — i.e. over a WSL that demonstrably just answered. That is the same
latch class this branch fixes, surviving in the gap between the two caches.

A non-empty distro list proves wsl.exe ran, so drop the negative availability
cache and let the next call re-probe. Scoped to non-empty lists only: those are
cached for the process lifetime, so this cannot re-spawn the blocking 5s probe
more than once. An empty list keeps its failure cache, since it re-probes on a
15s-to-5min schedule and would otherwise pay the blocking probe far too often.

* fix(windows): harden GPU safe mode and WSL recovery

* fix(wsl): make capability refresh cleanup explicit

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-07-30 17:49:32 -07:00
..
assets Update README downloads badge 2026-07-30 18:48:03 +00:00
bug-reproductions/8979-screenshots fix(rate-limits): surface Fable weekly usage when is_active is false (#8979) (#9389) 2026-07-20 00:39:08 -07:00
plans feat(ssh): bound relay PTY output end to end (#11005) 2026-07-29 17:03:15 -07:00
readme docs: add WeChat group 6 QR with overflow guidance 2026-07-28 01:36:06 -07:00
reference feat(cli): add orca skills install and orca skills update for headless skill setup (#9201) 2026-07-30 11:20:29 -07:00
STYLEGUIDE.md 1.4.131 rc2 release prep (#8020) 2026-07-09 21:54:22 -07:00
agent-status-over-wsl.md fix(windows): make the GPU fallback actually remove the GPU child, and stop WSL latching absent (#11295) 2026-07-30 17:49:32 -07:00
android-emulation-streaming.md feat(emulator): Android emulation via scrcpy (cross-platform, iOS parity) (#6434) 2026-06-28 21:01:09 -07:00
android-emulation.md feat(emulator): Android emulation via scrcpy (cross-platform, iOS parity) (#6434) 2026-06-28 21:01:09 -07:00
automations-navigation-stack.md
browser-normal-download-behavior.md Improve built-in browser downloads (#5940) 2026-06-20 16:33:20 -07:00
claude-fable-weekly-usage-meter.md Support Claude weekly Fable usage meter (#7079) 2026-07-02 01:34:44 -07:00
claude-scoped-oauth-usage-limits.md fix(rate-limits): surface Fable weekly usage when is_active is false (#8979) (#9389) 2026-07-20 00:39:08 -07:00
claude-usage-tracking-codexbar-parity.md Improve Claude usage refresh fallback behavior (#5995) 2026-06-21 13:10:25 -07:00
cmd-j-tab-session-search.md Add Cmd-J tab session search (#5775) 2026-06-19 00:27:05 -07:00
compact-worktree-card-setting-graduation.md Graduate compact worktree card setting (#4924) 2026-06-08 17:37:11 -07:00
configurable-open-in-menu.md
delete-workspace-windows-unregistered.md Fix Windows workspace deletion runtime resolution (#5888) 2026-06-20 03:16:29 -07:00
double-tap-modifier-keybindings-design.md feat(shortcuts): double-tap modifier keybindings (#5516) 2026-06-17 18:25:27 -07:00
droid-orchestration-group.md Add Droid orchestration routing (#4624) 2026-06-04 10:00:11 -07:00
editor-find-layout-aware-shortcut.md Fix layout-aware find in the source editor (#8088) 2026-07-10 03:56:55 -07:00
failed-automation-rerun-action.md
floating-terminal-panel-position-persistence.md fix: persist floating terminal panel bounds (#3828) 2026-05-30 11:59:19 -07:00
github-tasks-close-reason-parity.md Add GitHub task close reason parity (#6141) 2026-06-23 15:18:46 -07:00
image-viewer-pinch-zoom.md Add image viewer pinch zoom (#3531) 2026-05-31 14:07:15 -07:00
issue-7649-vscode-wsl-launch.md fix(windows): open WSL workspaces in VS Code remote (#7982) 2026-07-09 22:37:40 -04:00
kill-all-sessions-also-kills-empty-terminals.md chore: remove release-scan artifact and trailing whitespace (#8184) 2026-07-10 17:13:39 -07:00
linear-issues-load-more.md Add Linear issue load more (#4437) 2026-06-01 23:35:47 -07:00
linear-scope-selector.md Improve Linear scope selection (#3850) 2026-05-30 12:55:13 -07:00
native-chat-codex-tui-parity.md Polish desktop native chat view (#6641) 2026-06-28 15:43:07 -07:00
new-worktree-sidebar-reveal.md Revert centered sidebar jump behavior (#8019) 2026-07-10 03:00:51 -07:00
orchestration-primitives.html Implement robust orchestration primitives and connected-server workers (#9925) 2026-07-27 12:31:37 -07:00
orchestration-reset-scope-validation.md
persist-tree-view-source-control.md
refresh-github-issues-after-create.md Refresh GitHub issues after creation (#3018) 2026-05-28 21:14:58 -04:00
remote-web-paste-activity-fixes.md Fix remote paste and workspace activity (#3521) 2026-05-30 03:35:56 -04:00
renderer-memory-profile-2026-06-01.md Handle ANSI redraw controls in terminal previews (#4418) 2026-06-01 16:21:11 -07:00
show-full-tab-title-tooltip.md Show full tab titles in tab tooltips (#2986) 2026-05-28 11:16:32 -07:00
source-control-push-failure-ai-recovery.md feat(source-control): add push failure AI recovery (#7826) 2026-07-08 18:59:28 -07:00
ssh-config-target-compatibility.md Improve SSH config target handling (#3899) 2026-05-30 13:10:39 -07:00
ssh-handler-reregistration-port-forwards.md Fix SSH handler re-registration port forwards (#2963) 2026-05-27 21:04:30 -07:00
terminal-close-confirmation.md Refine terminal close confirmation (#5541) 2026-06-16 17:42:48 -07:00
terminal-main-owned-state.md Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-scroll-intent-architecture.md Fix terminal scroll intent across workspace switches (#6319) 2026-06-24 20:16:14 -07:00
windows-secure-file-acl-hardening.md fix(windows): stop main-thread PowerShell ACL storm on env-store reads (#5011) 2026-06-09 01:47:29 -07:00
workspace-space-scan-resource-bounds.md fix(perf): correct three 07-27 perf regressions (#11234) 2026-07-28 17:08:14 -07:00
worktree-delete-preflight.md
worktree-sidebar-drag-autoscroll.md Add workspace sidebar drag autoscroll (#3027) 2026-05-28 21:52:08 -07:00
wrapped-terminal-file-link-fragments.md Fix hard-wrapped terminal file links (#8100) 2026-07-10 08:26:06 -07:00
wsl-osc7-sleep-wake-cwd.md fix: preserve WSL CWD across daemon sleep wake 2026-07-19 16:04:05 -07:00