Package Details: mediaexpress 12.9-1

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.000129
First Submitted: 2015-10-03 15:38 (UTC)
Last Updated: 2024-04-12 20:17 (UTC)

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.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 .. 24 Next › Last »

YAOMTC commented on 2023-06-28 22:31 (UTC)

Shouldn't linux-headers be a dependency here? Won't work without it.

goldensuneur commented on 2023-01-06 22:36 (UTC)

If not already done you should consider sending the segfault trace to Blackmagic support. This is not the kind of fix I can do without working hardware on hand. Especially if the problem is within the binary blob they provide.

tjb0607 commented on 2023-01-06 21:56 (UTC)

I'm running on an Intel CPU, and I needed to set the kernel parameter ibt=off to fix the segfault reinis mentioned. Seems similar to https://github.com/NVIDIA/open-gpu-kernel-modules/issues/256

reinis commented on 2022-11-02 14:18 (UTC)

Segfaults on runtime with 6.0.6-arch1-1

nov 02 16:12:15 reinis-laptop kernel: traps: Missing ENDBR: nothing+0x0/0x10 [blackmagic]
nov 02 16:12:15 reinis-laptop kernel: ------------[ cut here ]------------
nov 02 16:12:15 reinis-laptop kernel: kernel BUG at arch/x86/kernel/traps.c:253!
nov 02 16:12:15 reinis-laptop kernel: invalid opcode: 0000 [#2] PREEMPT SMP NOPTI
nov 02 16:12:15 reinis-laptop kernel: CPU: 1 PID: 7964 Comm: modprobe Tainted: P      D    OE      6.0.6-arch1-1 #1 a46cc4b882cfc11c3bbb09d6a0fab3dcad53b5c2
nov 02 16:12:15 reinis-laptop kernel: Hardware name: Framework Laptop/FRANBMCP0C, BIOS 03.06 10/18/2021
nov 02 16:12:15 reinis-laptop kernel: RIP: 0010:exc_control_protection+0xc2/0xd0
nov 02 16:12:15 reinis-laptop kernel: Code: fb ff 45 31 c9 49 89 d8 b9 09 00 00 00 48 8b 93 80 00 00 00 be fa 00 00 00 48 c7 c7 31 68 09 a4 e8 13 40 4b ff e9 64 ff ff ff <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 90 66 0f 1f 00 55 53 48 89
nov 02 16:12:15 reinis-laptop kernel: RSP: 0018:ffffbe04015a7c28 EFLAGS: 00010002
nov 02 16:12:15 reinis-laptop kernel: RAX: 0000000000000033 RBX: ffffbe04015a7c48 RCX: 0000000000000000
nov 02 16:12:15 reinis-laptop kernel: RDX: 0000000000000000 RSI: ffff9f5f6fa61660 RDI: ffff9f5f6fa61660
nov 02 16:12:15 reinis-laptop kernel: RBP: 0000000000000003 R08: 0000000000000000 R09: ffffbe04015a7ac0
nov 02 16:12:15 reinis-laptop kernel: R10: 0000000000000003 R11: ffffffffa48cb508 R12: 0000000000000000
nov 02 16:12:15 reinis-laptop kernel: R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
nov 02 16:12:15 reinis-laptop kernel: FS:  00007fe704112740(0000) GS:ffff9f5f6fa40000(0000) knlGS:0000000000000000
nov 02 16:12:15 reinis-laptop kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
nov 02 16:12:15 reinis-laptop kernel: CR2: 00007fe703769000 CR3: 000000017e6b0006 CR4: 0000000000f70ee0
nov 02 16:12:15 reinis-laptop kernel: PKRU: 55555554
nov 02 16:12:15 reinis-laptop kernel: Call Trace:
nov 02 16:12:15 reinis-laptop kernel:  <TASK>
nov 02 16:12:15 reinis-laptop kernel:  asm_exc_control_protection+0x26/0x30
nov 02 16:12:15 reinis-laptop kernel: RIP: 0010:nothing+0x0/0x10 [blackmagic]
nov 02 16:12:15 reinis-laptop kernel: Code: 41 5c 41 5d 41 5e 41 5f e9 cd 30 8b e1 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 <55> 48 89 e5 5d c3 66 2e 0f 1f 84 00 00 00 00 00 55 c7 05 dd 78 08
nov 02 16:12:15 reinis-laptop kernel: RSP: 0018:ffffbe04015a7cf0 EFLAGS: 00010246
nov 02 16:12:15 reinis-laptop kernel: RAX: 0000000000000000 RBX: ffffffffc1fd3000 RCX: 0000000000000000
nov 02 16:12:15 reinis-laptop kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffbe04015a7d08
nov 02 16:12:15 reinis-laptop kernel: RBP: ffffbe04015a7d00 R08: ffffbe04015a7d50 R09: 0000000000000010
nov 02 16:12:15 reinis-laptop kernel: R10: ffff9f505d2cc028 R11: ffff9f5fafbfc000 R12: 0000000000000000
nov 02 16:12:15 reinis-laptop kernel: R13: 00007fe7035e8695 R14: 000055734c11acb2 R15: ffffbe04015a7dc0
nov 02 16:12:15 reinis-laptop kernel:  __do_global_ctors_aux+0x22/0x60 [blackmagic ce81ab3681b09ba2e34f13a4b67635b6e69b6376]
nov 02 16:12:15 reinis-laptop kernel:  ? blackmagic_serial_init+0xb3/0xb3 [blackmagic ce81ab3681b09ba2e34f13a4b67635b6e69b6376]
nov 02 16:12:15 reinis-laptop kernel:  blackmagic_lib_init+0x9/0x10 [blackmagic ce81ab3681b09ba2e34f13a4b67635b6e69b6376]
nov 02 16:12:15 reinis-laptop kernel:  pci_blackmagic_init+0xe/0xf4d [blackmagic ce81ab3681b09ba2e34f13a4b67635b6e69b6376]
nov 02 16:12:15 reinis-laptop kernel:  do_one_initcall+0x5a/0x220
nov 02 16:12:15 reinis-laptop kernel:  do_init_module+0x4a/0x1e0
nov 02 16:12:15 reinis-laptop kernel:  __do_sys_init_module+0x17f/0x1b0
nov 02 16:12:15 reinis-laptop kernel:  do_syscall_64+0x5c/0x90
nov 02 16:12:15 reinis-laptop kernel:  ? syscall_exit_to_user_mode+0x1b/0x40
nov 02 16:12:15 reinis-laptop kernel:  ? do_syscall_64+0x6b/0x90
nov 02 16:12:15 reinis-laptop kernel:  ? syscall_exit_to_user_mode+0x1b/0x40
nov 02 16:12:15 reinis-laptop kernel:  ? do_syscall_64+0x6b/0x90
nov 02 16:12:15 reinis-laptop kernel:  ? exc_page_fault+0x74/0x170
nov 02 16:12:15 reinis-laptop kernel:  entry_SYSCALL_64_after_hwframe+0x63/0xcd
nov 02 16:12:15 reinis-laptop kernel: RIP: 0033:0x7fe703d21eae
nov 02 16:12:15 reinis-laptop kernel: Code: 48 8b 0d dd ee 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d aa ee 0c 00 f7 d8 64 89 01 48
nov 02 16:12:15 reinis-laptop kernel: RSP: 002b:00007ffed14a5368 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
nov 02 16:12:15 reinis-laptop kernel: RAX: ffffffffffffffda RBX: 000055734e00eca0 RCX: 00007fe703d21eae
nov 02 16:12:15 reinis-laptop kernel: RDX: 000055734c11acb2 RSI: 0000000000142685 RDI: 00007fe7034a6010
nov 02 16:12:15 reinis-laptop kernel: RBP: 000055734c11acb2 R08: 0000000000163000 R09: 9e3779b185ebca87
nov 02 16:12:15 reinis-laptop kernel: R10: 00000000000176e1 R11: 0000000000000246 R12: 0000000000040000
nov 02 16:12:15 reinis-laptop kernel: R13: 000055734e00ec20 R14: 0000000000000000 R15: 000055734e00edd0
nov 02 16:12:15 reinis-laptop kernel:  </TASK>
nov 02 16:12:15 reinis-laptop kernel: Modules linked in: blackmagic(POE+) blackmagic_io(POE+) snd_seq_dummy snd_hrtimer snd_seq snd_seq_device xt_mark ip6table_nat ip6table_filter ip6_tables cmac ccm btusb uvcvideo btrtl btbcm videobuf2_vmalloc btintel>
nov 02 16:12:15 reinis-laptop kernel:  intel_ishtp_hid iTCO_vendor_support kvm_intel hid_multitouch r8152 joydev iwlmvm snd_sof_pci_intel_tgl mii overlay wmi_bmof kvm snd_sof_intel_hda_common mac80211 irqbypass crct10dif_pclmul soundwire_intel crc32_pc>
nov 02 16:12:15 reinis-laptop kernel:  processor_thermal_device_pci_legacy mei_me processor_thermal_device video drm_buddy snd_timer processor_thermal_rfim mei acpi_pad ttm processor_thermal_mbox int3400_thermal processor_thermal_rapl acpi_thermal_rel >
nov 02 16:12:15 reinis-laptop kernel: ---[ end trace 0000000000000000 ]---
nov 02 16:12:15 reinis-laptop kernel: RIP: 0010:exc_control_protection+0xc2/0xd0
nov 02 16:12:15 reinis-laptop kernel: Code: fb ff 45 31 c9 49 89 d8 b9 09 00 00 00 48 8b 93 80 00 00 00 be fa 00 00 00 48 c7 c7 31 68 09 a4 e8 13 40 4b ff e9 64 ff ff ff <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 90 66 0f 1f 00 55 53 48 89
nov 02 16:12:15 reinis-laptop kernel: RSP: 0018:ffffbe0406d87bd8 EFLAGS: 00010002
nov 02 16:12:15 reinis-laptop kernel: RAX: 0000000000000036 RBX: ffffbe0406d87bf8 RCX: 0000000000000000

taa commented on 2022-08-28 06:47 (UTC) (edited on 2022-08-28 06:48 (UTC) by taa)

Hi, I see no such devices after installing the package on 5.19.4-arch1-1. I'm using a thunderbolt sonnet device, maybe it could be its driver?

goldensuneur commented on 2022-06-06 13:05 (UTC)

Thanks for the fix, I updated the package with a patch inspired from yours to make sure it's compatible with previous kernels.

tjb0607 commented on 2022-06-06 05:07 (UTC) (edited on 2022-06-06 08:34 (UTC) by tjb0607)

Martin8412's patches confirmed working for me on 5.18.1-arch1-1

Martin8412 commented on 2022-06-03 10:29 (UTC) (edited on 2022-06-03 10:30 (UTC) by Martin8412)

I spent a few minutes fixing it. These two patches fixes compile issue for me on 5.18.1-arch1-1

diff blackmagic-12.3a10/blackmagic_core.c /usr/src/blackmagic-12.3a10/blackmagic_core.c
488c488
<   if (pci_set_dma_mask(pdev, BMD_DMA_64_MASK) < 0)
---
>   if (dma_set_mask(&pdev->dev, BMD_DMA_64_MASK) < 0)
490c490
<       if (pci_set_dma_mask(pdev, BMD_DMA_32_MASK) < 0)
---
>       if (dma_set_mask(&pdev->dev, BMD_DMA_32_MASK) < 0)
diff blackmagic-12.3a10/blackmagic_dma.c /usr/src/blackmagic-12.3a10/blackmagic_dma.c
84,86c84,86
<       case DL_DMA_TO_DEVICE: return PCI_DMA_TODEVICE;
<       case DL_DMA_FROM_DEVICE: return PCI_DMA_FROMDEVICE;
<       case DL_DMA_BIDIRECTIONAL: return PCI_DMA_BIDIRECTIONAL;
---
>       case DL_DMA_TO_DEVICE: return DMA_TO_DEVICE;
>       case DL_DMA_FROM_DEVICE: return DMA_FROM_DEVICE;
>       case DL_DMA_BIDIRECTIONAL: return DMA_BIDIRECTIONAL;
90c90
<   return PCI_DMA_NONE;
---
>   return DMA_NONE;
139c139
<       e->dma_addr = pci_map_page(pdev, pages[i], 0, PAGE_SIZE, direction);
---
>       e->dma_addr = dma_map_page(pdev, pages[i], 0, PAGE_SIZE, direction);
174c174
<           e->dma_addr = pci_map_page(pdev, page, 0, PAGE_SIZE, direction);
---
>           e->dma_addr = dma_map_page(pdev, page, 0, PAGE_SIZE, direction);
181c181
<       e->dma_addr = pci_map_single(pdev, address, size, direction);
---
>       e->dma_addr = dma_map_single(pdev, address, size, direction);
229c229
<           pci_unmap_page(sl->pdev, e->dma_addr, PAGE_SIZE, direction);
---
>           dma_unmap_page(&sl->pdev->dev, e->dma_addr, PAGE_SIZE, direction);
234c234
<       pci_unmap_single(sl->pdev, e->dma_addr, sl->size, direction);
---
>       dma_unmap_single(&sl->pdev->dev, e->dma_addr, sl->size, direction);

and

diff blackmagic-io-12.3a10/bm_mm.c /usr/src/blackmagic-io-12.3a10/bm_mm.c
58c58
<   #define bm_pci_dma_mapping_error(dev, addr) pci_dma_mapping_error(dev, addr)
---
>   #define bm_pci_dma_mapping_error(dev, addr) dma_mapping_error(dev, addr)
60c60
<   #define bm_pci_dma_mapping_error(dev, addr) pci_dma_mapping_error(addr)
---
>   #define bm_pci_dma_mapping_error(dev, addr) dma_mapping_error(addr)
226,227c226,227
<       dlist->addrs[i] = pci_map_page(pci->pdev, umem->pages[i], 0, PAGE_SIZE, dir);
<       if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[i]))
---
>       dlist->addrs[i] = dma_map_page(&pci->pdev->dev, umem->pages[i], 0, PAGE_SIZE, dir);
>       if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[i]))
249,250c249,250
<   dlist->addrs[0] = pci_map_single(pci->pdev, addr, size, dir);
<   if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[0]))
---
>   dlist->addrs[0] = dma_map_single(&pci->pdev->dev, addr, size, dir);
>   if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[0]))
278,279c278,279
<       dlist->addrs[i] = pci_map_page(pci->pdev, page, 0, PAGE_SIZE, dir);
<       if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[i]))
---
>       dlist->addrs[i] = dma_map_page(&pci->pdev->dev, page, 0, PAGE_SIZE, dir);
>       if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[i]))
295c295
<       pci_unmap_single(pci->pdev, dlist->addrs[0], dlist->length, dir);
---
>       dma_unmap_single(&pci->pdev->dev, dlist->addrs[0], dlist->length, dir);
304c304
<               pci_unmap_page(pci->pdev, dlist->addrs[i], PAGE_SIZE, dir);
---
>               dma_unmap_page(&pci->pdev->dev, dlist->addrs[i], PAGE_SIZE, dir);
diff blackmagic-io-12.3a10/bm_pci.c /usr/src/blackmagic-io-12.3a10/bm_pci.c
79c79
<   if (pci_set_dma_mask(pci->pdev, BM_DMA_64BIT_MASK) < 0)
---
>   if (dma_set_mask(&pci->pdev->dev, BM_DMA_64BIT_MASK) < 0)
81c81
<       if (pci_set_dma_mask(pci->pdev, BM_DMA_32BIT_MASK) < 0)
---
>       if (dma_set_mask(&pci->pdev->dev, BM_DMA_32BIT_MASK) < 0)

Serus commented on 2022-06-01 22:52 (UTC)

@CareAgain Send an email to developer'at'blackmagicdesign.com

CareAgain commented on 2022-06-01 20:34 (UTC)

It looks like this kernel patch is what broke it: https://github.com/torvalds/linux/commit/a16ef91aa61ac2a42b1bb199fccb897d54ab3dcd

Basically just a deprecated API getting removed. It doesn't look too hard to fix. I actually messed around with a patch, but didn't quite get it working. If anyone knows how to contact blackmagic that might be the way to go.