Can't compile blackmagic module on kernel 6.13

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Can't compile blackmagic module on kernel 6.13

PostWed Jan 29, 2025 2:04 pm

Hi,

I installed Desktop Video 14.4.1 on openSUSE Tumbleweeb but it doesn't compile the module on kernel 6.13. Kernel 6.12 was working fine.

Here is the log of DKMS.

Code: Select all
> cat /var/lib/dkms/blackmagic/14.4.1a4/build/make.log
DKMS make.log for blackmagic/14.4.1a4 for kernel 6.13.0-1-default (x86_64)
Wed Jan 29 09:02:33 AM EST 2025
touch .bmd-support.o.cmd
make -C /lib/modules/6.13.0-1-default/build M=/var/lib/dkms/blackmagic/14.4.1a4/build
make[1]: Entering directory '/usr/src/linux-6.13.0-1-obj/x86_64/default'
make[2]: Entering directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
  CC [M]  blackmagic_serial.o
  CC [M]  blackmagic_core.o
  CC [M]  blackmagic_lib.o
  CC [M]  blackmagic_dma.o
make[4]: *** No rule to make target 'bmd-support.o', needed by 'blackmagic.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
  CC [M]  blackmagic_gate.o
blackmagic_gate.c:107:25: warning: no previous prototype for ‘dl_alloc_gate’ [-Wmissing-prototypes]
  107 | struct blackmagic_gate *dl_alloc_gate(void)
      |                         ^~~~~~~~~~~~~
