Calametra runs your real driver against a stateful model of the device on a single-threaded virtual clock. Same spec, same scenario, same seed — same trace hash, every time. A race stops being a story about a flaky rig and becomes a file you can replay.
Replay matches the hash, or the run is reported failed.
The complete observed table, with a real HP X27q EDID.
Matchable at any transition in the model.
The offline path needs only Python's standard library.
Exploration walks transport fault sites and seeded schedules until an invariant breaks. Delta-debugging then removes every event that is not load-bearing, until what remains is short enough to read aloud.
Descriptors, vendor requests, timing tables and a fault schedule, versioned as JSON.
One thread; simultaneous events ordered by seed, not by luck.
RAM, EDID, timing, modeset, ready, flip state — transitions, not canned replies.
Pinned 10.1.5 source build, framed socket, TCG instruction-count clock.
USB core, xHCI, DRM/KMS. A real 1080p frame comes back.
$ make explore explore transport fault sites 24 explore seeded schedules 48 hit seed 0x4F21A9 fail flip_state_matches_ram stale get_status accepted after disconnect
$ make minimize && make replay delta 48 → 12 → 5 → 3 events minimal get_status · disconnect · get_status replay 36/36 records reproduced hash sha256:9c41…e07 identical
The reference device is an unsupported MCT Trigger 6 graphics function. Beside it sits a USB DFU 1.1 class model: a published spec, so any mismatch there is a defect in Calametra rather than a mystery about hardware.
| Item | Description | Value |
|---|---|---|
| Reference device | j5create JCD543 dock, unsupported USB graphics function | 0711:5601 rev 1010 |
| Descriptors | Device, configuration, interface, endpoint — exact from the dock | byte-exact |
| Vendor control | RAM, status, EDID, timing, init, modeset, ready, monitor control, finalise | 9 groups |
| Bulk path | Command framing, bounded RAM writes, colour-bar transfer, decoded flip state | 1920×1080 |
| Fault injection | stall · timeout · short · disconnect · delay · corrupt | matchable |
| Guest coverage | Enumeration, control, bulk-OUT, driver query and active probe paths | Linux 6.1 |
| Display output | DRM connectors with one real KMS frame delivered back to the model | 2 connectors |
| Firmware lab | Fomu/Foboot RISC-V in Renode over USB/IP, driving a DFU campaign | experimental |
These limits are quoted from the repository, not softened for a landing page.