From e930b6ac20dd1ae5718b750b90131f2a9828e50e Mon Sep 17 00:00:00 2001 From: Alexander Jacobsen Date: Sat, 18 Jul 2026 01:27:22 +0200 Subject: [PATCH 1/4] fix Makefile after rename to pixelflut.c --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7a6c18a..177fdae 100644 --- a/Makefile +++ b/Makefile @@ -20,8 +20,8 @@ TARGETS = pixelflut-render pixelflut-bench all: $(TARGETS) -pixelflut-render: new.c pixelflut.h - $(CC) $(STD) $(OPT) -pthread $(WARN) $(EXTRA) -o $@ new.c +pixelflut-render: pixelflut.c pixelflut.h + $(CC) $(STD) $(OPT) -pthread $(WARN) $(EXTRA) -o $@ pixelflut.c pixelflut-bench: bench.c pixelflut.h $(CC) $(STD) $(OPT) -pthread $(WARN) $(EXTRA) -o $@ bench.c From 5c8ca0f5b49c98d1502459d7223487149cc41d82 Mon Sep 17 00:00:00 2001 From: Alexander Jacobsen Date: Sat, 18 Jul 2026 01:28:31 +0200 Subject: [PATCH 2/4] move to left side of screen --- pixelflut.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixelflut.c b/pixelflut.c index 1a8b2e6..1f3cf2e 100644 --- a/pixelflut.c +++ b/pixelflut.c @@ -65,7 +65,7 @@ #define FRAME_BYTES (FRAME_PIXELS * FRAME_CHANNELS) /* Top-left corner where the frame is drawn on the shared wall. */ -#define CANVAS_OFFSET_X 1200 +#define CANVAS_OFFSET_X 80 #define CANVAS_OFFSET_Y 40 /* Number of datagrams needed to cover a whole frame once. */ From f8dfe27c571b1faeaa5eea0a8d016b69e3672770 Mon Sep 17 00:00:00 2001 From: Alexander Jacobsen Date: Sat, 18 Jul 2026 01:28:41 +0200 Subject: [PATCH 3/4] add run.sh --- run.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 run.sh diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..d0eef33 --- /dev/null +++ b/run.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +./pixelflut-render ix1 2 From 2737945b4cb89e7f3fce5b9a9e55f6e23133b8bf Mon Sep 17 00:00:00 2001 From: Alexander Jacobsen Date: Sat, 18 Jul 2026 01:50:12 +0200 Subject: [PATCH 4/4] better error handling --- pixelflut.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pixelflut.c b/pixelflut.c index 1f3cf2e..466c2f0 100644 --- a/pixelflut.c +++ b/pixelflut.c @@ -231,15 +231,21 @@ static void *worker_main(void *arg) /* Transient back-pressure. Back off briefly so the queue * drains (rather than spinning on failing syscalls), then * resend the same batch - no need to repaint. */ - usleep(200); + usleep(100); continue; case ECONNREFUSED: break; /* stale ICMP on connected UDP; repaint and retry */ + case EHOSTUNREACH: /* display down / IPv6 ND unresolved */ + case ENETUNREACH: + case EHOSTDOWN: + case ENETDOWN: + usleep(100000); + break; default: perror("sendmmsg"); break; } - break; /* ECONNREFUSED / unexpected: stop, repaint, retry */ + break; } }