This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

character / docs / openvt-setup.md
2.1 kB

OpenVT streaming setup#

This setup is for a simple Linux-first OpenVT pipeline that is ready to render a model window for capture/streaming.

Reality check#

OpenVT is not a trivial single-binary install:

  • it is built in Godot
  • it uses third-party dependencies and submodules
  • full Live2D functionality depends on proprietary Live2D Cubism components
  • for face tracking, OpenSeeFace is a separate executable

So the first goal here is not full unattended bot control. The first goal is a reproducible local setup path that gets OpenVT rendering and capturable for streaming.

  1. Run OpenVT locally on Linux
  2. Load a compatible model
  3. Use transparent window capture in OBS
  4. Stream from OBS to stream.place via WHIP/RTMP
  5. Add bot/chat/TTS control afterward

Requirements#

  • Godot 4.6+ according to the project docs
  • OpenVT source tree
  • built third-party dependencies
  • optional: OpenSeeFace for webcam tracking
  • optional: OBS for local production

Local build notes for this repo#

This repo includes a helper for building as far as possible in a Nix/dev shell environment:

devenv shell -- ./scripts/openvt-build-local.sh

It works around some upstream assumptions:

  • upstream expects pyenv
  • upstream tries to pip install tools globally
  • upstream keylogger build wants Rust targets and libudev

This still does not bypass the Cubism SDK requirement.

Notes from upstream docs#

  • OpenVT focuses on Linux availability
  • supported trackers: OpenSeeFace and VTubeStudio mobile TCP over Wi-Fi
  • transparent window support is one of its key streaming features
  • hotkey capture on Linux may require the input group

Hotkey note#

If OpenVT hotkeys do not work under Linux while unfocused, upstream says you may need:

sudo -g input -u "$USER" open_vt.x86_64

Or to permanently add the user to the input group.

Next integration step#

Once OpenVT is rendering reliably, we can layer on:

  • chat-triggered expressions
  • TTS-driven mouth movement heuristics
  • stream.place chat read/write
  • autonomous reply logic