stablyai/orca · error

Expected hardware acceleration to remain enabled, but --disa

Error message

Expected hardware acceleration to remain enabled, but --disable-gpu is set.

What it means

In --mode=verify-fix the script also asserts hardware acceleration stays ON (no --disable-gpu). The fix is meant to disable only the GPU sandbox, not GPU acceleration itself; if --disable-gpu is also set the fix is over-broad and would hide real rendering issues. So verify-fix requires --disable-gpu-sandbox present AND --disable-gpu absent.

Source

Thrown at config/scripts/verify-linux-wayland-gpu-sandbox.mjs:278

      'app.switches',
      `disableGpuSandbox=${commandLineSwitches.disableGpuSandbox} disableGpu=${commandLineSwitches.disableGpu}`
    )

    if (mode === 'expect-repro' && commandLineSwitches.disableGpuSandbox) {
      throw new MissingReproductionError(
        'Base run already has --disable-gpu-sandbox; cannot validate the unfixed Wayland path.'
      )
    }
    if (mode === 'expect-repro' && commandLineSwitches.disableGpu) {
      throw new MissingReproductionError(
        'Base run has --disable-gpu; hardware acceleration is disabled and would mask the GPU sandbox path.'
      )
    }
    if (mode === 'verify-fix' && !commandLineSwitches.disableGpuSandbox) {
      throw new Error('Expected --disable-gpu-sandbox on Linux Wayland, but it was absent.')
    }
    if (mode === 'verify-fix' && commandLineSwitches.disableGpu) {
      throw new Error('Expected hardware acceleration to remain enabled, but --disable-gpu is set.')
    }

    logPhase('window.first')
    page = await runWithTimeout('first renderer window', () => app.firstWindow(), timeoutMs)
    logPhase('window.load')
    await runWithTimeout(
      'renderer domcontentloaded',
      () => page.waitForLoadState('domcontentloaded'),
      rendererSetupTimeoutMs
    )
    logPhase('window.loaded')
    const ptyId = await setupTerminal(page, repoPath, logPhase)
    terminalExerciseStarted = true
    logPhase('exercise.start')
    const scroll = await assertScrollbackBufferWorks(page, ptyId, runId, logPhase)
    const typedMarkers = await assertKeyboardInputWorks(page, ptyId, repoPath, runId, logPhase)
    const gpuCrashLines = stderrLines.filter((line) => gpuCrashPattern.test(line))

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Remove --disable-gpu from the Electron launch args so only --disable-gpu-sandbox remains.
  2. Audit the code that constructs Electron command-line switches on Wayland.
  3. Re-run verify-fix to confirm only the sandbox switch is present.

Example fix

// before
app.commandLine.appendSwitch('disable-gpu')
app.commandLine.appendSwitch('disable-gpu-sandbox')
// after
app.commandLine.appendSwitch('disable-gpu-sandbox')
Defensive patterns

Strategy: validation

Validate before calling

if (mode === 'verify-fix' && electronApp.commandLine.hasSwitch('disable-gpu')) {
  console.error('verify-fix requires hardware acceleration ON; remove --disable-gpu from launch args.')
}

Prevention

When it happens

Trigger: mode === 'verify-fix' AND commandLineSwitches.disableGpu is true at line 277. Triggered when the launch args include both --disable-gpu-sandbox and --disable-gpu (the latter should not be there).

Common situations: A flags change that started disabling all GPU along with the sandbox; a headless runner forcing --disable-gpu; a copy-paste in the launch-args builder.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/6f155d65bcbb7557. Report an issue: GitHub.