Package Details: decklink 10.8.6a2-1

Git Clone URL: https://aur.archlinux.org/decklink.git (read-only)
Package Base: decklink
Description: Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards
Upstream URL: http://www.blackmagic-design.com/products/
Licenses: custom
Submitter: alub
Maintainer: isopede (fthiery)
Last Packager: fthiery
Votes: 3
Popularity: 0.014003
First Submitted: 2015-10-03 15:38
Last Updated: 2017-04-13 16:45

Latest Comments

fthiery commented on 2017-04-25 07:57

I know, said it below: you need linux-lts to have the driver working, not the latest linux package.

Joir2000 commented on 2017-04-23 09:34

Over here compilation still fails :

DKMS make.log for blackmagic-io-10.8.6a2 for kernel 4.10.10-1-ARCH (x86_64)
Sun Apr 23 11:26:12 CEST 2017
make -C /lib/modules/4.10.10-1-ARCH/build M=/var/lib/dkms/blackmagic-io/10.8.6a2/build
make[1]: Entering directory '/usr/lib/modules/4.10.10-1-ARCH/build'
LD /var/lib/dkms/blackmagic-io/10.8.6a2/build/built-in.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_client.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_dev.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_device.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_driver.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_serial.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_export.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bmio_pci_ids.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_locks.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_mm.o
CC [M] /var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_pci.o
/var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_mm.c: In function ‘bm_get_user_pages’:
/var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_mm.c:110:10: error: too few arguments to function ‘get_user_pages_remote’
ret = get_user_pages_remote(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write ? FOLL_WRITE : 0, umem->pages, NULL);
^~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_mm.c:27:0:
./include/linux/mm.h:1267:6: note: declared here
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:294: /var/lib/dkms/blackmagic-io/10.8.6a2/build/bm_mm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1490: _module_/var/lib/dkms/blackmagic-io/10.8.6a2/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.10.10-1-ARCH/build'
make: *** [Makefile:47: all] Error 2

fthiery commented on 2017-04-13 16:59

I confirm that it finally works !
gst-launch-1.0 decklinkvideosrc device-number=1 connection=1 mode=16 ! xvimagesink

fthiery commented on 2017-04-13 16:57

After a reboot, the device firmware updater reports the device to be up to date.

fthiery commented on 2017-04-13 16:55

So it still fails on the current linux, but does compile on linux-lts (4.9.22-1-lts). So you need the linux-lts and linux-lts-headers packages.

Device flashing did reportedly fail however, even if the dmesg doesn't report failure

[ 89.800430] blackmagic: loading out-of-tree module taints kernel.
[ 89.800434] blackmagic: module license 'Proprietary' taints kernel.
[ 89.800434] Disabling lock debugging due to kernel taint
[ 89.802668] blackmagic: Loading driver (version: 10.8.6a2)
[ 93.169164] BlackmagicIO: Driver version 10.8.6a2 loading
[ 93.169746] BlackmagicIO: WARNING: The device "DeckLink Duo 2" has firmware that is older than the version shipped with the driver (device: 0x14 driver: 0xcc)
[ 93.169753] BlackmagicIO: Enabled device "DeckLink Duo 2 (1)" x4/5 Gbps (38254df0,510100) FW Date: 03-15 08:29
[ 93.170277] BlackmagicIO: DeckLink Duo 2 (1) as blackmagic!io0 [0000:01:00.0]
[ 93.170278] Probe subdriver ffffffffa0a57320 (serial): ffff8804031d9b40
[ 93.170279] BlackmagicIO: Initialised serial driver for blackmagic!io0
[ 93.170352] BlackmagicIO: WARNING: The device "DeckLink Duo 2" has firmware that is older than the version shipped with the driver (device: 0x14 driver: 0xcc)
[ 93.170357] BlackmagicIO: Enabled device "DeckLink Duo 2 (3)" x4/5 Gbps (38254df2,510101) FW Date: 03-15 08:29
[ 93.170893] BlackmagicIO: DeckLink Duo 2 (3) as blackmagic!io1 [0000:01:00.0]
[ 93.170894] Probe subdriver ffffffffa0a57320 (serial): ffff8803b57843c0
[ 93.170895] BlackmagicIO: Initialised serial driver for blackmagic!io1
[ 93.170984] BlackmagicIO: WARNING: The device "DeckLink Duo 2" has firmware that is older than the version shipped with the driver (device: 0x14 driver: 0xcc)
[ 93.170990] BlackmagicIO: Enabled device "DeckLink Duo 2 (2)" x4/5 Gbps (38254df1,510102) FW Date: 03-15 08:29
[ 93.171565] BlackmagicIO: DeckLink Duo 2 (2) as blackmagic!io2 [0000:01:00.0]
[ 93.171566] Probe subdriver ffffffffa0a57320 (serial): ffff88037c6279c0
[ 93.171566] BlackmagicIO: Initialised serial driver for blackmagic!io2
[ 93.171657] BlackmagicIO: WARNING: The device "DeckLink Duo 2" has firmware that is older than the version shipped with the driver (device: 0x14 driver: 0xcc)
[ 93.171663] BlackmagicIO: Enabled device "DeckLink Duo 2 (4)" x4/5 Gbps (38254df3,510103) FW Date: 03-15 08:29
[ 93.172266] BlackmagicIO: DeckLink Duo 2 (4) as blackmagic!io3 [0000:01:00.0]
[ 93.172267] Probe subdriver ffffffffa0a57320 (serial): ffff8803b5755000
[ 93.172267] BlackmagicIO: Initialised serial driver for blackmagic!io3
[ 97.703260] BlackmagicIO: Start programming firmware (SPI)
[ 116.623785] device-mapper: uevent: version 1.0.3
[ 116.623843] device-mapper: ioctl: 4.35.0-ioctl (2016-06-23) initialised: dm-devel@redhat.com
[ 129.644274] BlackmagicIO: Completed programming firmware

