Skip to content

VMOS Cast Product Manual ​

The top promotion area cycles between VMOSCloud and VMOS+. Hover or keyboard focus pauses it; clicking the visible card opens that product’s website in the system browser. The promotion area is hidden in narrow windows.

VMOS Cast is a free desktop application that brings the live screens of multiple Android devices onto one computer for side-by-side monitoring, with mouse and keyboard control back to each device. No application is installed on the phones and no account is required. Video and input stay on the local network and never pass through a cloud server.

Screenshots show the client interface; state examples using demonstration data are labeled separately. For first-time setup, see Quick Start; this page is the full reference. Installers are listed on the Release History page.

VMOS Cast main window

1 Interface Overview ​

The window has four areas, matching the screenshot above from left to right and top to bottom:

1VMOS CastAll DevicesHelp CenterWebsiteContact UsLanguageSettingsVersion
2All DevicesSelectedAdd Device · New GroupGroup AGroup BDefault GroupMove · Remove
3AllInvertBatchGroup ControlMulti-viewSearchStatusScaleSize
4
1 top bar · 2 sidebar · 3 toolbar · 4 device wall
AreaWhat it does
Top barHelp Center, website, Contact Us (live chat / Telegram group / email), language, settings, version
SidebarAll Devices / Selected / group tree, Add Device, New Group; Move and Remove appear at the bottom once devices are selected; the width is draggable and is kept for next launch
ToolbarSelect All, Invert, Clear, Batch, Group Control, Multi-view; on the right: search, status filter, Scale, window size
Device wallOne live picture per device. Click the picture to open the focus window, click anywhere else on the card to select it

The interface ships in 21 languages — click the language button in the top bar; the dropdown lays them out in three columns without scrolling. Arabic and Urdu mirror the whole layout right-to-left, while device pictures keep their original orientation.

For extended monitoring sessions, switch to the dark theme (Settings → Appearance → Theme):

Dark mode

2 Connecting Devices ​

TIP

USB works out of the box; nothing additional has to be installed on the computer. Android 7 is the oldest supported version. LAN and USB connections use the same compatible device service, deployed automatically on first connection without a manual phone installation. Capture and encoder capabilities can vary by ROM.

The connection method is determined by the type of device:

iPhone / iPadScreen MirroringStarted on the phone · no way to add it here
Android phone · first timeUSB cableUSB debugging on · tap Allow on the phone
Android phone · already on USBLocal networkAdd LAN connection, then unplug the cable
Android phone · Android 11+Wireless debuggingSix-digit pairing code · no cable needed
Cloud phone / network connection enabledLocal networkEnter IP:5555, or scan a subnet
Choosing a connection method

Click Add Device in the sidebar and pick a connection method:

Choose a connection method

2.1 USB cable ​

Use this the first time a physical Android phone is connected. Follow the three steps shown; the device appears on the wall as soon as it is plugged in:

USB connection guide

2.2 LAN connection ​

An Android phone connected over both USB and LAN keeps two cards, with control available in both focus windows. Screen power state is shared; closing one window does not close the other. Gestures from the two windows cannot interleave. When the serial number or cloud-device identifier matches, group-control targets and batch operations are deduplicated by physical device.

For cloud phones, and for physical phones that already have a network connection enabled, enter the address directly:

LAN connection

  • Ports 1–65535 are supported; an IP with no port is treated as 5555. One address per line; commas also work
  • After Add is clicked, each address is probed: reachable entries are ticked automatically, no response entries (powered off or offline) cannot be added yet, and pairing required entries open the pairing flow when clicked
  • The dialog footer selects a group, so new devices are filed on arrival
  • Added addresses are saved and reconnect automatically on the next launch

2.3 Network discovery ​

When the IP is unknown, use Network discovery: enter a subnet and click Scan. Scanning with no subnet listens for device broadcasts only:

Scanning for devices

Results are grouped by source. Tick the required entries and add them together with any manually entered addresses. Devices already on the wall are marked as added and are not listed again.

2.4 Physical phones require a cable on first connection ​

A physical Android phone must be connected by cable the first time — network connections are disabled by default, so entering an IP alone will not work. Connect once by cable, enable the wireless connection, and the cable can be removed:

  1. On the phone, open Settings → About phone and tap Build number seven times to unlock developer options
  2. Settings → Developer options → USB debugging → on
  3. Connect the cable; when the phone asks "Allow USB debugging?", tick "Always allow" and accept
  4. In the app, right-click that USB device card → Add LAN connection
  5. Once the success message appears and the new card is online or showing a picture, remove the cable

The original USB card is not replaced — both cards remain on the wall.

When the phone reboots, a connection enabled through Add LAN connection is lost and has to be enabled over the cable again; a device paired through wireless debugging reconnects on its own. Cloud phones ship with it enabled and are unaffected.

2.5 Wireless debugging pairing (Android 11+) ​

The random port shown on the phone's Developer options → Wireless debugging page (for example 192.168.x.x:37xxx) uses an encrypted protocol that requires pairing. It differs from port 5555 and cannot be added as an ordinary address, but the app can complete the pairing:

Wireless debugging pairing guide

  1. Click the Wireless debugging card on the empty state, or click "pairing required" in the scan results
  2. On the phone, open Settings → Developer options → Wireless debugging → Pair device with pairing code and leave that dialog open
  3. On the computer, enter the IP:port and the six-digit code from the phone's dialog, then click Pair
  4. Close the dialog on the phone (leave wireless debugging on); the device joins the wall a few seconds later

Pairing is required once only; the device reconnects automatically on the same network afterwards.

2.6 iPhone / iPad ​

iPhone and iPad can connect in two ways: start wireless mirroring from the phone on the same reachable network, or connect the phone by cable for USB mirroring. Either method creates a card on the device wall; click its picture to open an independent display. iPhone does not enter Android Multi-view.

Wireless mirroring ​

iPhone / iPad wireless mirroring

  1. Put the phone and computer on the same reachable local network.
  2. Open Add Device → iPhone / iPad → Wireless and note the receiver name.
  3. Open Control Center on the phone, select Screen Mirroring, and choose that receiver.
  4. When the picture appears on the wall, click it to open the independent display.

USB mirroring ​

For first use, follow the illustrated USB guide. The complete path is four steps:

Choose iPhone / iPad and USB

  1. Choose Add Device → iPhone / iPad → USB, connect and unlock the phone, then trust the computer.

Check Apple device support

  1. On Windows, install or repair Apple device support when prompted. macOS does not require this step.

Check the capture driver

  1. On Windows, install the capture driver for this phone if the page reports that it is not ready, and approve the administrator prompt.

Check Developer Mode

  1. Viewing the USB picture does not require Developer Mode. Check or reveal Developer Mode only when USB or Wi-Fi control is needed.

macOS “Camera” permission

macOS groups USB iPhone screen capture under Camera permission. The client explains the purpose before requesting access; this mirroring flow does not capture the computer camera. If denied, open System Settings to grant access or use wireless mirroring. The separate experimental Camera sharing feature captures the computer camera only when you explicitly select it, without microphone capture.

Multi-device, control, driver and compatibility details

The independent iPhone display prioritizes the incoming source resolution instead of downscaling the relay for a smaller window. iPhone does not participate in multi-view; actual sharpness and smoothness still depend on the mirroring source, encoder, and computer load. Android's display quality and bitrate settings do not control iPhone mirroring.

For USB and wireless mirroring on Windows, the wall preview and independent display of the same video source share one video decoder. Source dimensions and phone control coordinates are preserved, while rendering follows the window's physical display pixels. Wall previews have a maximum long edge of 640 pixels; enlarging a display redraws it as needed instead of keeping a full phone-sized drawing buffer for a small window. Display scaling does not change the incoming resolution, bitrate or control coordinates, and opening or closing Control method does not start another cast. USB and wireless connections remain separate sources; this does not automatically merge identities or share decoding across those connections.

Closing one phone's display releases that window's video resources while its wall preview continues. Ending that USB or wireless video session releases its video resources; other sources keep their own pictures and control. For multiple devices, let the phones join the wall, then open the displays you need to operate. Test capacity with moving pictures on the actual computer.

Apple devices are not added, and there is no field for an iPhone's IP — the direction is reversed: the iPhone sends its screen to the computer.

iPhone / iPad onboarding

  1. Make sure the iPhone and computer are on the same reachable local network; the computer may use Ethernet
  2. In the app, switch to the Add Device → iPhone / iPad tab (the first visit turns the receiver on and remembers it)
  3. On the iPhone, swipe down from the top-right corner to open Control Center
  4. Tap Screen Mirroring (the two overlapping rectangles)
  5. Pick the computer name shown on that tab

iPhone / iPad support independent mirroring and management, without multi-view, Android group control or batch commands. Viewing does not require Bluetooth. On Windows and macOS, choose Enable control in the independent display and follow the illustrated pairing guide; Linux is view-only. Losing Bluetooth leaves mirroring running. Closing the display preserves wall thumbnails. Inactive records can still be selected, renamed, moved or removed. Configure Auto-Lock on the phone.

On every iPhone or iPad, choose the same receiver name shown on the Add Device page in Screen Mirroring. Each incoming phone gets its own video session and device card, without pre-created numbered entries or a fixed two/eight-entry pool. Open separate displays for the phones; one sender stopping or disconnecting does not interrupt the others. Usable capacity depends on computer decoding resources, memory and LAN bandwidth, not an unlimited-device guarantee. Names are not unique identities. An unidentified connection belongs only to its current session, and an old connection cannot receive another phone’s picture. USB mirroring remains per-device.

Multiple-device Wi-Fi / USB control: Phones with compatible input services can use independent Wi-Fi or USB control in their own displays; there is no client-wide one-phone lock. Prepare and trust each phone separately. For wireless video, explicitly confirm the input target on first selection even if there is only one candidate; names and connection order cannot establish identity. Stopping one display’s control leaves other phones unaffected. If the same phone appears in both USB and wireless displays, only one window may own its developer input channel at a time to prevent duplicate input; stop that window’s control before switching. Wi-Fi capacity does not establish Bluetooth capacity.

