Confirmed that patch from @sudomateo works with 6.15.2
Search Criteria
Package Details: mediaexpress 14.4.1-2
Package Actions
Git Clone URL: | https://aur.archlinux.org/decklink.git (read-only, click to copy) |
---|---|
Package Base: | decklink |
Description: | Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards |
Upstream URL: | https://www.blackmagicdesign.com/support/family/capture-and-playback |
Licenses: | custom |
Submitter: | alub |
Maintainer: | goldensuneur |
Last Packager: | goldensuneur |
Votes: | 24 |
Popularity: | 0.000000 |
First Submitted: | 2015-10-03 15:38 (UTC) |
Last Updated: | 2025-02-16 11:39 (UTC) |
Dependencies (6)
- decklinkAUR
- glu (glu-gitAUR)
- libpng (libpng-gitAUR, libpng-apngAUR)
- qt5-base (qt5-base-gitAUR, qt5-base-headlessAUR)
- qt5-svg (qt5-svg-gitAUR)
- curl (curl-gitAUR, curl-c-aresAUR) (make)
Required by (0)
Sources (2)
kernelpanicc commented on 2025-06-12 12:11 (UTC)
sudomateo commented on 2025-06-11 14:03 (UTC)
I received the following error on kernel 6.15.1-arch1-2.
bm_util.c: In function ‘bm_timer_free’:
bm_util.c:474:9: error: implicit declaration of function ‘del_timer’; did you mean ‘add_timer’? [-Wimplicit-function-declaration]
474 | del_timer(timer);
| ^~~~~~~~~
| add_timer
bm_util.c: In function ‘bm_timer_cancel’:
bm_util.c:494:9: error: implicit declaration of function ‘del_timer_sync’ [-Wimplicit-function-declaration]
494 | del_timer_sync(timer);
| ^~~~~~~~~~~~~~
I updated the source with the following patch and was successfully able to build kernel module again.
diff --git a/var/lib/dkms/blackmagic-io/14.4.1a4/source/bm_util.c b/var/lib/dkms/blackmagic-io/14.4.1a4/source/bm_util.c
index 66751cb..2f05d0e 100644
--- a/var/lib/dkms/blackmagic-io/14.4.1a4/source/bm_util.c
+++ b/var/lib/dkms/blackmagic-io/14.4.1a4/source/bm_util.c
@@ -471,7 +471,7 @@ void bm_timer_free(bm_timer_t* timer)
{
#if KERNEL_VERSION_OR_LATER(4, 15, 0)
struct bm_timer_wrapper* timer_wrapper = container_of(timer, struct bm_timer_wrapper, timer);
- del_timer(timer);
+ timer_delete(timer);
bm_kfree(timer_wrapper);
#else
del_timer(timer);
@@ -491,7 +491,7 @@ void bm_timer_expire_at(bm_timer_t* timer, uint64_t ns)
void bm_timer_cancel(bm_timer_t* timer)
{
- del_timer_sync(timer);
+ timer_delete_sync(timer);
}
// Event waiting
CrimsonHawk commented on 2025-04-25 07:26 (UTC) (edited on 2025-04-25 07:26 (UTC) by CrimsonHawk)
Would you consider adding -Wno-error=strict-prototypes
flag to the Makefile? This is needed to prevent build failures when compiling against Clang/LLVM-based kernels, as Clang treats function declarations without prototypes as an error by default.
This change would suppress those specific warnings being treated as fatal, without impacting builds on GCC or weakening general warning coverage.
Temporary workaround: edit /usr/src/blackmagic-io-14.4.1a4/dkms.conf
and /usr/src/blackmagic-14.4.1a4/dkms.conf
and change MAKE="make KERNELRELEASE=$kernelver"
to MAKE="make KERNELRELEASE=$kernelver EXTRA_CFLAGS="-Wno-error=strict-prototypes""
burton commented on 2025-02-16 18:14 (UTC)
also a friendly reminder to check for firmware updates when troubleshooting the driver. in this case a firmware update was required (for a Decklink Duo 2), which made it not appear in BlackmagicDesktopVideoSetup
or other softwares, even if the driver was functionning.
once the driver is working (and service running), DesktopVideoUpdateTool -l
will list outdated cards that are otherwise unreported by BlackmagicDesktopVideoSetup
.
burton commented on 2025-02-16 18:06 (UTC)
the fix works on 6.13.2-arch1-1
but it did not compile for 6.12.13-1-lts
with
libbpf: failed to get e_shstrndx from vmlinux Fail
ed to parse base BTF 'vmlinux': -4001
i don't think this is a Decklink issue; this machine was a bit long in the updates (perhaps 9 months) but just in case someone else faces the same thing: had to run sudo pacman -S linux-lts-headers
(even if it was already installed and fresh out of an -Syu
prior to trying to update Decklink) which triggered DKMS and compiled correctly for LTS. don't know enough about PKGBUILD to suggest if something should be included to prevent such issues.
goldensuneur commented on 2025-02-16 11:39 (UTC)
Thank you for the fix and sorry for the delay. I just pushed the fix
kernelpanicc commented on 2025-02-16 11:05 (UTC)
Can confirm module fails to build with 6.13. I was able to get the module to build by modifying the source makefile in /var/lib/dkms/...
to include a rule which copies the pre-compiled object files bmd-support.o_shipped
and blackmagic.o_shipped
like so:
bmd-support.o: bmd-support.o_shipped
cp bmd-support.o_shipped bmd-support.o
Capture card works as expected after dkms autoinstall
. Not a C dev, and not sure what changed, but hopefully this will help someone.
mazieres commented on 2025-02-13 00:55 (UTC)
The module no longer builds for me with kernel 6.13.
# dkms install --no-depmod blackmagic-io/14.4.1a4 -k 6.13.2-arch1-1
Sign command: /usr/lib/modules/6.13.2-arch1-1/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Cleaning build area... done.
Building module(s)...(bad exit status: 2)
Failed command:
make -j48 KERNELRELEASE=6.13.2-arch1-1 KERNELRELEASE=6.13.2-arch1-1
Error! Bad return status for module build on kernel: 6.13.2-arch1-1 (x86_64)
Consult /var/lib/dkms/blackmagic-io/14.4.1a4/build/make.log for more information.
And in /var/lib/dkms/blackmagic-io/14.4.1a4/build/make.log
:
make[4]: *** No rule to make target 'blackmagic.o', needed by 'blackmagic-io.o'.
Any ideas?
ToadKing commented on 2025-02-04 02:17 (UTC) (edited on 2025-02-04 02:19 (UTC) by ToadKing)
Building the module is broken on 6.13.1 kernel
make -C /lib/modules/6.13.1-arch1-1/build M=/var/lib/dkms/blackmagic-io/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-io/14.4.1a4/build'
CC [M] bmio_client.o
CC [M] bmio_dev.o
CC [M] bmio_device.o
CC [M] bmio_driver.o
CC [M] bmio_serial.o
CC [M] bmio_export.o
CC [M] bmio_pci_ids.o
CC [M] bm_locks.o
CC [M] bm_mm.o
CC [M] bm_pci.o
make[4]: *** No rule to make target 'blackmagic.o', needed by 'blackmagic-io.o'. Stop.
make[4]: *** Waiting for unfinished jobs....
CC [M] bm_util.o
bm_util.c:123:9: warning: "MAX" redefined
123 | #define MAX(a, b) ((a) > (b) ? (a) : (b))
| ^~~
In file included from /usr/lib/modules/6.13.1-arch1-1/build/include/linux/kernel.h:28,
from /usr/lib/modules/6.13.1-arch1-1/build/include/linux/cpumask.h:11,
from /usr/lib/modules/6.13.1-arch1-1/build/arch/x86/include/asm/paravirt.h:21,
from /usr/lib/modules/6.13.1-arch1-1/build/arch/x86/include/asm/cpuid.h:64,
from /usr/lib/modules/6.13.1-arch1-1/build/arch/x86/include/asm/processor.h:19,
from /usr/lib/modules/6.13.1-arch1-1/build/include/linux/sched.h:13,
from /usr/lib/modules/6.13.1-arch1-1/build/include/linux/delay.h:13,
from bm_util.c:27:
/usr/lib/modules/6.13.1-arch1-1/build/include/linux/minmax.h:330:9: note: this is the location of the previous definition
330 | #define MAX(a,b) __cmp(max,a,b)
| ^~~
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-io/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:47: all] Error 2
goldensuneur commented on 2024-10-15 07:46 (UTC)
Hi francisqureshi, I don't own a working capture card anymore so I only check if the driver builds on linux
and linux-lts
but I cannot check if it works fine when in use.
Pinned Comments
goldensuneur commented on 2020-03-02 19:00 (UTC)
I finally had time to investigate the issue. It looks like that as of 11.5, the
DesktopVideoHelper.service
has to be running for the capture card to work properly.