# vtm

> A virtual terminal multiplexer delivered as a single executable that creates a text-based desktop environment bridging TUI and GUI across Windows, Linux, and macOS.

vtm is a virtual terminal multiplexer built by Dmitry Sapozhnikov under the directvt organization, distributed as a single executable under the MIT License. It runs identically in native Windows GUI windows or standard console emulators, wraps any CLI application, and supports infinite nesting to create a full text-based desktop environment. The project is written in C++ and has accumulated over 3,300 stars on GitHub since its creation in 2019.

## What It Is

vtm is a text-based desktop environment and terminal multiplexer that blurs the line between TUI (text user interface) and GUI. Unlike traditional terminal multiplexers such as tmux or screen, vtm introduces its own rendering layer — called VT2D and AnyPlex — that enables 2D character geometry and a richer visual model within a terminal context. It can operate in desktop mode (launching a full windowed environment), terminal mode (acting as a standalone terminal emulator), or as a binary-protocol SSH transport using the DirectVT protocol.

## Core Capabilities

- **Desktop mode**: Run `vtm` to launch a full text-based desktop with windowed TUI apps
- **Terminal mode**: Run `vtm --run term [shell]` to use it as a standalone terminal emulator
- **SSH via DirectVT**: Binary connection over SSH that the project claims outperforms classic VT connections
- **Infinite nesting**: vtm instances can be nested inside each other
- **HybridTUI (HTUI)**: Concept apps (calculator, text editor, gem game) demonstrate the hybrid TUI/GUI model
- **Demo suite**: `vtm --run test` launches AnyPlex and VT2D power demos (Windows only currently)

## Platform Support

vtm ships prebuilt binaries for a wide range of platforms and architectures:

- **Windows**: Windows 8.1 and later, including Windows Server Core and Windows PE
- **Linux**: x86_64, ARM64, x86, ARM32
- **macOS**: x86_64, ARM64
- **Unix-like**: FreeBSD, NetBSD, OpenBSD, and other POSIX-oriented systems

Native GUI window rendering is currently available only on Windows; Unix-like platforms require a terminal emulator host.

## Architecture and Dependencies

vtm is powered by several embedded libraries: the Lua programming language for scripting, FreeType and HarfBuzz for text shaping and rendering, lunasvg for SVG rendering, and stb single-file libraries for C/C++. The project documents its own AnyPlex protocol and VT2D character geometry specification, suggesting a custom protocol stack rather than reliance on standard VT100/xterm conventions alone.

## Update: v2026.06.29

The latest release is versioned `v2026.06.29`, published on June 28, 2026, reflecting an active date-versioned release cadence. The repository was last pushed to on June 28, 2026, and last updated June 30, 2026, indicating ongoing active development. With 19 open issues and 76 forks, the project maintains a small but engaged contributor base.

## Features
- Virtual terminal multiplexer as a single executable
- Text-based desktop environment
- Desktop mode with windowed TUI apps
- Standalone terminal emulator mode
- Binary SSH connection via DirectVT protocol
- Infinite nesting of vtm instances
- HybridTUI (HTUI) application framework
- VT2D 2D character geometry rendering
- AnyPlex protocol support
- Native GUI window rendering on Windows
- Cross-platform: Windows, Linux, macOS, BSD
- Multi-architecture binaries (x86_64, ARM64, x86, ARM32)
- Wraps any CLI application
- Lua scripting support
- SVG rendering via lunasvg
- HarfBuzz text shaping

## Integrations
SSH, Lua, FreeType, HarfBuzz, lunasvg, stb libraries

## Platforms
WINDOWS, MACOS, LINUX, API, CLI

## Pricing
Open Source

## Version
v2026.06.29

## Links
- Website: https://github.com/directvt/vtm
- Documentation: https://github.com/directvt/vtm/blob/master/doc/architecture.md
- Repository: https://github.com/directvt/vtm
- EveryDev.ai: https://www.everydev.ai/tools/vtm