Bluetooth control (Windows / macOS): Each computer controls one iPhone over Bluetooth at a time. Select and confirm the target in its display; other displays cannot start Bluetooth control until the current owner stops. Multi-device mirroring and USB / Wi-Fi control of other phones are unaffected.

Changing the Bluetooth phone: Stop control in the original display, disconnect this computer in that phone’s Settings → Bluetooth, then connect and confirm the new phone. Closing a display or switching methods releases software control, not the system Bluetooth connection or pairing record. Routinely forgetting the device is unnecessary.

Stopping and releasing control: Stopping, switching or closing a display releases only that window’s keys, contacts and target ownership. Other phones are unaffected. When no display is using or preparing Bluetooth, the service exits immediately and does not remain in the Dock or advertise in the background. Reopening a display restores the last successful USB or Wi-Fi route for that phone; Bluetooth still requires an explicit prepare action and target confirmation. Only one phone may use Bluetooth control at a time.

Avoid controlling the wrong phone: After target confirmation, that display sends taps, swipes and keys only to that Bluetooth connection. If it disconnects, input stops for that route rather than moving to a remaining phone; ordinary status updates do not change the binding. If multiple phones are already connected and cannot be distinguished, temporarily disconnect one phone’s Bluetooth without forgetting its pairing, observe which entry disappears, then reconnect and confirm.

Bluetooth names and saved bindings: On Windows and macOS, when available, the list shows the system Bluetooth name and the last eight connection-identifier characters; unnamed peers show a Bluetooth control label and suffix. Duplicate names remain separate targets and never automatically match a screen. After verifying the correct phone, choose “Confirmed this phone — remember”. Reopening the same video identity only preselects that target; choose Connect this device to confirm. Offline or busy targets never cause another phone to be selected. Changed video or Bluetooth identities require confirmation again; anonymous sessions are not remembered. Forget screen binding clears only this preference, not system pairing or active control.

Confirm before switching: Bluetooth, USB and Wi-Fi buttons only choose a draft method, and the dropdown only chooses a target. They do not disconnect active control. Use Connect this device or Switch to this method in the footer to apply; check the error message if connection fails. Closing discards unconfirmed selections without changing the active connection. The display titlebar stays visible; long content scrolls inside the dialog, detailed setup instructions expand on demand, and footer actions remain visible.

An idle USB / Wi-Fi route shows “Control not connected” without a spinner. “Connecting” appears after confirmation or while automatically restoring a saved method; duplicate requests for that route are disabled while it connects.

If the client reports missing USB components, reinstall the complete client. This does not mean Developer Mode is off; repeatedly toggling it or reinstalling phone drivers will not restore missing client files.

After USB is unplugged, the large view shows the disconnected state in the picture area; its title-bar close button remains accessible. A USB disconnection does not require stopping Screen Mirroring on the phone.

Multiple USB iPhones on Mac: Capture initializes one phone at a time; established streams run concurrently, without a fixed device-count limit. A capture-source validation failure stops that stream instead of displaying another source’s frames in its card. If a picture does not match its label, stop control for that window and export logs; renaming the card is not a fix.

Bluetooth connection service: Starting the client or ordinary mirroring does not start Bluetooth. When needed, open Control Method → Bluetooth Control in that phone’s display and explicitly prepare it, connect the phone to the shown computer name, then select and confirm the target. Closing setup, stopping control, or closing the last Bluetooth display exits the service immediately. Allow iPhone Bluetooth connections is the master switch; turning it off does not affect USB/Wi-Fi control or delete system pairings.

Guidance by method: Bluetooth has expandable pairing and phone settings instructions. USB and Wi-Fi show Developer Mode status directly, without an empty Bluetooth guide. Select a target first; enabled devices need no repeat setup. Disabled devices require phone-side setup; unknown does not mean enabled. Connect and trust the target over USB to reveal the switch or check Developer Mode. Enabling, restarting and passcode confirmation remain phone-side actions.

Two cards for the same phone: USB and wireless mirroring do not expose a common, verifiable physical identity, so their video sources remain separate instead of being merged by name or model. Rename the sources to distinguish them. A single incoming source also joins the wall automatically. A known source keeps its management record on reconnect; an anonymous wireless connection exists only for that session and is removed on disconnect, without retaining its alias or group across sessions.

Multi-device validation boundary

Bluetooth control is limited to one phone per computer at a time on both Windows and macOS. This does not restrict multi-device mirroring. Mirroring and USB / Wi-Fi control capacity depend on devices, computer resources and network conditions; no fixed or unlimited capacity is promised.

:::

Apple device capabilities depend on the desktop operating system:

Desktop OSMirroringControlWindows✓Not yet supportedmacOS✓✓ one-time Bluetooth pairingLinux✓Not yet supported
iPhone / iPad capabilities · pairing steps are in chapter 9

3 The Device Wall ​

Drag the handle beside a device card’s name to reorder All Devices, or focus the handle and press Alt + an arrow key. The lifted card follows the pointer, neighboring cards move smoothly aside, and the card settles at the release position without waiting or hovering. Press Esc, or release outside the device wall, to cancel. The order is saved automatically and retained after restarting or reconnecting the same device; new devices are appended. Device lists within sidebar groups follow the same order. With search, status or group filters active, only the slots occupied by visible devices are reordered; hidden devices keep their positions. Sorting preserves selection, group membership and casting sessions. Android devices and iPhone / iPad sources with stable identities retain their order; anonymous Screen Mirroring sources keep their order only for the current connection.

3.1 Managing iPhone / iPad records ​

After its first cast, an iPhone or iPad appears in both the sidebar and the device wall. Its record remains after casting stops and shows “Not mirroring”:

Managing an iPhone / iPad

  1. Click a live picture to open the independent display; clicking an inactive picture shows the mirroring guide.
  2. Click the name area below the card or its sidebar row to select, search, or move it to a group.
  3. Right-click the card to set a client alias, view device information, move it, or remove its record.

Aliases and groups survive restarts. Removing the record does not shut down the phone; starting Screen Mirroring again adds it back. iPhone and iPad do not join Android batch operations, Group Control, or Multi-view.

3.2 Selecting devices ​

Click anywhere on a card outside the picture to select it; the whole card gains a blue border. Clicking a row in the sidebar does the same, and the two stay in sync:

Selected devices

Select All and Invert apply only to the devices visible after filtering. Scale offers centre-crop, fit-whole and fit-width; the window size slider resizes cards live — resizing rebuilds the wall pictures only and never drops an open focus window.

3.3 Right-click menu ​

Right-click a device card:

Device right-click menu

ItemWhat it does
RenameGive the device an alias; leave blank to restore the default name
Device detailsSee 3.4
Add LAN connectionUSB devices only — converts the USB connection to wireless
Delete deviceLAN devices only; also clears the saved address so it will not reconnect next launch
RebootStreaming stops and reconnects automatically once the device is back, usually within a minute
Shut downThe device cannot be powered on again remotely — the power button has to be pressed on the device itself

Reboot and Shut down are disabled while a device is offline. If the card reads "Connection failed", wait for it to recover before using them.

3.4 Device details ​

Device details

Click any value to copy it; the raw JSON can be copied as well. When a newer device-side version is available, an Update button appears: the app first confirms the device is not in use by another focus window or another computer, and never interrupts a picture that is being watched in order to update.

3.5 Rename ​

Rename a device

3.6 Search and status filter ​

The search box filters by name, model, IP or device note. Right-click a device to edit its note or mark it as a favorite; the Favorites filter shows only marked devices. Notes do not rename the phone itself. Next to search, Status is a multi-select dropdown, and every entry carries a live count:

Online · Connecting · Screen off · Not castable · Failed · Offline

Statuses combine with OR, and the filter as a whole combines with search and groups using AND. Counts are computed over the set already narrowed by search and group, so the number in the dropdown is exactly the number of cards shown. The status filter is not saved: status is momentary, and reopening the app still restricted to "offline only" would suggest the devices had been lost.

4 Groups ​

Device rows in the sidebar also support drag sorting. Drop in the upper half of a row to insert before it, or the lower half to insert after it; the insertion line marks the position, and the device wall follows the same order. Dropping beside a device in another group both moves the device into that group and sets its position. Dropping on a group heading only changes group membership. Drop on Default group to remove a custom-group assignment; the default group accepts devices even when empty. Sorting within a group only changes slots occupied by search-visible devices, preserving hidden devices and other groups. Dragging preserves selection and casting sessions. Group checkboxes reflect the new membership, and order and group changes are saved automatically. Press Esc or release outside the sidebar to cancel. The drag preview stays inside the app and disappears on release, cancellation or switching windows.

Select devices, then click New Group in the sidebar:

New group

  • Click a group name to show only that group; click it again (or All devices) to return
  • Move to Group moves the selection into another group, and can create one in the same step
  • Deleting a group moves its devices to the default group — it never deletes or disconnects them

Groups and search filter the display only; pictures keep running. Multi-view follows groups — changing a group's members changes the multi-view.

5 Batch Operations ​

Select devices and click Batch in the toolbar:

Batch panel

Results are returned device by device. Every selected device is acted on and none are silently skipped; a device that cannot be reached reports an explicit failure and reason.

Files and apps
Install APKPush FileUninstallScreenshot
Info and commands
Run CommandCopy Info
System keys
HomeBack
At the bottom of the sidebar, not in this panel
MoveRemove
How the batch panel is grouped

5.1 Batch install ​

Supports apk / apks / apkm / xapk; drag files in or click to upload. Multiple files are queued:

Batch install

An older installed version is overwritten with the selected version (application data is kept when the signature matches).

Installation errors distinguish signature mismatch, version downgrade and insufficient storage, while retaining the original error. After resolving the cause, use Retry failed only; successful tasks are not repeated.

5.2 Batch uninstall ​

Batch uninstall

Batch uninstall cannot be undone. Confirm the package name and verify on one or two devices before running it on the whole group.

5.3 Run Command ​

Runs on all selected devices in parallel, with built-in templates in three categories; one click fills in the command:

Run command

Offline devices are excluded automatically with a notice. When the run finishes, success, failure and output are listed per device, and the run can be repeated.

