How turingine/turingine-runtime works
Turingine is a kiosk-oriented application platform for direct DRM/KMS display and evdev input, with an optional X11 bridge for standard graphical apps. The main user workflow is selecting a configured app in the homescreen, which launches it natively or through the X11 stack; native apps share the display and input services. The repository also includes a terminal, graphing app, calculator-related modules, and a math-rendering library. Several of those app directories have no sampled source, so their internal wiring is not shown.
Main entry points: homescreen/main.c Homescreen launcher · drm_display.c DRM display · evdev_input.c Evdev input · terminal/main.c Native terminal
Components 16
Kiosk and bridge
- Homescreen config
config/homescreen.conf - Homescreen launcher
apps/homescreen/main.c - X11 display bridge
apps/x11_bridge/main.c
Native applications
- Native terminal
apps/terminal/main.c - Terminal shell
apps/terminal/term_shell.c - Terminal renderer
apps/terminal/term_render.c
Platform services
- DRM display
core/display/drm_display.c - Evdev input
core/input/evdev_input.c - Bitmap font
core/common/font8x16.h
Math applications
- Function grapher
apps/Grapher/graph.cpp - Calculator modules
apps/calculator - Math expression renderer
core/math_render
Other components
- Kiosk user
- Xvfb / Openbox
- Giac math engine
- Display and input devices
Connections 20
- Kiosk user → Homescreen launcher: selects app
- Homescreen launcher → Homescreen config: reads settings
- Homescreen launcher → DRM display: renders through
- Homescreen launcher → Evdev input: reads input
- Homescreen launcher → Xvfb / Openbox: starts standard-app stack
- Homescreen launcher → X11 display bridge: starts bridge
- Native terminal → DRM display: renders through
- Native terminal → Evdev input: reads input
- Native terminal → Terminal shell: dispatches commands
- Native terminal → Terminal renderer: draws terminal
- Terminal shell → Terminal renderer: prints output
- Terminal renderer → Bitmap font: uses glyphs
- X11 display bridge → Xvfb / Openbox: captures frames / injects events
- X11 display bridge → DRM display: presents frames
- X11 display bridge → Evdev input: reads input
- Function grapher → DRM display: presents graphics
- Function grapher → Evdev input: reads input
- Function grapher → Giac math engine: evaluates functions
- DRM display → Display and input devices: drives display
- Evdev input → Display and input devices: reads events