-
Notifications
You must be signed in to change notification settings - Fork 0
Testing Guide
This walks through verifying each of Voyager's core features against a real phone. It assumes the daemon is already running (see Installation & Setup) and that you're watching its terminal window throughout — that log is the only feedback you get right now, there's no graphical UI published yet.
- Plug the phone in via USB.
- Accept the debugging prompt on the phone if it appears.
- Watch the daemon log: the device's state should settle on
device, then you'll see[+] <model> connected via USB, then[>] scrcpy launched for <model>. - A window should open mirroring your phone's screen.
- Type
land press Enter — the device should be listed with a(mirroring)tag next to it.
- With the phone on USB and already mirroring, type
wand press Enter. - The daemon prints instructions: turn on the phone's hotspot and join it from this PC, or make sure both are already on the same Wi-Fi network.
- Do one of those, then just wait — it connects on its own, no further typing needed.
- Watch for
[w] connected wirelessly: <ip>:5555in the log. - A second scrcpy window opens for that wireless address. You can unplug the USB cable now — the wireless mirror keeps running.
Known, not a bug: typing
lafterward shows the phone listed twice — once by its USB serial, once by its wireless address. Go Wireless doesn't yet recognize these are the same physical device. This is a known limitation, not something broken in your setup.
Handoff does the same underlying wireless connection as w, but manages the window for you — see the Command Reference page for exactly how the two differ.
- With the phone on USB and a mirror window already open, type
hand press Enter. - Watch the stage sequence in the log: initiating → switching to TCP mode → trying same-Wi-Fi/hotspot gateway → launching wireless mirror → closing USB mirror → handoff complete.
- The USB window should close and a wireless one should take over.
- Unplug the cable — the mirror should keep running.
Known, not a bug: the USB window can disappear a moment before the wireless one appears, rather than a seamless crossfade. Switching the phone to TCP mode briefly cuts the USB connection itself as a side effect — that's unavoidable with this approach.
Known rough edge: if a wireless mirror for the same phone is already running from an earlier session, Handoff can fail with
wireless launch failed— a real gap in how it recognizes a mirror is already up for that device. If this happens, close all scrcpy windows and try again from a clean state.
Once a phone has gone wireless at least once, Voyager remembers it and tries to reconnect automatically the next time it's reachable — no w or h needed.
- With the phone mirroring wirelessly, type
qto quit the daemon entirely. - Toggle the connection off and back on (turn the hotspot off then on, or just wait a moment if you're on shared Wi-Fi).
- Start the daemon again:
dart run bin\daemon.dart. - Type nothing at all — just wait about 10–15 seconds.
- Watch for
[r] reconnect probe succeeded for <ip>:5555in the log, followed by the mirror launching on its own.
Voyager is under active development. These are already-known, already-tracked issues — if you run into them, it isn't something wrong with your setup:
- Duplicate device entries. The same phone can appear more than once (USB plus one or more wireless addresses), since there's no shared identity across connection types yet.
- The first replug after a fast unplug/replug can silently fail to mirror. adb's own device state briefly flickers as the USB connection settles, and a launch attempt can land right in that window and fail. Unplugging and replugging again, or just waiting a few seconds, resolves it.
-
Closing a mirror window directly (its own X button) doesn't update the daemon's idea of what's currently mirroring. Check with
l, and unplug/replug to relaunch if needed. -
No audio, by design for now. If you see
Audio capture errorin the log, add"--no-audio"toscrcpyArgsin%APPDATA%\scrcpy_gui\config.json— audio capture is unreliable on some devices and setups.
If you hit something not on this list, it's worth reporting as a new issue.