5.4 Copy Info ​

Copies information about the selected devices as text in a single step, for records or spreadsheets:

Copy info

5.5 Push files ​

Files are placed in /sdcard/Download on the device — "My Files → Internal storage → Download" on the phone. They are registered with the system media store automatically, so they appear in Downloads immediately, and each device reports the path the file was written to.

5.6 Batch screenshot ​

Batch screenshots and the Shot button in the focus window toolbar save to the same location: Settings → Streaming Settings → Screenshot location. The file is written on click, with no save dialog.

  • Default location: VMOS Cast inside the computer's Pictures folder (created on the first screenshot)
  • File names include the device name and timestamp (for example Pixel 7 Pro-20260827-161105.jpg), so files never overwrite each other
  • After a batch: a brief success/failure count with a link to the save folder, without a separate results panel
  • With nothing selected: a prompt to select devices first
  • Per-device results and errors are recorded in diagnostic logs. Failures may occur when a screen is off or a page blocks screen capture.
  • "Screenshot folder is not writable": the folder was deleted or moved, or its location is not writable · select another folder in Settings

5.7 Applications and favorites ​

Select Android devices and open Batch → Applications. The same entry is available in the independent display toolbar. Applications, Favorites, Phone files and Shortcuts extend the window to the right without covering the phone display. Switching tools replaces the side panel; closing it retracts the extension. Uninstall, delete and file naming are confirmed inside the panel.

Application grid

  1. Only enabled apps with a launch entry appear; background system services are hidden. Applications use a grid of real phone icons and names, with package names and versions hidden by default. Hold or right-click an app to inspect its package and version, open it on the phone, manage favorites, stop or uninstall it. System apps have no uninstall action, and uninstall still requires confirmation. Where independent windows are supported, clicking an icon opens that app window; otherwise it starts on the selected phones. The star button filters favorites, and search supports both names and packages.
  2. With multiple devices selected, choose which phone supplies the grid. Actions still apply to the selected targets, run per phone and allow retrying failed targets.

Launch favorites from the large display

5.8 Browse and download phone files ​

Select one Android device and open Batch → Phone files, or use Phone files in its independent display toolbar.

Phone directory browser and download controls

  1. Open Phone storage to browse shared storage, or use shortcuts to Download, Pictures, DCIM, Movies, Documents and Music. Use the path navigation to go back and search names within the current folder. Private application folders and system-restricted directories are not accessible.

    Choose common folders from the top dropdown. Folder counts do not add toolbar buttons; use the path bar to navigate back and search or scroll within the file list.

  2. Select files or folders, click Download and choose a destination folder on the computer. Folder downloads preserve subdirectories. Transfers show progress, support cancellation and retrying failed items. Open the save location after completion.

  3. Create folders from the footer; each row's More menu offers Rename and Delete. Deletion requires confirmation of the path. Only files and empty folders can be deleted; nonempty folders are not removed recursively.

  4. Push File and Upload folder inside this panel use the currently open phone directory. Folder uploads preserve subdirectories. Batch Push File and drag-and-drop onto the display still use Download.

  5. Selecting files or folders reveals the selection count, Copy and Move, and the Download button in the footer. Copy or Move, open the destination folder and Paste; Cancel clears pending paste items. Expand Name conflicts to choose Skip, Rename or Replace; Skip is the default. Existing directories are merged; files never replace directories. Failed move items remain at their source and can be retried separately.

  6. JPG, PNG, WebP, GIF and BMP files show thumbnails. Click an image name to preview it in the side panel, then Close to return to the list. Preview uses temporary caching, without a manual download. HEIC is not supported; download images larger than 25 MB or 40 megapixels to open them locally.

Folder transfers, copy/move and conflict options

Preview a phone image inside the file panel

A folder task supports up to 5000 files and directories and 64 levels. Symbolic links are not followed, and a folder cannot be copied into itself. Switching side panels keeps the transfer running. Cancel or close the large-screen window to cancel unfinished work; completed files remain. A phone-side copy or move may need to finish its current file before cancellation stops subsequent items.

5.9 Send text to multiple devices ​

Select Android devices and open Batch → Send text. First focus the intended text field in each phone application.

Preview target devices and text before sending

Choose the same text for all devices or enter different text per device. Preview targets and text before confirming. Results appear per device, with failed-only retry. The last input mode is remembered, but text is not saved. This inserts text; it does not automatically press Send in the phone application.

6 Group Control ​

Batch operations synchronise actions. To synchronise gestures — taps, swipes and drags across several devices:

  1. Select two or more different Android devices on the wall. Make sure the device you want to use as the master is already showing a picture
  2. Turn on Group Control, then click the master's picture
  3. The master window shows Connected N / M. This counts the other, following devices, not the master. Only devices that have actually connected receive synchronized input
  4. Click that status to open Group connections on the right. It lists each follower as waiting, connecting, connected or not connected, with the known failure reason. After addressing a connection problem, use Retry failed devices without reconnecting the followers that are already working

To change the master, return to the wall, leave Group Control on and click another device that is showing a picture. That device becomes the new source of synchronized gestures. Turn Group Control off to end synchronization.

Group control synchronises gestures on the picture only. Keyboard input reaches the master device and is not forwarded to the followers; to perform the same operation across a set of devices, use batch operations.

Touch coordinates are scaled in proportion to each picture's resolution; this does not identify buttons or adapt app layouts. Put every phone on the same app, page and orientation, then check a harmless tap before proceeding. Do not copy gestures blindly to devices with different layouts.

7 Focus Window ​

Android keeps Back, Home and Recents at the bottom. The sidebar initially shows Screenshot, Record, Applications, Phone files and More. More groups device controls, picture and sound, advanced tools and plugins. Pin tools to the sidebar; preferences are saved. Tools that do not fit smaller windows remain in More, and recording retains a stop entry.

WeChat quick replies and enabled user plugins appear under More → Plugins and can also be pinned. Entries still match the current device and foreground app; disabled or unmatched plugins are hidden. Tools and plugins share one right-hand extension without covering the phone display.

More tools and pin controls

Click a device's picture to open a dedicated high-definition window; the wall behind it remains visible:

Focus window

The title bar shows the device name and ID (click to copy), preceded by a platform icon (Apple / Android). Top right: pin, minimise, maximise, close, and a button that switches the window style.

Device name · device IDPin · Minimise · Maximise · Close
Picture area
click · drag · wheel · keyboard
Vol +Vol −SleepRotateShotTerminal
BackHomeRecents
Focus window layout (Standard style, Android device)
InputEffect
ClickTap the device screen
Click and dragSwipe or drag
Scroll wheelScroll inside the device
Right / middle clickBack / Home while awake; wake while the screen is off
KeyboardSends text or keys to the focused field; IME input is supported, with active Pinyin shown at the bottom of the mirrored screen
Bottom rowBack / Home / Recents
EscClose the window (the wall connection stays up)

