Skip to content

bug: USB setup failure leaves DeckJoy in non-recoverable state until restart #7

Description

@ioerrors

Summary

After Start USB fails (example: Deck connected to charging dock, not a host PC), DeckJoy shows an RPC error but may not recover cleanly for retry/use/exit flows.

Example error:
joystick setup failed: rpc error: code = Internal desc = enable error no udc device found

Environment

  • Device: Steam Deck OLED
  • Builds tested:
    • master (v0.2.1 baseline)
    • feat/black-screen-mode branch

Observed Behavior

  • Error appears after Start USB in non-host connection scenarios.
  • In some runs, app does not recover to normal controller mode afterward.
  • In some runs, closing DeckJoy appears to hang.
  • Error text overflow/off-screen was seen on master (UI issue).

Expected Behavior

  • Failed USB setup should be recoverable without restarting app.
  • Retrying after connection state changes should work.
  • App should always exit cleanly, even after setup failures.

Repro Steps

  1. Launch DeckJoy.
  2. Keep Deck connected to charging dock (no host PC for gadget mode).
  3. Press Start USB.
  4. Observe setup error.
  5. Attempt retry and/or close app.

Suspected Areas

  • deck.Run() returns after setup failure and may not restart retry path.
  • Start USB may start daemon but not re-run full setup lifecycle.
  • Shutdown path may depend on daemon/socket state after partial failure.

Related: #6

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions