Merge pull request 'daemon: link daedalus-fourier + log substrate availability at startup' (#13) from noether/daemon-link-daedalus-fourier into main

Reviewed-on: #13
This commit was merged in pull request #13.
This commit is contained in:
2026-05-21 16:35:38 +00:00
2 changed files with 48 additions and 0 deletions
+24
View File
@@ -22,6 +22,8 @@
#include <libavutil/log.h>
#include <daedalus.h>
static volatile sig_atomic_t g_terminate = 0;
static void on_signal(int sig)
@@ -120,6 +122,26 @@ int main(int argc, char **argv)
/* Mute FFmpeg's own chattiness unless the user asked. */
fm.av_log_set_level(verbose ? AV_LOG_INFO : AV_LOG_WARNING);
/*
* Initialise daedalus-fourier early so we can log substrate
* availability up front. daedalus_ctx_create_no_qpu() skips
* the V3D Vulkan probe — we're not dispatching any kernels
* yet, this is just the linkage sanity check + a marker in the
* journal that the binary is wired against the right
* daedalus-fourier version. Future work (per daedalus-v4l2#11)
* promotes to daedalus_ctx_create() once shader-path resolution
* is wired through the public API.
*/
daedalus_ctx *df_ctx = daedalus_ctx_create_no_qpu();
if (df_ctx) {
log_info("daedalus-fourier: linked, ctx alive (no_qpu mode; "
"has_qpu=%d)",
daedalus_ctx_has_qpu(df_ctx));
} else {
log_warn("daedalus-fourier: ctx_create_no_qpu returned NULL "
"(out of memory?) — continuing without backend kernels");
}
int rc;
const char *cmd = argv[i++];
if (strcmp(cmd, "parse") == 0) {
@@ -132,6 +154,8 @@ int main(int argc, char **argv)
rc = 2;
}
if (df_ctx)
daedalus_ctx_destroy(df_ctx);
ffmpeg_loader_cleanup(&fm);
log_cleanup();
return rc;