---
title: "OmaCRT: for the pleasure of playing on a tube television"
url: "https://www.sparkfabrik.com/en/lab/omacrt/"
lang: "en"
type: "project"
date: "2026-10-17"
lastmod: "2026-10-17"
description: "I wanted to play on a CRT without leaving the computer I work on every day. A story from the SparkFabrik Laboratorio."
image: "https://www.sparkfabrik.com/images/og/laboratorio-omacrt-en.webp"
translations:
  it: "https://www.sparkfabrik.com/it/laboratorio/omacrt/index.md"
schema: {"@context":"https://schema.org","@id":"https://www.sparkfabrik.com/en/lab/omacrt/#webpage","@type":"WebPage","breadcrumb":{"@id":"https://www.sparkfabrik.com/en/lab/omacrt/#breadcrumb"},"dateModified":"2026-10-17T23:36:08+02:00","description":"I wanted to play on a CRT without leaving the computer I work on every day. A story from the SparkFabrik Laboratorio.","inLanguage":"en","isPartOf":{"@id":"https://www.sparkfabrik.com/#website"},"name":"OmaCRT: for the pleasure of playing on a tube television","publisher":{"@id":"https://www.sparkfabrik.com/#organization"},"url":"https://www.sparkfabrik.com/en/lab/omacrt/"}
---

# For the pleasure of playing on a tube television.

I wanted to play on a CRT without leaving the computer I work on every day. And I wanted to understand how video timings, the kernel and emulators fit together: there was no client, there was curiosity.

Stefano Mainardi, CEO · tells OmaCRT

### How I approached it

First I set what done well meant: the timings the tube can take and how long it takes from button to screen. Then I worked on it with Claude Code, for design, code, tests and documentation, testing every change on the real television. One rule above all: OmaCRT lives inside Omarchy without touching it.

> A change that requires patching Omarchy is the wrong change. (The first rule of AGENTS.md)

### What came out

One output of the graphics card goes to the television, the other screens keep working. Games, music and video at 15 kHz, beside the everyday desktop.

10.19 ms: from button to screen, median of 300 presses; software and kernel measurements on a BeoCenter 1

## Il progetto

- Built with: Rust, QML, Claude Code
- Runs on: Linux with Hyprland, AMD GPU
- Needs: A CRT and a SCART converter
- Status: Experimental, MIT

[omacrt.com](https://omacrt.com)

## Before we bring it to you, we try it on ourselves.

Have a need like this? Let's talk: we approach it the same way.

[Tell us about your project](https://www.sparkfabrik.com/en/contact-us/)

More stories:

- [A radio voice in every call, without knowing anything about audio.](https://www.sparkfabrik.com/en/lab/voice-strip/): Voice Strip · Paolo Mainardi
- [For the pleasure of making music by writing code.](https://www.sparkfabrik.com/en/lab/coding-misk/): Coding Misk · Alessandro De Vecchi
- [With several screens, the focus where you are looking.](https://www.sparkfabrik.com/en/lab/eye-detector/): Eye Detector · Luca Rossi
- [To see if our engravings could become a game.](https://www.sparkfabrik.com/en/lab/lultima-scintilla/): L'ultima scintilla · Stefano Mainardi

---

*This is the Markdown version of the page, to facilitate reading by AI and crawlers. Visit [https://www.sparkfabrik.com/en/lab/omacrt/](https://www.sparkfabrik.com/en/lab/omacrt/) for the full version with images and interactions.*