The right-hand toolbar holds volume up/down, screen off / wake (following the device's current state), rotate, screenshot, Terminal and Quality. Quick replies appears when WeChat is foreground and its plugin is enabled. Only one of Terminal, Quality or Quick replies is expanded at a time. The window extends to the right to preserve the phone picture; switching tools does not add more panels.

Quality for this display: Original is the default, bounded by local hardware decoding. You can choose Smooth, Balanced, Clear (1920 px), or Custom. The long-edge choices are Original / 720 / 1280 / 1920 pixels; FPS choices are Match device / 15 / 30 / 60; bitrate choices are 1 / 2 / 4 / 8 / 12 Mbps. The Original preset also restores Full Screen FPS and Bitrate from Settings; other presets explicitly override these values. Applying rebuilds only this focus window's video session, not global defaults or multi-view panes. Failed changes attempt to restore the previous configuration. The panel shows actual video dimensions and applied limits; FPS and bitrate are not live measurements.

The iPhone display uses the same right-hand toolbar. Its control entry shows the active method (Bluetooth, USB or Wi-Fi) and reconnects the last method with one click after a disconnect; screenshots and copying the current picture remain available. USB or Wi-Fi LAN control also provides Home, App Switcher and an optional Touch trail. These direct-control tools disappear for Bluetooth control. Android navigation keys are not shown at the bottom of an iPhone display.

The iPhone display does not currently offer volume or mute buttons. Adjust sound on the actual audio output device. Android volume controls are unchanged.

Record the displayed picture: Once video arrives, click Record to start immediately and see the elapsed time in the title bar. Click Record again or the timer to stop, then choose a location on the computer. Use Show in folder on the saved-file card to locate the video. Recordings are WebM video without audio. Keep the display window open while recording.

Click Stop to finish recording

Remember display layout: Reopening the same device restores its window position and picture size. If the monitor layout changes, the window is moved back into the visible area. Performance and Touch trail display preferences are retained without changing settings on the phone.

Quick actions and performance: Android displays provide Notifications, Quick settings and Close panels. Performance toggles the current picture dimensions, measured rendering FPS and control method. Missing statistics or a connecting session show “—”, not a configured target frame rate.

Drop files onto an Android display:

  1. Drag files from the computer onto the target device’s focus window. Drag out or cancel the drag to dismiss the hint, or press Esc or click its close button. The hint does not cover the right-hand toolbar.
  2. Check the selected files. APK, APKS, APKM and XAPK files use installation; other files upload to the phone’s Download folder.
  3. Select Start to see individual progress and results. Dropping files does not install them immediately; closing the side panel cancels unfinished tasks. This entry is not available for iPhone / iPad.

Android file-drop confirmation

The window matches the picture's aspect ratio and scales proportionally when its edges are dragged, so the picture is never stretched.

Four window styles (Settings → Cast window → Focus window, applied the next time a focus window is opened):

Standard is the default, with a fixed title bar, edge toolbar and bottom navigation. Floating uses separate rounded toolbars that fade when the pointer leaves and reappear at the window edges. Minimal and Immersive remain available.

Standard · title bar, toolbar, navigation keys
Minimal · narrow title bar only
Immersive · picture only; the title bar appears at the top edge
Standard, Minimal and Immersive layouts

The button in the title bar switches the current window only, without changing the default.

In a narrow device window, the title bar hides the address and resolution and moves Keep awake, window style and Pin into its More menu. Long device names are shortened; Minimize, Maximize and Close stay visible. Drag the blank space between the device name and buttons to move the window. Widening it restores the full title bar.

Terminal panel: the Terminal button opens a command line for that device (a standard 80 columns wide) and widens the window so the picture is not covered.

Focus window terminal panel Select text and press Cmd+C (Ctrl+Shift+C on Windows / Linux) to copy to the computer clipboard; Ctrl+C still interrupts the running command.

Focus-open badge: devices with an open focus window show a small screen icon in the top-left of their card. Clicking that device's picture again brings the existing window to the front rather than opening a second one.

7.1 Android screen-off mirroring, pinch and local display adjustments ​

Open More → Display and control in the independent Android window. These tools appear only on a supported Android control connection and do not add controls to Multi-view. Physical screen-off and pinch affect only the current phone; ordinary input in a group-control master keeps its existing target scope.

The panel separates Computer view, Two-finger pinch and Phone screen. Local display adjustments are separate from phone-app zoom; expand the shortcut guide for detailed gestures.

  • Turn phone screen off: Unlock first. Only the physical display turns off; computer mirroring and input continue. The device is temporarily kept awake without changing its automatic screen timeout. Restore phone screen or close the display normally to restore it and release the temporary keep-awake request. A pre-existing keep-awake setting stays enabled. This differs from the original system Screen off button; compatibility depends on the phone.
  • Two-finger pinch: No mode switch is needed. Pinch on a supported trackpad over the phone picture, or hold Ctrl and scroll the wheel, to zoom the phone app. Ordinary two-finger scrolling still scrolls. The starting cursor position is the zoom center; near an edge it moves inward to leave room for both contacts. Alt (Option on Mac) + left-button drag is also available, with two contacts symmetric around the picture center. The phone app must support pinch. Text input and custom key mappings keep their existing rules.
  • Right-drag zoom (optional): Off by default. When enabled, hold the right mouse button and drag up or right to enlarge, or in reverse to shrink. A right click still goes Back; releasing a drag does not. Releasing the button, leaving the picture or switching windows releases the drag contacts.
  • Local display adjustments: Rotate in 90° increments, mirror horizontally or zoom up to 4×. Choose Pick zoom location and click the picture. Once zoomed in, Pan picture moves the viewing area without swiping the phone; click it again or press Esc to resume control. Reset restores defaults. Ordinary input coordinates follow the transformed picture. These adjustments affect only the computer view, not phone orientation, app content or the device wall, and are separate from phone-app pinch zoom.

Ordinary clicks, drags and scrolling in a group-control master still reach its followers after a local display transform. Physical screen-off and pinch gestures affect only the current phone. Changing quality rebuilds the video session, restores the phone display and releases temporary keep-awake; manually enabled keep-awake is preserved. To continue physical-screen-off control, turn the phone screen off again after the picture returns. The original system Screen off button first exits physical-screen-off mode, then puts the phone to sleep; waking it does not leave that mode active.

Display and control panel

7.2 Custom key mappings ​

Open More → Key mappings, Add a binding and press a letter, number, arrow, Space or F1–F12 in its key field. Choose tap, hold or swipe. Start and End let you select positions on the phone picture without sending a touch. Swipes have an adjustable duration.

Save and enable mappings to use them. Hold stays pressed until key release; focus loss or a lost connection also releases it. Computer text fields, IME composition and Ctrl/Cmd combinations do not trigger mappings. Disable mappings when ordinary phone text entry is needed.

Mappings and quick actions belong to the same Control profile, but are edited and saved separately. Profiles are stored on this computer for each device. Each device supports up to 24 profiles, each containing up to 32 mappings and 24 quick actions. An existing single profile is retained as the General profile. Reopening the display lets you continue editing, but never enables mappings automatically.

Key fields display readable labels such as H and ↑. Duplicate or unsupported keys are reported immediately. Tab navigates between controls; Esc leaves key capture. Drafts survive switching or closing side panels within the same display window, but closing the entire window discards unsaved edits. Save applies only to the current mappings or actions list; unsaved changes are marked in the footer.

Custom keys and coordinate picking

Save profiles for an app and orientation ​

  1. At the top of Key mappings or Quick actions, choose Create profile and enter a recognizable name, such as "Maps portrait"
  2. To restrict it to one app, fill in App package name (optional). Copy the package name from Apps; leaving it empty means all apps
  3. Set Screen orientation to Any orientation, Portrait or Landscape. This refers to the phone picture's orientation, not local display rotation on the computer
  4. Save, then edit this profile's mappings and actions. Use Edit profile scope to change its app or orientation later

Match the foreground app and orientation is off by default. When enabled, it selects a profile that matches the current app and orientation, preferring app-specific profiles over general ones. Different pages within an app still require your own checks; the client does not recognize page layouts.

Switching to a different profile, an app change that makes the current profile incompatible, or a change in the phone's portrait/landscape orientation stops a running quick action and disables mappings. Check the page and touch positions before enabling mappings again. A profile that does not match the current app or orientation cannot be enabled or run directly. An All apps profile does not stop merely because another app opens, provided the orientation and selected profile stay the same.

Copy profiles and import or export JSON ​

Save your edits before using Copy to devices, Import or Export.

  • Copy to other devices: select the target Android devices, review the scope, item counts and duplicates, then choose Save copied profile. The default is Keep existing items and skip duplicates. Choose Replace duplicates only when you intend to overwrite those items
  • Export: save the current tool's saved content as JSON—mappings from Key mappings, or actions from Quick actions. The app package and orientation scope are included
  • Import: select a JSON file, review its profiles and conflicts, then confirm. The file declares which content to import; opening Import from Key mappings does not discard actions declared in the file. Content of the other type is retained when it is not included in the file. Files must be no larger than 256 KB

Copying and importing never enable mappings or run actions. They save device profiles on this computer; they do not install a phone plugin. If only some target devices are saved, the message lists those completed targets; retry only the failed ones. If another window changes a profile after the preview, preview it again before saving to avoid overwriting newer edits. Save any unsaved draft in the profile being changed by an import first; drafts in other profiles are retained.

Check positions before reusing a profile on another device. Coordinates are stored as proportions and can scale with resolution, but navigation bars, font size, orientation-dependent layouts and app versions can all move buttons. Pick positions again in these cases. A successful copy does not guarantee accurate taps on another phone.

7.3 Custom quick actions ​

More → Quick actions is separate from key mappings. Name an action, add taps, holds, swipes, Home, Back, Recents, volume or wait steps, then Save and Run. Pick coordinates on the phone picture. A tap's duration specifies its delay after the tap.

Click an action's heading to collapse or expand its steps. Run uses a snapshot of the current configuration, so editing steps during execution does not change the action already in progress. Save edits to retain them after reopening the display.

The execution area shows the action name, current step, total steps, step type and whether it is running, stopped or interrupted. Actions sent. Check the result on the phone. means the input sequence was sent—not that the app completed a login, submission or other business operation. Check the phone's actual result.

Actions affect only this device, not group followers. Stop cancels the current action's remaining steps, including a pending wait, and releases that action's touches. Focus loss, connection loss, switching profiles, the profile becoming incompatible, or a change in the phone's portrait/landscape orientation also stops further steps and releases input. Completed phone operations are not undone. An All apps profile can run across apps, but you must still check the page and positions for each step. Each profile supports up to 24 actions, with up to 20 steps per action. Each step accepts 50 milliseconds to 10 seconds; the sum of configured step durations must not exceed 30 seconds. Verify positions on a safe page before using a target app.

Separate quick-action editing and execution

7.4 Independent Android app windows (experimental) ​

Development validation scope

These features are experimental in development builds. Compatibility acceptance on newer Android hardware is not complete; this is not a release announcement. Meeting the Android version requirement does not guarantee that an app supports virtual displays.

Open an independent window from Applications in a single-device focus window. The entry requires a confirmed Android 14 or later capability; it is hidden for unknown or unsupported devices and in batch management. The normal Start action still opens the app on the phone.

Each app window owns its picture, taps, scrolling, Back, screenshots and recording. It is not a group-control target. Resizing changes only this virtual display, not ordinary mirroring quality. During recording, resizing scales the local view; the latest display size is applied after recording is stopped and saved. App launch, resizing and audio capture depend on Android and the app.

  • Chinese input is automatic on supported Android 15 or later devices. Opening the window verifies or installs the VMOS input component. Click a text field in the app picture and use your computer input method without the bottom Send button. Unsupported systems, unavailable components or virtual devices with unverified ownership use ASCII input before starting.
  • Opening prepares the component automatically; manually switching between Chinese and ASCII restarts this app window, ending its recording and audio. Closing releases the input session; it does not uninstall the component. A mismatched component is not silently replaced or removed.
  • Ordinary focus-window group control, key mappings, editing shortcuts and pinch gestures are not implied for independent app windows. There is no cross-app clipboard synchronization here; paste computer text into the window's text area and send it.
  • Audio is enabled explicitly and may be blocked by the app. Default phone audio routing and input-method restoration after abnormal exits still require dedicated hardware acceptance.

7.5 Camera source (experimental) ​

Choose Phone camera, Screen, Window, Image or Computer camera from More → All tools → Camera source in the device window, or pin the entry to the sidebar. The choice is shared by the device; independent app windows no longer select their own source. Camera source is fixed to the right of the device window and shares the sidebar with other tools; it cannot be dragged separately. Closing it or switching tools hides the panel. Reopening preserves the selected source and the phone picture keeps its size.

On macOS, primary-user Android 16 or later devices can choose a shared source under Camera source in the device window. Existing and newly opened compatible independent app windows on this device use that choice. Screen, Window, Image and Computer camera switch directly while preserving the app page, input, recording and audio. Existing alignment is reused when the lens and preview dimensions stay the same. Switching between Phone camera and any computer source ends recording and audio, releases the old connection and restarts the app. The current app page is not retained, and camera permission may be requested again. Cleanup or startup failures show an error with a retry action. Phone camera restores the device default. Opening or retrying an independent window restarts the selected app. Only changes among the four computer sources preserve an already open app task and page. Screen input aligns to each app window position; Window, Image and Computer camera supply the selected content. Closing source settings hides the panel while capture continues; closing the device window restores Phone camera and releases the source. Screen and window capture require computer screen recording permission, and Computer camera requires camera permission. Each Android app still needs its own camera permission. This does not replace cameras for apps on the phone main display or in other clients. Incompatible apps such as Google Camera are not forced to use the source. Independent app windows and the virtual camera have a 60 FPS ceiling; actual cadence and latency depend on the source, transport and app, with no guaranteed frame rate or sub-50 ms return.

When an independent app opens a recognized external camera handler, its camera page stays in the same independent window. This includes the Google Lens entry in Chrome. If Lens first shows its photo picker, click Open camera to continue. The external camera uses the device’s selected source, and Back returns to the original app. Only the resolved camera pages are admitted, not the entire external app; its camera permission is still required.

Apps known to be incompatible with computer sources use the phone camera directly. A confirmed injection or preview-restoration failure also finishes recording and restarts only the affected app with the phone camera. The window shows the actual source; other apps retain the selected computer source. Apps are not restarted merely because they have not opened their camera. The app may still request its normal system permissions when its camera first opens in a new window.

Some apps block screen sharing on login, payment or other protected pages. On systems that report page protection, independent app windows show “Screen sharing blocked”. The picture resumes automatically when protection ends, without reconnecting. Reopen app starts the app again; complete any required login on the phone first. Screenshots, new recordings and text input are disabled while protected; an existing recording can still be stopped. This is a page restriction, not evidence that the entire app is incompatible. Older systems without this event may still show a black picture.

Reopen and Retry first verify that the previous window has released its resources. Other projection windows can remain open when this app’s input component is already disabled and its previous state has been restored. An active input session or an unrestored state still keeps cleanup pending.

On some devices, the regular phone window can show protected pages at a lower frame rate using system screenshots. Independent app windows use a separate virtual display, where Android may blank protected content before capture. A page working in the regular phone window therefore does not establish support in an independent app window.

Source cards highlight immediately when clicked. Screen and Window still require a content selection; Back or canceling the image dialog restores the highlight to the active source.

8 Multi-view ​

The shortcut guide is available only in the independent display. Multi-view has no single-device function buttons, but still supports keyboard shortcuts. Android input fields support Ctrl+A/C/X/Z (Cmd on Mac) for select all, copy, cut and undo. Ctrl/Cmd+V continues to paste computer text. Copy and cut operate on the phone selection. While the control connection is available, newly copied phone text also reaches the computer clipboard for pasting into other computer apps. When several devices copy text, the last received text is used. Removing a pane or closing Multi-view stops synchronization for that session. Editing behavior depends on the phone app.

To view every device in a group in a single window, click the monitor icon on the right of a group row in the sidebar, or select the group from the Multi-view dropdown in the toolbar:

Multi-view

  • Every pane is directly clickable. Auto arrange considers both workspace width and height, using each picture's actual aspect ratio for portrait, landscape and mixed layouts, ordered left to right and then top to bottom. It prioritises fitting every device fully inside the visible area, scaling panes down and allowing unused space instead of cropping pictures to fill the window
  • Android panes request the device's original picture by default. Resizing a pane changes only its display size, not the source resolution. With many devices, lower Full Screen FPS or Bitrate in Settings to reduce load
  • Quick replies are available only in the Android single-device window toolbar, not in Multi-view.
  • Drag a pane by its title bar. Slight contact leaves other panes still. A target swaps into the drag-start position only when more than half covered and both panes fit without overlap. Otherwise positions stay unchanged; panes are not pushed down or globally rearranged
  • The × on a pane's title bar removes it for this session; the expand button opens that device in its own focus window
  • Pane titles can show either the model name or the connection name. Auto arrange is enabled by default and continuously responds to window and device-orientation changes. Dragging or resizing a pane enters manual layout; click Auto arrange to restore automatic control
  • Clicking empty workspace or switching to another window clears the active pane. On Windows, clicking the window title or the empty part of its title bar also clears selection while preserving native window dragging. On macOS, use empty workspace, switch windows or drag the window; a title-bar click without dragging is not covered
  • Moving the mouse into a pane selects it automatically; moving into another pane switches the target and computer keyboard focus. Moving across panes while holding a mouse button or composing IME text does not switch the target.
  • To edit text, activate the phone app's input field before using Ctrl+A/C/X/Z shortcuts (Cmd on Mac). Only the active controllable device receives them. Ctrl/Cmd+V pastes computer text; IME composition is left untouched. Editing behavior depends on the phone app’s input field.

TIP

Scrolling the wheel inside a pane scrolls that device. When the layout is taller than the window, use the scrollbar on the right.

9 Controlling an iPhone ​

Windows and macOS can select Bluetooth, USB or Wi-Fi LAN control in the independent display; Linux is view-only. Bluetooth requires compatible hardware, while USB / Wi-Fi requires trust, Developer Mode and a successful in-app check. Mirroring and control are separate: a visible picture does not mean the control channel is connected.

When switching control methods, the app stops the previous control channel and waits for it to exit before enabling the selected channel. If shutdown fails, it does not silently fall back to the old channel. Closing the independent display stops that window’s Bluetooth, USB or Wi-Fi control without stopping wall mirroring, removing Bluetooth pairing or requiring USB unplugging. Reopening restores that phone’s last successful USB/Wi-Fi route; Bluetooth never starts automatically and still requires explicit preparation and target confirmation.

On macOS, after restarting the client or reopening a display, a USB phone may need to be detected again. The client waits for that same phone to reappear before continuing its control check. A brief “Connecting” state is not a failure; do not repeatedly click or reopen the display. If control remains unavailable, open the control entry for guidance and export logs if failures persist. After you stop control or manually switch methods, a late automatic-recovery result will not switch control back to the previous method.

9.1 Set up control ​

For USB / Wi-Fi, follow Connect Your First Device. The steps below apply to Bluetooth control:

  1. Choose Enable control beside the independent display. Follow the illustrated guide to open Bluetooth settings on the phone and select the displayed device name.
  2. Verify and accept any pairing prompts. A valid pairing can reconnect without deleting it every time.
  3. Explicitly select this display’s Bluetooth connection entry. For same-name phones, connect one at a time and observe the new entry instead of guessing by name. Only one display may use Bluetooth control at a time; stop the original display’s control before switching phones.
  4. Enable Settings › Accessibility › Zoom, choose Full Screen Zoom and turn the Zoom Controller off. If magnified, double-tap with three fingers to restore normal size while leaving Zoom enabled.
  5. Test a tap in a safe location and confirm that only the intended phone responds. Closing the guide does not stop mirroring.

9.2 Controls ​

ActionMethod
TapLeft-click the target in the picture
DragHold the left button, move, then release
Vertical scrollingUse the vertical wheel or drag
App SwitcherDrag up from the bottom-center to the middle, pause, then release
KeyboardFocus the phone input first; use an English computer input source

Screenshot saves the current iPhone picture to the configured screenshot folder, while Copy places it on the computer clipboard. Once USB / Wi-Fi control is connected, Home and App Switcher are available, and Touch trail can show the current tap or drag path. These direct-control tools are hidden for Bluetooth control. Only USB control provides a power button to lock or wake the screen; it does not bypass the phone’s passcode. If control disconnects, the control entry shows the previous method and reconnects it with one click; when reconnection fails, the method selector and troubleshooting guide open automatically.

Screen-off status and waking the screen ​

The video source determines how screen state is read; the active control method determines whether the power button is available. These can differ: USB video can also use Bluetooth control.

Current setupScreen-off behavior
USB mirroring on Windows / macOS, with readable phone backlight stateBoth the wall and focus window show the screen-off overlay and clear it on wake. Closing the window, stopping control or switching control does not stop observation
Wireless mirroring after connecting Wi-Fi control of the matching phone, with readable stateScreen-off status is shared with the picture. Observation continues after the window or control closes, while this mirroring session remains connected
Wireless viewing without that state connectionThe last frame may remain. Bluetooth alone cannot read screen-off state
  1. With USB control connected, select Lock in the sidebar or More. After the phone reports screen-off, the button changes to Wake screen. Waking does not bypass passcode or Face ID authentication. Unknown state retains the Lock label.
  2. Wi-Fi and Bluetooth control hide Lock / Wake screen. Use the phone’s side button; existing screen-state observation is unaffected.
  3. A confirmed sleeping USB device can open or reopen a focus window before video arrives. The client attempts to restore remembered control; use Wake screen once USB control is available, or wake the phone directly.
  4. Sleeping windows retain the last known picture ratio. With no known dimensions yet, a temporary default is corrected when video arrives.

A failed state read may show “Screen state unavailable”; it does not establish that the phone is asleep. Neither stalled video nor an accepted Lock command proves screen-off. If the phone disconnects wireless mirroring, the client shows Not mirroring; reconnect from the phone. Wireless mirroring is not guaranteed to stay connected while asleep.

Example of iPhone USB control, More tools and screen-off status

Current-client UI state example with demonstration device data. Available buttons depend on the actual connection.

Keyboard and clipboard ​

Once the keyboard channel is ready, click the phone input field and use Cmd+A/C/X/V/Z (Ctrl on Windows) to select all, copy, cut, paste and undo. Redo uses Cmd+Shift+Z; Windows also accepts Ctrl+Y. Copy and paste use the phone clipboard, not the computer clipboard. Support depends on the phone app.

Leaving the window releases contacts and keys. Use the phone input method for Chinese. Computer Chinese composition or paste, landscape, multi-touch, hover, horizontal wheel, iOS group control, app installation and file transfer are not supported. Gesture behavior depends on phone system and accessibility settings.

9.3 Troubleshooting ​

  • Check whether the phone is asleep and whether the picture is live. If uncertain, wake or unlock the phone before clicking a stale picture.
  • Reconnect disconnected wireless mirroring from the phone. For Windows USB mirroring, do not select Stop Mirroring in Control Center. If this prevents recovery, restart and unlock the phone, then reconnect the USB cable.
  • Check Bluetooth, keep Zoom enabled at normal picture size and complete the guide's tap verification.
  • If the computer cannot be discovered, check its Bluetooth permissions and switch, then reopen setup.
  • Forget an old pairing only when it has actually become invalid or reports unsupported, then pair again.

10 Plugins and WeChat Quick Replies ​

Select Plugins in the top bar to open the Plugin Center. From here you can browse built-in features, install a local plugin, or read the custom-plugin documentation. Opening this page does not interrupt active mirroring sessions.

Plugin Center

10.1 WeChat Quick Replies ​

Open WeChat Enhancement under Browse Plugins to enable the feature and manage frequently used replies. No extra app is installed on the phone.

WeChat Quick Replies settings

  1. Enable WeChat Enhancement, then add, edit, or import replies on the plugin page.
  2. Open a WeChat chat in a controllable Android focus window; Quick Replies appears on the right.
  3. Fill replaces the input-box text only. Send replaces the text and sends it. Confirm the current conversation first.
  4. Use the phone's WeChat screen as the source of truth. If the connection is uncertain, verify the result instead of clicking repeatedly.

When using a send shortcut, the client first reads the current Android page's controls and clicks only after finding one available Send button and checking that the page is stable. It does not change the prepared text or switch chats. Local image recognition provides compatibility when the page does not expose chat controls. Ambiguous or disabled controls, read failures and page changes prevent the click. Keep the current chat open during the operation. A completed click does not confirm message delivery; check WeChat. The client never resends automatically.

Replies are stored locally. Export files contain their full text, so keep them private. Landscape, split screen, cloned-app containers, non-Chinese WeChat interfaces, and third-party themes are not fully covered. If the input box or Send button cannot be identified safely, the app does not click or retry automatically.

10.2 Install a Custom Plugin ​

Drag a .zip or .vmosplugin file into the Plugin Center, or use Install in the top-right corner. New plugins start disabled: review the author, supported platforms, and permissions before enabling one. User plugins can be disabled or removed; built-in plugins cannot be removed.

Custom plugin documentation

Developer Docs provides searchable offline documentation and a sample-plugin download. Plugins currently use declarative configuration and do not execute arbitrary scripts; device text-injection capabilities are Android-only. See Custom Plugin Development for the complete format.

11 Settings ​

Click the gear icon in the top bar. Settings are split into Appearance and Cast window:

Settings

SettingDescription
Theme modeLight, Dark, or System
Theme colorA preset colour or a custom one
Main window sizeCompact, Standard, or Wide — applied and remembered immediately
Minimise to system tray on closeSee below
Thumbnail sizeDisplay size of each tile on the wall; synced with the toolbar size slider and applied immediately
Focus initial sizeSee below
iOS control pointer speedTracking speed of the iPhone pointer while the cursor is locked; applies immediately
Focus windowStandard (default), Floating, Minimal, or Immersive; applies to newly opened device and independent app windows

The interface language is switched from the top bar, not from Settings.

Closing the window (Appearance → Minimise to system tray on close):

  • Unchecked (default): closing the window quits the application entirely, leaving no background process
  • Checked: closing hides the main window to the system tray; the application keeps running and devices stay connected. Click the tray icon to restore it. To quit completely, right-click the tray icon → Quit

Focus initial size (20%–200%) does not affect quality or resolution — it sets the starting window size the next time a single device is opened. It accounts for both the long and the short edge, so an ultra-wide display does not open as a flat strip. Windows already open are unaffected.

The focus and multi-view title bars include a bulb-shaped Keep awake button. While lit, supported Android devices stay awake as if user activity were continuing. The device runtime refreshes user activity every four seconds so the normal timeout is prevented before the display turns off; it does not change screen-timeout settings or repeatedly turn the screen off and wake it again. In a mixed multi-view, unsupported devices are skipped without blocking other devices, and a notice appears when Keep awake is enabled or disabled. If a device stops accepting the operation while it is running, the button resets automatically and a notice appears. Selecting Turn screen off disables Keep awake first, then turns the display off. Turning Keep awake off or closing the window stops it immediately, and it is not remembered.

Streaming Settings and About:

Streaming settings

SettingDefaultWhat it does
Device List FPS—Refresh rate of the small pictures on the main screen. 1 fps is the lightest; 10/15/20/30 fps switch to continuous video and apply immediately
Pause list picture while full screen is openOffPauses wall thumbnails for devices shown full screen and resumes them when the window closes
Full Screen FPS60Configured FPS limit for Android focus and multi-view windows. "Match device" removes only this configured limit; actual FPS still depends on the device, computer decoding and rendering capacity, and network
Full Screen Bitrate8 MbpsHigher is sharper but uses more bandwidth
ChannelsAll onVideo / audio / control. Turning video off leaves audio and control; turning control off makes the session view-only
Screenshot locationSystem Pictures folderWhere batch and focus-window screenshots are saved

Full Screen FPS, Full Screen Bitrate and Channels take effect the next time a device is opened; windows already open are unaffected.

TIP

Stuttering: lower Full Screen Bitrate (8 → 4 → 2 Mbps); if it still stutters, drop Full Screen FPS to 30 or 15. Blurry: first check whether the focus window's Quality panel is set to 720 / 1280 / 1920; choose Original for the device's source resolution. If it is already Original but compression is visible, raise Full Screen Bitrate to 12 Mbps. More responsive: on a high-refresh device, set Full Screen FPS to "Match device". Device List FPS is independent of those two: if the main screen is slow, change Device List FPS; if a full-screen view is slow, change the other two. To avoid duplicate traffic on a constrained network, enable Pause list picture while full screen is open. The wall thumbnail then pauses while the device is in a focus or multi-view window and resumes when it closes. This setting is off by default.

These parameters apply to Android devices only; an iPhone or iPad sends its picture over Screen Mirroring and is unaffected.

12 Device Status Reference ​

The six wall states, matching the Status filter one to one:

Online
Picture refreshing normally
Connecting
The picture is being established
Screen is off
Screen off
Screen powered down · wake control depends on the connection
Not castable
Not castable
The page blocks screen recording, so the system hides it
Failed
Connection failed
The device is there; this connection has not come up
Device offline
Offline
The device is gone · powered off, unplugged, or off the network
Failed means the device is still there; offline means it is not
StatusMeaningWhat to do
ConnectingThe picture is being establishedA few seconds is normal
Device offlineAdded but currently unreachable (powered off, different network, wrong address)The device is retained and the picture is restored once it returns, without constant retries. To drop it, select the card and click Remove selected
Connection failedThe device is online, but the picture has not been establishedOpen Connection assistant for the reason. Wait while recovery is in progress; follow the guidance to retry this device if action is needed, rather than repeatedly removing and adding it
Connection timed outRepeated reconnects produced no pictureCheck the device, or restart it and reopen
Restricted by system securityThe device is on a page with screen-capture protectionSee below
Screen offThe display is off; this does not mean the connection has endedWake the device directly. Android, or an iPhone with USB control connected, can also use Wake screen in the focus window
Mirroring / Not mirroringiPhone only: whether the device is currently mirroring"Not mirroring" is not a disconnection — start mirroring again and it returns
Video is offThe video channel has been disabledTurn it back on in Settings → Streaming Settings

An Android phone can remain visible over USB while its system cannot start mirroring. If logs show ensure_device_io_blocked, the client detected a startup-check process that cannot exit and blocks additional launches. Export logs, then retry after restarting and unlocking the phone instead of repeatedly removing and adding it. See Android connection timeouts.

About "Restricted by system security": in addition to lock screens, payment and banking pages, copyright-protected video playback pages also enable capture protection, and Android blocks such pages from being mirrored. This is system behaviour, not a fault in the application.

The focus window switches to a degraded picture: still visible and still clickable (a lock-screen PIN can be typed directly in the window), at a lower frame rate. It returns to live automatically when the device leaves that page, and a "Restore live view" control is available. On a few devices even the degraded picture is unavailable, and only then does the card read "Restricted by system security".

TIP

In both states the device remains connected, and clicking the card still opens the focus window to show the message.

12.1 Connection assistant: what stopped and what to do next ​

Issues are grouped by device, distinguishing Device wall preview problem, Large-screen picture problem and Device disconnected. A preview problem does not mean the phone disconnected. Recovery history combines repeated recoveries into one row per device; a device with another active issue is not listed as recovered. Export logs for individual events. Gesture instructions remain in Shortcut help and Display and control, without a persistent banner covering the phone picture.

Device connectivity, the mirrored picture and control have separate states. A visible picture does not prove that control is available; a sleeping phone does not mean it has disconnected.

  1. Select Connection assistant on the device-wall toolbar. Its count shows current issues; detailed messages appear in the assistant panel. Select Needs attention to filter affected devices.
  2. On the device wall, the assistant floats on the right without resizing or rearranging device cards. It shows the device name, occurrence time, affected function and recovery status. Long lists scroll inside the panel while the close button stays visible. Connection guide expands the next steps; Retry connection appears when a retry is available.
  3. In an individual focus window, open More → Connection assistant, or pin it to the toolbar. Notices and lists cover only the current device and shared services affecting it; the device wall summarizes all devices. A detected issue also adds an entry in the title bar. The assistant does not automatically replace an open file or plugin panel, and adds no single-device tools to Multi-view.
  4. Detected issues briefly appear in one in-app notice. While it is visible, device failures and recoveries update that notice in place, deduplicated by device, rather than stacking notices. Partial recovery still shows the remaining affected devices. Issues remain in the assistant after the notice disappears. Restored issues move to Recently resolved. When the client is in the background, issues remain available when you return; this does not depend on operating-system notifications.
Connection assistant side panel showing a disconnected device, connection guidance and log export
Example panel with a demo device and simulated disconnection. Expand Connection guide for steps relevant to the detected problem.
MessageFirst action
Device disconnectedFor USB, check the phone connection and authorization. For LAN, check whether the phone and computer can reach each other. A disconnection does not establish a defective cable
Waiting for phone authorizationAllow USB debugging on Android or trust the computer on iPhone. The assistant cannot accept phone authorization for you
Control connection problemCheck the control method and follow its retry guidance. Mirroring may still be active; there is no need to stop a working picture first
Control helper unavailableCheck component and permission guidance. Do not disable system security or download DLLs from unknown sources
Wireless mirroring endedSelect the computer's mirroring name again in iPhone Control Center. The phone may have stopped mirroring intentionally; this is not automatically a hardware fault
Connection service unavailableReview the affected devices and allow the existing recovery process to run. Before retrying a shared service, the panel explains that its connections may be interrupted briefly and requires confirmation

The assistant does not infer disconnection from a still picture, screen sleep, screen-off control or a normal control-method switch. It reports detected problems, cannot guarantee detection of every internal phone fault, and does not treat a sent command as proof that the phone acted on it.

If a problem persists, choose Export logs on that issue to save a diagnostic ZIP and note the occurrence time for support. This export does not upload logs automatically. Avoid repeatedly reinstalling components or restarting all devices without knowing the cause.

13 Using Several Computers at Once ​

The same device can be mirrored by any number of computers at the same time.

  • Each computer's connection, windows and input session are isolated, and all of them can operate the device — tapping, system keys, typing, installing and uploading never wait on a "control token"
  • Every computer sees the device's screen-on, screen-off and security states in real time
  • Closing the app on one computer releases only its own connection and does not affect the others; the device-side service shuts down after the last client leaves
  • The device-side control port is not exposed to the local network — it is reachable only through the connection the application establishes

14 Updates, Support, and Diagnostic Logs ​

Checking for updates: the app checks in the background after launch and shows a dialog only once a new version is confirmed and its release notes are complete. The dialog lists what changed and offers View Full Release Notes and Ignore this version — ignoring silences that one version, while later ones still prompt. Update now shows a real percentage, downloaded/total size, speed and time remaining; restart to finish installing. Updates can also be checked manually under Settings → About.

Contact Support ​

Contact Support in the top bar offers online support, Telegram, and email:

Contact Support options

Choosing an option prepares diagnostic logs in the background without blocking contact. Logs may include device identifiers, computer paths, and fault context; continue only if you are willing to share that information. Telegram never sends a group message automatically.

Export Diagnostic Logs ​

When something goes wrong, use Settings → About → Export Logs:

Export logs

  1. Open Settings → About and select Export Logs.
  2. After upload succeeds, copy the diagnostic ID shown on the page and include it when contacting support.
  3. If upload fails, the logs exceed 20 MB, or no local logs are available, save the ZIP as instructed and send it manually.

The bundle contains computer logs, device-side logs, and system diagnostics. With many connected devices, the 10 most recently active devices are collected; offline devices do not slow the export down.

On macOS, Share Logs alongside it builds the same bundle and opens the system share sheet directly.

When reporting a problem, include the computer's operating system and version, the connection method, the device model and Android version, plus a description and screenshots. See How to report a problem.

15 Quick Reference ​

GoalRoute
Connect a physical phone for the first timeEnable USB debugging → connect the cable and allow → right-click the card → Add LAN connection → remove the cable
Connect a phone without a cableAndroid 11+ wireless debugging pairing (six-digit code)
Add many cloud phonesAdd Device → paste addresses in bulk, or scan a subnet → tick → Add
Mirror an iPhoneiPhone / iPad tab → Control Center on the phone → Screen Mirroring → select this computer
Install one package across a batchCreate a group → open it → Select All → Batch → Batch install
View a whole group in one windowMonitor icon on the group row → Multi-view
Sync gestures across devicesSelect 2+ devices → Group Control
Monitor devices for long periodsFilter by group → smaller thumbnails → lower Device List FPS → dark theme
Fix a stuttering pictureSettings → Streaming Settings → lower Full Screen Bitrate, then Full Screen FPS
Report a problemSettings → About → Export Logs → send the zip with screenshots

Windows USB mirroring: Do not select Stop Mirroring in iPhone Control Center → Screen Mirroring, as USB mirroring may not resume. If this happens, restart the iPhone, unlock it, then unplug and reconnect USB. A frozen last frame does not prove the connection is healthy. Do not repeatedly repair the connection or reinstall drivers.

Wi-Fi preparation saves pairing, but does not mean control is connected. After unplugging USB and starting wireless mirroring, select the paired phone in its large window and confirm the connection; pairing is not required again each time. Reconnection first tries that phone’s last authenticated LAN endpoint, then rediscovers it if necessary, always verifying identity. If connection fails temporarily, keep the phone unlocked on the same LAN and retry. Wireless video and control are separate channels.

Does multi-view stop the device wall previews? ​

Once an Android multi-view video is updating steadily, the device wall automatically reuses its pictures to reduce duplicate screenshot work while keeping previews live. Closing multi-view, interrupted video, secure screens, or screen-off states return the wall to independent screenshots. The wall frame-rate setting is an upper limit; updates also depend on the video source. The option to pause wall previews while a large view is open still takes precedence.

On exit, the client first releases app-window and camera resources. If the phone is disconnected or cleanup times out, it retains a cleanup record and continues exiting without repeated blocking dialogs. Before starting another camera or app-window session on the same device, it attempts to reclaim retained resources. Unconfirmed input-method state is not forcibly changed.

Moving the desktop camera preview ​

After calibration, move the camera-sharing window to change the selected desktop area. You can move over a static desktop while new screen content continues to update; dragging does not require reducing picture quality or frame rate.

Keep the phone scanner page still during calibration. If the positioning image is delayed, calibration continues waiting for all markers. If they cannot be identified, calibration ends and restores ordinary scanning without enabling transparent preview.

Google Lens can calibrate its portrait center-cropped preview without switching to landscape. Open Lens from Chrome, open its camera, then click Calibrate before enabling Transparent. Calibration aligns the desktop-screen preview; it does not guarantee successful code recognition. The separate Google Camera photography app remains incompatible.

On macOS, desktop capture follows the selected display’s native refresh rate instead of a fixed 30 fps limit. The phone virtual-camera path supports up to 60 fps. Open Camera can request 60 fps; Google Lens may still request only 30 fps. Actual fresh-frame throughput also depends on content changes, encoding, transfer and phone performance. A 120 Hz display does not mean the phone receives 120 fps.

Camera sharing controls ​

For manual setup, open Settings, choose a display, window, image or camera and a phone app, then click Start sharing at the bottom. Device information and Check device are at the top; expand Permissions and preview guidance for requirements and compatibility. Devices that do not meet the requirements cannot start sharing.

Settings collapse when sharing starts. The top toolbar provides Calibrate and Stop. Display sources also show a Transparent preview switch, which stays disabled until calibration completes. The footer shows camera activity, calibration status, the source and the selected app. Open Settings at the top right to view the setup again; stop sharing to change the source. If Lens shows a black preview, open Settings and choose Restart Google.

The phone preview retains the target app’s own interface and controls. Open Camera’s black bars and shutter controls are provided by the phone app. Keep the phone page still when using transparent preview and calibrate again after its camera closes.

For browser navigation, open Settings and choose Phone Back. This sends the phone Back key and may close its camera page; it does not open sharing settings. Open Camera does not offer this action, to prevent accidentally exiting to a black preview. Use Settings at the top right to open the sharing panel.

Camera sharing interface and controls ​

Click Camera sharing to open preparation and the phone preview directly. Device checks and default selections run in the background without showing setup first. Setup opens if automatic preparation fails or you choose Settings.

Phone-app and computer-camera lists use a consistent rounded menu with a checkmark for the selected item. Only available apps are listed; incompatible apps are hidden. Use the arrow keys and Enter to select, or Escape or a click outside to dismiss. Menus follow the light or dark theme.

Expand Compatibility for permissions and app limitations. Google Camera currently does not support camera sharing and is hidden from the phone-app list. This restriction applies to that app.

Click Camera sharing in a device window to prepare it automatically. macOS prefers all-display capture; other supported platforms use the display containing the window. Apps are discovered through their declared camera intents and the available system default is preferred, regardless of app names or package names. Known-incompatible Google Camera is skipped. Calibration runs once after the camera opens. The user must still confirm any phone permission prompt; preparation continues afterward. Missing cameras, unavailable sources and calibration failures leave manual settings or calibration available without repeated retries. Discovery does not prove virtual-camera compatibility.

Picture and auto-hiding controls ​

The Camera sharing rail centers its icons and shows Calibrate, Transparent and Stop labels, with descriptions on hover. Stop ends the current sharing session and returns to setup.

Closing an independent app or Camera sharing window hides it immediately while its session is released in the background. Reopening waits for cleanup instead of showing the closing window again.

In device mirroring, independent app windows and active Camera sharing, the title bar follows the picture area width; opening or closing a right-side tool panel does not widen it. The title bar aligns with both edges of the black picture frame, excluding the side tool rail width. The right tool rail aligns with the frame’s top edge. The top and bottom controls use the same picture gap as the right tool rail. The Camera sharing setup title bar aligns with both edges of its panel, with a compact gap between them.

After resizing an independent app window, clicks follow the new picture dimensions. Click the WeChat chat input to focus its editor.

On supported Android 15 or later devices, opening an independent app window automatically verifies or installs the VMOS input component; no Enable Chinese step is needed. Click a text field in the app picture and use your computer input method. Completed text enters the Android editor directly, without clicking the bottom Send button; the bottom field remains available as a fallback. The app picture supplies its own caret; the client does not add an overlay caret. Enter used to confirm an IME candidate does not send an app message. Changing editors, resizing or losing focus cancels unfinished input instead of replaying it elsewhere. Input mode and focus recovery buttons stay hidden during normal input. If input fails, the relevant recovery action appears; some systems may require restoring input focus after switching app windows, followed by clicking the app text field.

Before sharing, Camera sharing uses one compact setup panel for the source, phone app and Start action, without an empty preview column. During sharing, settings open in a rounded card outside the picture. Stopping returns to setup.

The side tool rail hides scrollbars while keeping vertical scrolling available.

When the device resolution is known, the window uses the device aspect ratio while connecting, avoiding a sudden narrowing when the first frame arrives.

Device windows use Standard by default, with a fixed title bar, edge toolbar and bottom navigation. A light shadow stays around device windows and independent app windows when side panels open or close; tool cards retain their own light shadows. Select Floating under Settings → Cast window → Focus window to use rounded, separate controls. In Floating mode, device windows and active camera-sharing sessions place the titlebar, side tools and bottom controls outside the phone picture, keeping its content unobstructed. The phone picture has a black rounded frame. The picture edge, titlebar and controls use layered shadows that spread evenly in all directions. The compact side rail has a single solid background, with icon-only actions, names on hover and theme-colored selection states. In device windows, More opens a rounded menu outside the right toolbar, showing common actions first. All tools reveals the remaining actions; the icon at the right of each row pins it to the rail. Click outside or press Esc to dismiss it. The window makes room on the right and returns to its previous width when the menu closes, preserving the phone picture size. Near the screen’s right edge, the window moves inward to keep the menu visible. Child pages such as Apps, Files and Quality use rounded tool cards outside the phone picture, with widths suited to their content. Opening or closing a card preserves the phone picture size. Applications use a grid of real phone icons and names, with package names and versions hidden by default. Hold or right-click an app to inspect its package and version, open it on the phone, manage favorites, stop or uninstall it. System apps have no uninstall action, and uninstall still requires confirmation. Where independent windows are supported, clicking an icon opens that app window; otherwise it starts on the selected phones. The star button filters favorites, and search supports both names and packages. Moving the pointer outside the window gently fades the titlebar and surrounding tools. Re-entering the center keeps the picture clear; approaching any window edge reveals the controls. The surrounding space becomes transparent when controls hide. The picture keeps the same size and position, without reconnecting the stream or requiring recalibration.

Empty space around right-hand tool cards has a transparent background. The title bar, toolbar, cards and menus retain normal mouse clicks, dragging and scrolling. A left-side arrow points to the owning tool button; if the tool is not pinned or not currently shown on the sidebar, it points to More. Cards adjust their position to the button and available space while the phone picture keeps its size. When an app context menu is open, clicking outside it first dismisses the menu.

Controls are visible when a window first opens. Open sharing settings, a tool panel or an active calibration keeps them visible. Tab also reveals the controls for keyboard use. Closing the panel restores automatic hiding. The device title-bar style button temporarily cycles through Standard, Floating, Minimal and Immersive; Settings controls the default for new device and independent app windows. Independent app windows also default to Standard, with a fixed title bar, labeled edge toolbar and bottom text input. Rounded floating controls require selecting Floating. Minimal hides the side tools and bottom text input; Immersive also overlays the title bar. Existing windows keep their layout; close and reopen an app to use the new setting. In camera sharing, open Settings at the top right to inspect the source and app.

Independent app window interface and controls ​

Independent app windows place the title bar, common tools and text input outside the picture, with a rounded black frame. The repeated WeChat home-page header has been corrected and verified on Pixel 8 / Android 17, preserving the full picture and tap positions. If a previous window has unfinished cleanup, keep the phone connected and retry. An already restored input state is verified automatically before reopening; repeated language switching is unnecessary. Clicking or focusing the picture does not add a colored border; mouse and keyboard control remain available. The right toolbar provides Back, Screenshot, Record and Audio; More shows camera and audio settings, with the relevant input recovery action appearing only when input fails. Details stay in the collapsed Help section; audio can also be enabled directly in settings. Opening or closing settings preserves the picture size; make the window smaller if the screen has insufficient room. Controls fade when the pointer leaves and reappear near an edge or with Tab. Switching among Screen, Window, Image and Computer camera preserves the app page and recording. Switching between Phone camera and a computer source restarts the app and ends recording and audio; camera permission may be requested again. Manually changing input mode still reconnects the app view and ends recording and audio. Type directly in the app text field; the bottom text field remains available as a fallback.

On macOS, screen capture excludes only the current camera window. The VMOS main window, other device windows and other apps behind it remain visible in the camera source.

On macOS, primary-user Android 16 or later devices can choose a shared source under Camera source in the device window. Existing and newly opened compatible independent app windows on this device use that choice. Screen, Window, Image and Computer camera switch directly while preserving the app page, input, recording and audio. Existing alignment is reused when the lens and preview dimensions stay the same. Switching between Phone camera and any computer source ends recording and audio, releases the old connection and restarts the app. The current app page is not retained, and camera permission may be requested again. Cleanup or startup failures show an error with a retry action. Phone camera restores the device default. Opening or retrying an independent window restarts the selected app. Only changes among the four computer sources preserve an already open app task and page. Screen input aligns to each app window position; Window, Image and Computer camera supply the selected content. Closing source settings hides the panel while capture continues; closing the device window restores Phone camera and releases the source. Screen and window capture require computer screen recording permission, and Computer camera requires camera permission. Each Android app still needs its own camera permission. This does not replace cameras for apps on the phone main display or in other clients. Incompatible apps such as Google Camera are not forced to use the source. Independent app windows and the virtual camera have a 60 FPS ceiling; actual cadence and latency depend on the source, transport and app, with no guaranteed frame rate or sub-50 ms return.

When an independent app opens a recognized external camera handler, its camera page stays in the same independent window. This includes the Google Lens entry in Chrome. If Lens first shows its photo picker, click Open camera to continue. The external camera uses the device’s selected source, and Back returns to the original app. Only the resolved camera pages are admitted, not the entire external app; its camera permission is still required.

Apps known to be incompatible with computer sources use the phone camera directly. A confirmed injection or preview-restoration failure also finishes recording and restarts only the affected app with the phone camera. The window shows the actual source; other apps retain the selected computer source. Apps are not restarted merely because they have not opened their camera. The app may still request its normal system permissions when its camera first opens in a new window.

The computer screen camera is not limited to WeChat scanning. Photo, scanning and other camera pages in the current independent window can use its front and back virtual cameras, subject to Android virtual-camera compatibility. It does not replace cameras globally or take over other app processes. Google Camera is currently incompatible: its independent window hides the switch and explains the limitation instead of waiting on a black picture. Other apps are not rejected for being absent from a preset list.

Virtual cameras offer common 16:9, 4:3 and square modes for legacy Camera1 and Camera2 preview and JPEG capture. Alignment is stored separately for each lens and input size. New configurations are measured; returning to a known configuration verifies and reuses its alignment in the background. Reopening the same configuration does not repeat full calibration. Pixel 8 / Android 17 validation covers real preview and JPEG capture at Camera2 rear 640×480, front 1280×960 and rear 720×720, plus Camera1 front and rear 640×480. This does not establish compatibility with every phone or app. Vendor physical-camera pipelines, proprietary processing and mixed-aspect multi-stream sessions may remain unavailable.

If an app rebuilds its camera during initialization and interrupts calibration before geometry is measured, the next camera-open event allows one additional measurement. Each configuration gets at most one such retry; existing alignment continues to be verified and reused. Calibration pauses while a system permission dialog covers the camera and continues after the app returns with a new picture, so the dialog is not measured as viewfinder content. After calibration, the live preview is confirmed before the picture is shown, keeping test patterns out of view. If the live preview cannot be confirmed, the app stays connected and offers Retry preview. Retry preview does not restart the app. You can also choose another computer source; switching back to Phone camera restarts the app. Computer sources preserve the app’s own gradient overlays and translucent controls.

Computer-camera, window and image sources also correct rotation and reflection from the app’s actual preview, with separate alignment for each lens. Computer cameras use a centered crop that preserves proportions; windows and images fit fully without stretching. Switching computer sources reuses alignment for the same lens and preview dimensions. Changes to the lens or preview dimensions trigger automatic realignment, without manual rotation for individual apps.

Taobao, Bilibili and QQ scanning automatically use a single 16:9 camera format to prevent mismatched preview and photo streams from causing a black screen or closing the scanner. No manual setting is required. Adaptations apply independently to each app. Other apps retain the existing 16:9, 4:3 and square formats. The animated scanning bands in Bilibili and QQ use separate position calibration. This preserves the scanner animation, displays an ordinary preview and follows the window position, without making the moving overlay transparent. QQ calibration markers avoid its scanning instructions. This adaptation has been verified on Pixel 8 / Android 17; other phones still require compatibility testing.

Computer sources automatically try compatible camera formats for other apps when a stream-format conflict is identified. Calibration makes a limited number of adjustments when text or buttons cover its markers, while preserving scanner animations and instructions. The current viewfinder must still pass verification. Successful strategies are stored locally and tried first next time; changes to the app installation, device system or source type require fresh verification. An unopened camera, pending permission or disconnected device does not trigger repeated restarts. If injection cannot work, or the system blocks a virtual camera after it opens, the app releases the session before using the phone camera. This does not grant permissions or change privacy controls; the phone camera still requires the app’s permission. Other apps and the selected device source remain unchanged. System or app restrictions can still prevent computer sources.

Once aligned, screen sources follow the app window’s position. All displays allows the viewport to move across the selected screens without squeezing a whole landscape desktop into a portrait picture. Ordinary camera preview remains available when alignment cannot be confirmed.

If a window close or camera switch lacks complete cleanup confirmation, reopening verifies that the old resources are gone and input settings are restored. A verified result allows the app to continue without restarting the client. Verification does not change the phone’s selected input method. If verification fails, keep the same phone connected and retry. Application management displays a short cleanup message; detailed diagnostics remain in the logs.

Recording duration and saving ​

Both ordinary device windows and independent app windows can record a still picture without scrolling the phone first. Click Record to start immediately. A red indicator and elapsed time appear in the title bar. Click Record again or the timer to stop, then choose where to save the WebM video. Canceling the save discards this recording. The saved-file card shows its name and duration, with a Show in folder button. Static pages retain their actual duration and support seeking. To include app audio in an independent window, enable its audio before recording.

Moving the camera viewport ​

While moving the window or while the captured content keeps changing, transparent preview temporarily shows the complete phone return in the same preview layer to avoid overlapping old text with the current desktop. Waiting for a matching frame does not repeatedly hide and show the entire preview layer. Transparency resumes automatically once the position and content settle and the returned picture matches. Recalibration is not needed; camera capture and phone controls continue working.