Black, then judder, then a loop, and never an error. Spout and Syphon are fast because the frame never leaves the GPU, and that is exactly why they fail silently. Three ways it happens, and the one way around all of them.
Black, with no feed
"It's black. No feed is coming through.", spout.discourse.group thread 522
Almost always: the sender and the receiver are on different GPUs. A laptop with Intel graphics and a discrete card will happily put one application on each, and a shared texture cannot cross that boundary, which is precisely why it is fast.
Force both applications onto the same GPU, on Windows, Graphics settings → per-app preference. Then check what it cost: one report forcing Resolume onto the Intel GPU got a working screen at about 30 fps. Every zero-copy tool meets this, vvvv's browser integration tells you to disable its shared texture as a multi-GPU workaround.
Judder, from a mismatch nothing reports
A 25 fps source in a 30 fps show beats against it. No warning, no log line, and the picture is almost right, so you doubt yourself instead of the setup. Match the rates end to end: sketch, sender, receiver, output.
A feedback loop
Easy to make by accident when the source list and the output are both visible in one application. Check what the sender is actually capturing.
What Sialk does instead
- The sketch runs inside it, on one GPU. No texture crossing a process boundary, so nothing to go black.
- The window is the output, not a preview of it. No second application to synchronise with, no frame-rate negotiation, so nothing to judder against.
- Says so when it cannot. Where the GPU path is unavailable, Sialk tells you rather than drawing a slow one.
If your show is Resolume, keep Resolume - Sialk and Resolume. Sialk's output is a screen, and every rig takes a screen.
- Download the beta - free, macOS
- What Sialk plays