blackmagic_gate.c:130:6: warning: no previous prototype for ‘dl_free_gate’ [-Wmissing-prototypes]
  130 | void dl_free_gate(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~
blackmagic_gate.c:135:6: warning: no previous prototype for ‘dl_gate_set_device’ [-Wmissing-prototypes]
  135 | void dl_gate_set_device(struct blackmagic_gate *gate, void *dev)
      |      ^~~~~~~~~~~~~~~~~~
blackmagic_gate.c:175:14: warning: no previous prototype for ‘dl_gate_lock’ [-Wmissing-prototypes]
  175 | void __sched dl_gate_lock(struct blackmagic_gate *gate)
      |              ^~~~~~~~~~~~
blackmagic_gate.c:184:6: warning: no previous prototype for ‘dl_gate_lock_interrupt’ [-Wmissing-prototypes]
  184 | bool dl_gate_lock_interrupt(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_gate.c:241:6: warning: no previous prototype for ‘dl_gate_unlock’ [-Wmissing-prototypes]
  241 | void dl_gate_unlock(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~
blackmagic_gate.c:295:5: warning: no previous prototype for ‘dl_gate_sleep’ [-Wmissing-prototypes]
  295 | int dl_gate_sleep(struct blackmagic_gate *gate, void* key)
      |     ^~~~~~~~~~~~~
blackmagic_gate.c:366:6: warning: no previous prototype for ‘dl_gate_wakeup’ [-Wmissing-prototypes]
  366 | void dl_gate_wakeup(struct blackmagic_gate *gate, void* key)
      |      ^~~~~~~~~~~~~~
blackmagic_serial.c:374:6: warning: no previous prototype for ‘blackmagic_serial_tx_interrupt’ [-Wmissing-prototypes]
  374 | void blackmagic_serial_tx_interrupt(void *driver, int continue_tx)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:97:1: warning: no previous prototype for ‘blackmagic_find_device_by_minor’ [-Wmissing-prototypes]
   97 | blackmagic_find_device_by_minor(int minor)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:116:1: warning: no previous prototype for ‘blackmagic_find_device_by_id’ [-Wmissing-prototypes]
  116 | blackmagic_find_device_by_id(int id)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:134:27: warning: no previous prototype for ‘blackmagic_find_device_by_ptr’ [-Wmissing-prototypes]
  134 | struct blackmagic_device *blackmagic_find_device_by_ptr(void *ptr)
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:573:5: warning: no previous prototype for ‘blackmagic_serial_probe’ [-Wmissing-prototypes]
  573 | int blackmagic_serial_probe(struct blackmagic_device *ddev, struct device *dev)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:608:6: warning: no previous prototype for ‘blackmagic_serial_remove’ [-Wmissing-prototypes]
  608 | void blackmagic_serial_remove(struct blackmagic_device *ddev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:616:12: warning: no previous prototype for ‘blackmagic_serial_init’ [-Wmissing-prototypes]
  616 | int __init blackmagic_serial_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:661:13: warning: no previous prototype for ‘blackmagic_serial_exit’ [-Wmissing-prototypes]
  661 | void __exit blackmagic_serial_exit(void)
      |             ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:373:1: warning: no previous prototype for ‘blackmagic_create_device’ [-Wmissing-prototypes]
  373 | blackmagic_create_device(struct pci_dev *pdev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:439:1: warning: no previous prototype for ‘blackmagic_destroy_device’ [-Wmissing-prototypes]
  439 | blackmagic_destroy_device(struct blackmagic_device *ddev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_lib.c:569:5: warning: no previous prototype for ‘dl_thread_wrapper’ [-Wmissing-prototypes]
  569 | int dl_thread_wrapper(void *data)
      |     ^~~~~~~~~~~~~~~~~
make[3]: *** [/usr/src/linux-6.13.0-1/Makefile:2012: .] Error 2
make[2]: *** [/usr/src/linux-6.13.0-1/Makefile:251: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
make[1]: *** [../../../linux-6.13.0-1/Makefile:251: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-6.13.0-1-obj/x86_64/default'
make: *** [Makefile:44: all] Error 2
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostTue Feb 04, 2025 12:29 pm

Installing the `kernel-longterm` package on openSUSE Tumbleweed re-installed kernel 6.12 which means I can compile the modules until a fix for kernel 6.13 is released.
Offline

omahaprogrammer

  • Posts: 2
  • Joined: Thu Feb 06, 2025 4:30 pm
  • Real Name: Jonathan Paz

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 06, 2025 4:56 pm

I am on Arch Linux and I get the same problem with the 6.13 kernel. I have attached the DKMS make.log file as well in case a new example is helpful.

Code: Select all
DKMS (dkms-3.1.5) make.log for blackmagic/14.4.1a4 for kernel 6.13.1-arch1-1 (x86_64)
Thu Feb  6 10:47:54 AM CST 2025
Cleaning build area
# command: make clean
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions built-in.o Module.symvers Module.markers modules.order

# exit code: 0
# elapsed time: 00:00:00
Building module(s)
# command: make -j16 KERNELRELEASE=6.13.1-arch1-1 KERNELRELEASE=6.13.1-arch1-1
touch .bmd-support.o.cmd
make -C /lib/modules/6.13.1-arch1-1/build M=/var/lib/dkms/blackmagic/14.4.1a4/build
make[1]: Entering directory '/usr/lib/modules/6.13.1-arch1-1/build'
make[2]: Entering directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
  CC [M]  blackmagic_serial.o
  CC [M]  blackmagic_core.o
  CC [M]  blackmagic_lib.o
make[4]: *** No rule to make target 'bmd-support.o', needed by 'blackmagic.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
  CC [M]  blackmagic_dma.o
  CC [M]  blackmagic_gate.o
blackmagic_core.c:97:1: warning: no previous prototype for ‘blackmagic_find_device_by_minor’ [-Wmissing-prototypes]
   97 | blackmagic_find_device_by_minor(int minor)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:116:1: warning: no previous prototype for ‘blackmagic_find_device_by_id’ [-Wmissing-prototypes]
  116 | blackmagic_find_device_by_id(int id)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:134:27: warning: no previous prototype for ‘blackmagic_find_device_by_ptr’ [-Wmissing-prototypes]
  134 | struct blackmagic_device *blackmagic_find_device_by_ptr(void *ptr)
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:373:1: warning: no previous prototype for ‘blackmagic_create_device’ [-Wmissing-prototypes]
  373 | blackmagic_create_device(struct pci_dev *pdev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_core.c:439:1: warning: no previous prototype for ‘blackmagic_destroy_device’ [-Wmissing-prototypes]
  439 | blackmagic_destroy_device(struct blackmagic_device *ddev)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:374:6: warning: no previous prototype for ‘blackmagic_serial_tx_interrupt’ [-Wmissing-prototypes]
  374 | void blackmagic_serial_tx_interrupt(void *driver, int continue_tx)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:573:5: warning: no previous prototype for ‘blackmagic_serial_probe’ [-Wmissing-prototypes]
  573 | int blackmagic_serial_probe(struct blackmagic_device *ddev, struct device *dev)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:608:6: warning: no previous prototype for ‘blackmagic_serial_remove’ [-Wmissing-prototypes]
  608 | void blackmagic_serial_remove(struct blackmagic_device *ddev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:616:12: warning: no previous prototype for ‘blackmagic_serial_init’ [-Wmissing-prototypes]
  616 | int __init blackmagic_serial_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_serial.c:661:13: warning: no previous prototype for ‘blackmagic_serial_exit’ [-Wmissing-prototypes]
  661 | void __exit blackmagic_serial_exit(void)
      |             ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_lib.c:569:5: warning: no previous prototype for ‘dl_thread_wrapper’ [-Wmissing-prototypes]
  569 | int dl_thread_wrapper(void *data)
      |     ^~~~~~~~~~~~~~~~~
blackmagic_gate.c:107:25: warning: no previous prototype for ‘dl_alloc_gate’ [-Wmissing-prototypes]
  107 | struct blackmagic_gate *dl_alloc_gate(void)
      |                         ^~~~~~~~~~~~~
blackmagic_gate.c:130:6: warning: no previous prototype for ‘dl_free_gate’ [-Wmissing-prototypes]
  130 | void dl_free_gate(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~
blackmagic_gate.c:135:6: warning: no previous prototype for ‘dl_gate_set_device’ [-Wmissing-prototypes]
  135 | void dl_gate_set_device(struct blackmagic_gate *gate, void *dev)
      |      ^~~~~~~~~~~~~~~~~~
blackmagic_gate.c:175:14: warning: no previous prototype for ‘dl_gate_lock’ [-Wmissing-prototypes]
  175 | void __sched dl_gate_lock(struct blackmagic_gate *gate)
      |              ^~~~~~~~~~~~
blackmagic_gate.c:184:6: warning: no previous prototype for ‘dl_gate_lock_interrupt’ [-Wmissing-prototypes]
  184 | bool dl_gate_lock_interrupt(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~~~~~~~~~
blackmagic_gate.c:241:6: warning: no previous prototype for ‘dl_gate_unlock’ [-Wmissing-prototypes]
  241 | void dl_gate_unlock(struct blackmagic_gate *gate)
      |      ^~~~~~~~~~~~~~
blackmagic_gate.c:295:5: warning: no previous prototype for ‘dl_gate_sleep’ [-Wmissing-prototypes]
  295 | int dl_gate_sleep(struct blackmagic_gate *gate, void* key)
      |     ^~~~~~~~~~~~~
blackmagic_gate.c:366:6: warning: no previous prototype for ‘dl_gate_wakeup’ [-Wmissing-prototypes]
  366 | void dl_gate_wakeup(struct blackmagic_gate *gate, void* key)
      |      ^~~~~~~~~~~~~~
make[3]: *** [/usr/lib/modules/6.13.1-arch1-1/build/Makefile:1989: .] Error 2
make[2]: *** [/usr/lib/modules/6.13.1-arch1-1/build/Makefile:251: __sub-make] Error 2
make[2]: Leaving directory '/var/lib/dkms/blackmagic/14.4.1a4/build'
make[1]: *** [Makefile:251: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.13.1-arch1-1/build'
make: *** [Makefile:44: all] Error 2

# exit code: 2
# elapsed time: 00:00:01
Offline

omahaprogrammer

  • Posts: 2
  • Joined: Thu Feb 06, 2025 4:30 pm
  • Real Name: Jonathan Paz

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 06, 2025 6:03 pm

I noticed this line in make.log when compiling against the 6.12 kernel:
Code: Select all
  COPY    /var/lib/dkms/blackmagic/14.4.1a4/build/bmd-support.o


Adding this to the module Makefile seems to work. I don't know why the normal copy behavior simply doesn't anymore, but I'm not a C developer and don't know make that well:
Code: Select all
bmd-support.o:
        cp bmd-support.o_shipped bmd-support.o
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostFri Feb 07, 2025 2:25 am

omahaprogrammer wrote:I noticed this line in make.log when compiling against the 6.12 kernel:
Code: Select all
  COPY    /var/lib/dkms/blackmagic/14.4.1a4/build/bmd-support.o


Adding this to the module Makefile seems to work. I don't know why the normal copy behavior simply doesn't anymore, but I'm not a C developer and don't know make that well:
Code: Select all
bmd-support.o:
        cp bmd-support.o_shipped bmd-support.o

Indeed its working for the "blackmagic" module but not the "blackmagic-io" one.
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostFri Feb 07, 2025 3:22 am

So it compiled but by card is not detected.
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostTue Feb 18, 2025 7:54 pm

Any update on supporting kernel 6.13?
Offline

NVieville

  • Posts: 17
  • Joined: Tue Mar 12, 2019 9:29 am
  • Real Name: Nicolas Viéville

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 27, 2025 10:39 am

Hello,

As an attempt to fix compiling blackmagic and blackmagic-io modules for kernel 6.13, here is an archive containing the 2 patches needed.
Here is the content of these patches.

For blackmagic-io-14.4.1a4:
Code: Select all
diff -Naur ./blackmagic-io-14.4.1a4.orig/bm_util.c ./blackmagic-io-14.4.1a4/bm_util.c
--- ./blackmagic-io-14.4.1a4.orig/bm_util.c   2025-02-27 10:13:40.489497737 +0100
+++ ./blackmagic-io-14.4.1a4/bm_util.c   2025-02-27 10:52:53.343646525 +0100
@@ -120,7 +120,9 @@
 };
 
 #define MEM_ALIGN(mem, align) (((vm_address_t)(mem) + ((align) - 1)) & ~((align) - 1))
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
 #define MAX(a, b) ((a) > (b) ? (a) : (b))
+#endif
 
 void* bm_alloc_aligned(size_t size, uint32_t flags)
 {
diff -Naur ./blackmagic-io-14.4.1a4.orig/Makefile ./blackmagic-io-14.4.1a4/Makefile
--- ./blackmagic-io-14.4.1a4.orig/Makefile   2025-02-27 10:13:40.461497735 +0100
+++ ./blackmagic-io-14.4.1a4/Makefile   2025-02-27 11:21:26.422754854 +0100
@@ -52,3 +52,6 @@
 clean:
    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions built-in.o Module.symvers Module.markers modules.order
 
+blackmagic.o: blackmagic.o_shipped
+   cp blackmagic.o_shipped blackmagic.o
+


For blackmagic-14.4.1a4:
Code: Select all
diff -Naur ./blackmagic-14.4.1a4.orig/blackmagic_core.c ./blackmagic-14.4.1a4/blackmagic_core.c
--- ./blackmagic-14.4.1a4.orig/blackmagic_core.c   2025-02-27 10:13:50.096498345 +0100
+++ ./blackmagic-14.4.1a4/blackmagic_core.c   2025-02-27 10:36:01.394582532 +0100
@@ -93,6 +93,12 @@
 static LIST_HEAD(blackmagic_devices);
 static DEFINE_SPINLOCK(blackmagic_devices_lock);
 
+struct blackmagic_device *blackmagic_find_device_by_minor(int minor);
+struct blackmagic_device *blackmagic_find_device_by_id(int id);
+struct blackmagic_device *blackmagic_find_device_by_ptr(void *ptr);
+struct blackmagic_device *blackmagic_create_device(struct pci_dev *pdev);
+void blackmagic_destroy_device(struct blackmagic_device *ddev);
+
 struct blackmagic_device *
 blackmagic_find_device_by_minor(int minor)
 {
diff -Naur ./blackmagic-14.4.1a4.orig/blackmagic_gate.c ./blackmagic-14.4.1a4/blackmagic_gate.c
--- ./blackmagic-14.4.1a4.orig/blackmagic_gate.c   2025-02-27 10:13:50.096498345 +0100
+++ ./blackmagic-14.4.1a4/blackmagic_gate.c   2025-02-27 10:20:50.869524953 +0100
@@ -39,6 +39,7 @@
 #endif
 #include "blackmagic_iml.h"
 #include "blackmagic_core.h"
+#include "blackmagic_gate.h"
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 33)
    #define raw_spinlock_t spinlock_t
diff -Naur ./blackmagic-14.4.1a4.orig/blackmagic_gate.h ./blackmagic-14.4.1a4/blackmagic_gate.h
--- ./blackmagic-14.4.1a4.orig/blackmagic_gate.h   2025-02-27 10:13:50.096498345 +0100
+++ ./blackmagic-14.4.1a4/blackmagic_gate.h   2025-02-27 10:42:55.959608748 +0100
@@ -31,7 +31,7 @@
 
 struct blackmagic_gate;
 
-struct blackmagic_gate *dl_alloc_gate();
+struct blackmagic_gate *dl_alloc_gate(void);
 void dl_free_gate(struct blackmagic_gate *gate);
 void dl_gate_set_device(struct blackmagic_gate *gate, void *dev);
 
@@ -40,7 +40,7 @@
 void dl_gate_unlock(struct blackmagic_gate *gate);
 
 int dl_gate_sleep(struct blackmagic_gate *gate, void* key);
-void dl_gate_wakeup(struct blackmagic_gate *gate);
+void dl_gate_wakeup(struct blackmagic_gate *gate, void* key);
 
 
 #endif
diff -Naur ./blackmagic-14.4.1a4.orig/blackmagic_lib.h ./blackmagic-14.4.1a4/blackmagic_lib.h
--- ./blackmagic-14.4.1a4.orig/blackmagic_lib.h   2025-02-27 10:13:50.096498345 +0100
+++ ./blackmagic-14.4.1a4/blackmagic_lib.h   2025-02-27 10:22:57.397532954 +0100
@@ -163,6 +163,8 @@
 extern unsigned int dl_poll_wait(void *filp, struct dl_wait_queue_head_t *queue, void *wait, int write);
 extern void dl_destroy_wait_queue_cache(void);
 
+int dl_thread_wrapper(void *data);
+
 /* FPU save/restore */
 extern void dl_kernel_fpu_begin(void);
 extern void dl_kernel_fpu_end(void);
diff -Naur ./blackmagic-14.4.1a4.orig/blackmagic_serial.c ./blackmagic-14.4.1a4/blackmagic_serial.c
--- ./blackmagic-14.4.1a4.orig/blackmagic_serial.c   2025-02-27 10:13:50.097498345 +0100
+++ ./blackmagic-14.4.1a4/blackmagic_serial.c   2025-02-27 10:22:57.429532956 +0100
@@ -38,6 +38,12 @@
 
 static struct tty_driver *blackmagic_tty_driver = NULL;
 
+void blackmagic_serial_tx_interrupt(void *driver, int continue_tx);
+int blackmagic_serial_probe(struct blackmagic_device *ddev, struct device *dev);
+void blackmagic_serial_remove(struct blackmagic_device *ddev);
+int __init blackmagic_serial_init(void);
+void __exit blackmagic_serial_exit(void);
+
 static inline void *get_driver_from_serial(struct blackmagic_serial *sdev)
 {
    return container_of(sdev, struct blackmagic_device, sdev)->driver;
diff -Naur ./blackmagic-14.4.1a4.orig/Makefile ./blackmagic-14.4.1a4/Makefile
--- ./blackmagic-14.4.1a4.orig/Makefile   2025-02-27 10:13:50.096498345 +0100
+++ ./blackmagic-14.4.1a4/Makefile   2025-02-27 11:21:26.401754853 +0100
@@ -49,3 +49,6 @@
 clean:
    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions built-in.o Module.symvers Module.markers modules.order
 
+bmd-support.o: bmd-support.o_shipped
+   cp bmd-support.o_shipped bmd-support.o
+


Any comment are welcome.
Hope this will help.

Cordially,


--
NVieville
Attachments
blackmagic_modules_kernel_6.13_patches.zip
blackmagic_modules_kernel_6.13_patches.zip
(2.05 KiB) Downloaded 146 times
Offline

goldyfruit

  • Posts: 49
  • Joined: Mon Apr 26, 2021 6:47 pm
  • Location: Montreal
  • Real Name: Gaëtan Trellu

Re: Can't compile blackmagic module on kernel 6.13

PostThu Feb 27, 2025 8:55 pm

As usual NVieville thank you, the patch works beautifully on kernel 6.13.4.
Offline

sudomateo

  • Posts: 2
  • Joined: Fri Feb 28, 2025 5:13 pm
  • Real Name: Matthew Sanabria

Re: Can't compile blackmagic module on kernel 6.13

PostFri Feb 28, 2025 5:21 pm

I registered just to say that the patches worked for me on Fedora 41 with kernel 6.13.4-200.fc41.x86_64.

Here are the file paths that needed to be modified for my installation.
Code: Select all
# First patch modifies these files.
/var/lib/dkms/blackmagic-io/14.4.1a4/source/bm_util.c
/var/lib/dkms/blackmagic-io/14.4.1a4/source/Makefile

# Second patch modifies this file.
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_core.c
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_core.c
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_gate.c
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_gate.h
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_lib.h
/var/lib/dkms/blackmagic/14.4.1a4/source/blackmagic_serial.c
/var/lib/dkms/blackmagic/14.4.1a4/source/Makefile


Then I rebuilt and installed the `blackmagic-io` module like so.
Code: Select all
sudo dkms build -m blackmagic-io -v 14.4.1a4 -k (uname -r)
sudo dkms install -m blackmagic-io -v 14.4.1a4 -k (uname -r)
Offline

francisqureshi

  • Posts: 26
  • Joined: Wed Dec 23, 2020 2:49 pm
  • Real Name: Francis Qureshi

Re: Can't compile blackmagic module on kernel 6.13

PostThu Mar 13, 2025 5:42 pm

Thank you NVieville!

Patch works for me but I still cannot get my Thunderbolt 3 UltraStudio 4K TB3 to appear in desktop video / resolve on Fedora 41... What hardware are you using ?
System:
Intel 14900K | RTX 4090 24GB | Asus z790 ProArt | Mellanox CX6 | Ultrastudio 4k Mini TB3 | Rocky 9.5 | Resolve 19.1.4
Offline

NVieville

  • Posts: 17
  • Joined: Tue Mar 12, 2019 9:29 am
  • Real Name: Nicolas Viéville

Re: Can't compile blackmagic module on kernel 6.13

PostFri Mar 21, 2025 8:44 am

Hello francisqureshi,

francisqureshi wrote:Patch works for me but I still cannot get my Thunderbolt 3 UltraStudio 4K TB3 to appear in desktop video / resolve on Fedora 41... What hardware are you using ?


Sorry, I can't be of any help you with your device. I only use old ones: DeckLink Studio 2 and DeckLink SDI (aka DeckLink quad) on Fedora 41, Debian 12 and Ubuntu 24.04.
But, when and if possible, it would be very useful if you could post a solution in the forum, when you get your device working, if any. Maybe the core problem is located around Thunderbolt.

Sorry for the late response.

Cordially,


--
NVieville
Offline

francisqureshi

  • Posts: 26
  • Joined: Wed Dec 23, 2020 2:49 pm
  • Real Name: Francis Qureshi

Re: Can't compile blackmagic module on kernel 6.13

PostSat Mar 22, 2025 1:31 pm

Hiya NVieville,

No worries at all, I do also think it must be a thunderbolt thing.. I'll try and investigate this coming week and might try get a hold of a PCIe card to test too.. All is working well in Rocky 9.5 for the moment.

I shall indeed report back!
System:
Intel 14900K | RTX 4090 24GB | Asus z790 ProArt | Mellanox CX6 | Ultrastudio 4k Mini TB3 | Rocky 9.5 | Resolve 19.1.4
Offline

sudomateo

  • Posts: 2
  • Joined: Fri Feb 28, 2025 5:13 pm
  • Real Name: Matthew Sanabria

Re: Can't compile blackmagic module on kernel 6.13

PostMon Mar 24, 2025 11:42 pm

I run the UltraStudio Recorder 3G on Fedora 41 (6.13.8-200.fc41.x86_64) with the patches listed here. It's connected to a USB4 port on my laptop.

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 8 guests