Skip to content

Screens on OVOS Today

In a nutshell

OVOS is voice-first, but some devices (notably the Mark 2) also have a screen. The screen software that exists today is old, deprecated, and best described as "just barely working". It stays alive only so existing Mark 2 devices don't go dark. A ground-up replacement is being designed, but it is Upcoming and not usable yet. This page is the single, honest answer to "what's the state of GUI on OVOS?" Every other GUI page links back here instead of repeating the same warning.

The honest verdict

There is no generally usable OVOS GUI. The only screen stack that actually runs is the legacy Qt5 stack: ovos-shell wrapping mycroft-gui-qt5, talking over the legacy GUI protocol to ovos-gui. That stack is deprecated upstream (Qt5 itself is no longer updated) and treated as broken, in the sense that no active development happens on it. It stays around solely so devices that already have it (Mark 2s shipped via the ovos-installer) keep a working screen.

A ground-up replacement, the GUI adapter rework, formalized as spec OVOS-GUI-1, is being built to fix this properly. It is Upcoming: not merged, not released, and not something to plan a product around today. See GUI Adapter Plugins for the technical design.

Practical recommendation

If you are shipping a device with a screen today:

  • Voice must remain the primary interface. Treat any screen as a bonus, never a requirement, since the display stack can vanish or be swapped without warning.
  • If you need a screen now, use the legacy Mark 2 path: ovos-shell + mycroft-gui-qt5, installed automatically by the ovos-installer. Do not invest in new QML pages against this stack — it will not gain new capability.
  • Do not build against the adapter/rework APIs yet; they are Upcoming and their shape can still change before release.
  • If a screen is not a hard requirement, skip the GUI entirely. OVOS works fully voice-only, and this sidesteps the whole legacy/rework transition.

Tracked rework

The GUI adapter rework is spread across several repositories. All of the following are open, in-progress pull requests — nothing here has shipped:

GUI generations at a glance

Generation Status What it is Page
Legacy GUI service Deprecated, only thing that runs The ovos-gui daemon that tracks GUI state and speaks the legacy protocol GUI Service
Legacy protocol Deprecated The Qt-WebSocket messages (gui.value.set, gui.page.show, …) between skills and screen clients GUI Protocol
Qt5/QML client Deprecated upstream, still the only runnable client mycroft-gui-qt5, the Qt5/QML rendering toolkit Qt5 GUI
Shell application Deprecated, still in use on Mark 2 ovos-shell, the full-screen Kirigami app wrapping the Qt5 client OVOS Shell
Home screen Deprecated, still in use on Mark 2 The idle/resting screen skill shown when nothing else is displayed Home Screen
Skill GUI API Legacy API, still what skills use today self.gui / GUIInterface, the Python API a skill uses to push data to a screen GUI Skills
Adapter rework (OVOS-GUI-1) Upcoming — in progress, not usable Planned replacement: skills declare SYSTEM_* templates, interchangeable render backends draw them GUI Adapter Plugins

Read next: GUI Service (legacy) · PHAL Related: GUI Adapter Plugins · OVOS Shell · Home Screen