Open Source2025

Exhibition VM Controller

VM management for exhibition environments with automatic snapshot recovery.

Role: Developer

virtualizationKVMPythonmuseum

About the Project

Framework for preserving and operating historical digital artworks in museum exhibitions. Developed at ZKM | Center for Art and Media Karlsruhe, it keeps legacy computing environments running as virtual machines and recovers from errors automatically. When a VM crashes or an artwork hangs, the system reverts to a known-good snapshot. The exhibition keeps running without staff stepping in. Tested in production with VMs running Windows XP, legacy multimedia engines, and browser-based artworks requiring obsolete rendering systems.

Features

  • Automated recovery: detects failures through heartbeat timeouts and QEMU agent monitoring, then reverts to clean snapshot state within seconds
  • Modular guest scripts: specialized monitoring tools (AutoIT for Windows XP) handle heartbeat signaling, idle detection, and process watchdog functionality
  • REST API: endpoints for VM control, snapshot management, heartbeat configuration, and health status
  • Kiosk display: full-screen presentation using virt-viewer with automatic launcher startup for unattended exhibition operation
  • libvirt integration: QEMU/KVM virtualization on Linux (Ubuntu 22.04, Debian 12), controlled via Python 3.10+ with FastAPI