Virtual Display

The virtual display is how ZeroSphere's agent sees and operates your running application. The backend is powered by VDD (Virtual Display Driver) on Windows — creating an isolated display the agent captures via raw pixels and drives via system-level input. No DOM. No accessibility tree. Pure vision.

SEE ZEROSPHERE INTERACTING WITH ITS OWN APP

Virtual Display

How It Works

When the agent needs to launch and test your app:

  1. ZeroSphere checks your virtual session permission setting
  2. If approved, it starts the display backend for your platform
  3. Your app launches inside that display
  4. The agent captures screenshots and uses vision to understand the screen
  5. It sends system-level mouse and keyboard input
  6. You see the live feed in the agent panel

Platform Backends

Windows — Virtual Display Driver (VDD)

ZeroSphere ships a signed MttVDD driver bundled with the application. You do not install it separately.

On first virtual session creation:

  • ZeroSphere checks for the driver via PnP device enumeration
  • If not found, it installs from the bundled signed package using devcon.exe
  • Subsequent sessions just lease an available monitor from the already-installed driver

Requires Administrator privileges for the initial driver install only. Re-launch ZeroSphere as Administrator once — subsequent sessions do not need elevation.

The driver reads its configuration from:

C:\VirtualDisplayDriver\vdd_settings.xml

This controls available resolutions and monitor count. ZeroSphere writes this from its bundled template on first install. The VDD snaps to the nearest configured resolution, so if you request a size not in the list, you'll get the closest match.

Two Session Types

Virtual Session

Creates an isolated display separate from your desktop. Your app runs on this display only. The agent cannot see or interact with your main desktop, and your main desktop is not affected.

Best for: Testing apps, running dev servers, UI automation, anything that can run on a secondary display.

Main Display Session — Windows only

Takes control of your actual primary display. Windows minimize, notifications suppress, and a floating STOP button appears so you can interrupt at any time.

Best for: Installers, apps that refuse to run in a virtual display, tasks that require real OS dialogs.

On session cleanup, all windows restore and notifications re-enable automatically.

Permissions

PermissionKeyModes
Create virtual sessionos_create_virtual_session_modeask_each_time, always_launch
Create main display sessionos_create_main_display_session_modeask_each_time, always_take_control
Run command in sessionos_run_in_session_modeask_each_time, run_always, let_model_decide
Bind window to sessionos_bind_window_modeask_each_time, run_always, let_model_decide

All default to ask_each_time. Configure in Settings > AI or directly in config.toml.

What the Agent Can Do Inside a Session

  • Launch desktop apps, dev servers, browsers, Electron apps — anything the OS can run
  • Click, double-click, right-click, type, scroll, drag, press key combos
  • Capture frames to verify the result of each action
  • Zoom into a region for pixel-accurate targeting
  • Move windows between monitors (Windows)

Window Management (Windows)

The agent can enumerate all visible GUI windows on any display and move a window into a session's VDD monitor or back to the main display.

See Window Tools for the full reference.

Taking Control

The live feed is visible in the agent panel. You can intervene at any point — take control of the mouse/keyboard or click STOP to halt the agent entirely. For main display sessions on Windows, the floating STOP button is always visible on screen.

Session Cleanup

Sessions are cleaned up automatically:

  • When the agent finishes and cleans up the session
  • After 20 minutes of inactivity (auto-expire)

On cleanup, the agent kills the viewer, terminates running session commands, and releases display resources.

Troubleshooting

Windows: "Virtual Display Driver installation failed"

Requires Administrator for the initial install. Re-launch ZeroSphere as Administrator once.

Windows: App launched but nothing appeared in the viewer

The app may have opened on a different display. Ask the agent to list open windows and move it into the session.

Session not found / expired

Sessions expire after 20 minutes of inactivity. Create a new one — the agent handles this automatically.