fthiery commented on 2017-04-13 16:41

Got news: "I am pleased to advise that the recently released Desktop Video 10.8.6 includes the correction for the compilation issue on kernel 4.9+."

Testing now

DarenK commented on 2017-03-03 20:21

Damn, they should hopefully fix it when Debian/Ubuntu relase the new versions with kernels >= 4.8.

fthiery commented on 2017-02-27 16:42

I'm afraid it's even worse, it doesn't compile against 4.9.11-1; note that the driver was not updated, just the desktop app.

make -C /lib/modules/`uname -r`/build M=/usr/src/blackmagic-io-10.8.5a4
make[1]: Entering directory '/usr/lib/modules/4.9.11-1-ARCH/build'
CC [M] /usr/src/blackmagic-io-10.8.5a4/bm_mm.o
/usr/src/blackmagic-io-10.8.5a4/bm_mm.c: In function 'bm_get_user_pages':
/usr/src/blackmagic-io-10.8.5a4/bm_mm.c:108:85: error: passing argument 5 of 'get_user_pages' from incompatible pointer type [-Werror=incompatible-pointer-types]
ret = get_user_pages((unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
^~~~
In file included from /usr/src/blackmagic-io-10.8.5a4/bm_mm.c:27:0:
./include/linux/mm.h:1280:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
/usr/src/blackmagic-io-10.8.5a4/bm_mm.c:108:10: error: too many arguments to function 'get_user_pages'
ret = get_user_pages((unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
^~~~~~~~~~~~~~
In file included from /usr/src/blackmagic-io-10.8.5a4/bm_mm.c:27:0:
./include/linux/mm.h:1280:6: note: declared here
long get_user_pages(unsigned long start, unsigned long nr_pages,
^~~~~~~~~~~~~~
/usr/src/blackmagic-io-10.8.5a4/bm_mm.c:110:108: error: passing argument 7 of 'get_user_pages_remote' from incompatible pointer type [-Werror=incompatible-pointer-types]
ret = get_user_pages_remote(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
^~~~
In file included from /usr/src/blackmagic-io-10.8.5a4/bm_mm.c:27:0:
./include/linux/mm.h:1276:6: note: expected 'struct vm_area_struct **' but argument is of type 'struct page **'
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
/usr/src/blackmagic-io-10.8.5a4/bm_mm.c:110:10: error: too many arguments to function 'get_user_pages_remote'
ret = get_user_pages_remote(task, task->mm, (unsigned long)address & PAGE_MASK, umem->length, write, 0, umem->pages, NULL);
^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/src/blackmagic-io-10.8.5a4/bm_mm.c:27:0:
./include/linux/mm.h:1276:6: note: declared here
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:294: /usr/src/blackmagic-io-10.8.5a4/bm_mm.o] Error 1
make[1]: *** [Makefile:1490: _module_/usr/src/blackmagic-io-10.8.5a4] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.9.11-1-ARCH/build'
make: *** [Makefile:47: all] Error 2

DarenK commented on 2017-02-27 07:17

10.8.5 is out, I want to believe.

isopede commented on 2016-12-23 02:08

This is very likely a bug in blackmagic code. The 4.8 kernel introduced CONFIG_HARDENED_USERCOPY, which adds protections to the copying of data to/from userspace. The blackmagic kernel module is out-of-tree and is probably doing something wrong, which the protections are catching.

I am not at all interested in fixing their kernel code, though this is possible if somebody has the gumption. You will have to wait until BM releases new modules, or downgrade, or perhaps try recompiling your kernel with CONFIG_HARDENED_USERCOPY unset.

All comments