Skip to content

Instantly share code, notes, and snippets.

@kode54
Created December 4, 2025 11:36
Show Gist options
  • Select an option

  • Save kode54/6dee3bbc1b44ae3815c8af0964522291 to your computer and use it in GitHub Desktop.

Select an option

Save kode54/6dee3bbc1b44ae3815c8af0964522291 to your computer and use it in GitHub Desktop.
diff '--color=auto' -urN nvidia-vaapi-driver-0.0.14.orig/src/vabackend.c nvidia-vaapi-driver-0.0.14/src/vabackend.c
--- nvidia-vaapi-driver-0.0.14.orig/src/vabackend.c 2025-05-23 00:42:27.000000000 -0700
+++ nvidia-vaapi-driver-0.0.14/src/vabackend.c 2025-11-18 09:43:50.000000000 -0800
@@ -100,6 +100,22 @@
return NV_FORMAT_NONE;
}
+static void logMessages(void *data, CUlogLevel logLevel, char *message, size_t length) {
+ if (LOG_OUTPUT == 0) {
+ return;
+ }
+
+ struct timespec tp;
+ clock_gettime(CLOCK_MONOTONIC, &tp);
+
+ fprintf(LOG_OUTPUT, "%10ld.%09ld [%d-%d] ", (long)tp.tv_sec, tp.tv_nsec, getpid(), nv_gettid());
+ fwrite(message, 1, length, LOG_OUTPUT);
+ fwrite("\n", 1, 1, LOG_OUTPUT);
+ fflush(LOG_OUTPUT);
+}
+
+static CUlogsCallbackHandle logsCallbackHandle;
+
__attribute__ ((constructor))
static void init() {
char *nvdLog = getenv("NVD_LOG");
@@ -164,10 +180,15 @@
//Not really much we can do here to abort the loading of the library
CHECK_CUDA_RESULT(cu->cuInit(0));
+
+ // Set up logging
+ CHECK_CUDA_RESULT(cu->cuLogsRegisterCallback(logMessages, NULL, &logsCallbackHandle));
}
__attribute__ ((destructor))
static void cleanup() {
+ CHECK_CUDA_RESULT(cu->cuLogsUnregisterCallback(logsCallbackHandle));
+
if (cv != NULL) {
cuvid_free_functions(&cv);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment