Package Details: mediaexpress 14.4-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.000001
First Submitted: 2015-10-03 15:38 (UTC)
Last Updated: 2024-12-19 09:37 (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 8 .. 25 Next › Last »

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.

daurnimator commented on 2022-05-30 16:15 (UTC)

DKMS compilation currently fails:

DKMS make.log for blackmagic-io-12.3a10 for kernel 5.18.0-arch1-1 (x86_64)
Tue 31 May 2022 02:15:07 AEST
touch .blackmagic.o.cmd
make -C /lib/modules/5.18.0-arch1-1/build M=/var/lib/dkms/blackmagic-io/12.3a10/build
make[1]: Entering directory '/usr/lib/modules/5.18.0-arch1-1/build'
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_client.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_dev.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_device.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_driver.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_serial.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_export.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_pci_ids.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bm_locks.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bm_pci.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bm_util.o
  COPY    /var/lib/dkms/blackmagic-io/12.3a10/build/blackmagic.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.3a10/build/bmio_audio.o
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c: In function ‘bm_dma_map_user_buffer’:
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:226:35: error: implicit declaration of function ‘pci_map_page’; did you mean ‘dma_map_page’? [-Werror=implicit-function-declaration]
  226 |                 dlist->addrs[i] = pci_map_page(pci->pdev, umem->pages[i], 0, PAGE_SIZE, dir);
      |                                   ^~~~~~~~~~~~
      |                                   dma_map_page
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_pci.c: In function ‘bm_pci_start’:
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_pci.c:79:13: error: implicit declaration of function ‘pci_set_dma_mask’ [-Werror=implicit-function-declaration]
   79 |         if (pci_set_dma_mask(pci->pdev, BM_DMA_64BIT_MASK) < 0)
      |             ^~~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:58:53: error: implicit declaration of function ‘pci_dma_mapping_error’; did you mean ‘bm_pci_dma_mapping_error’? [-Werror=implicit-function-declaration]
   58 |         #define bm_pci_dma_mapping_error(dev, addr) pci_dma_mapping_error(dev, addr)
      |                                                     ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:227:21: note: in expansion of macro ‘bm_pci_dma_mapping_error’
  227 |                 if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[i]))
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c: In function ‘bm_dma_map_kernel_buffer’:
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:249:27: error: implicit declaration of function ‘pci_map_single’; did you mean ‘dma_map_single’? [-Werror=implicit-function-declaration]
  249 |         dlist->addrs[0] = pci_map_single(pci->pdev, addr, size, dir);
      |                           ^~~~~~~~~~~~~~
      |                           dma_map_single
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c: In function ‘bm_dma_unmap_buffer’:
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:295:17: error: implicit declaration of function ‘pci_unmap_single’; did you mean ‘dma_unmap_single’? [-Werror=implicit-function-declaration]
  295 |                 pci_unmap_single(pci->pdev, dlist->addrs[0], dlist->length, dir);
      |                 ^~~~~~~~~~~~~~~~
      |                 dma_unmap_single
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:289: /var/lib/dkms/blackmagic-io/12.3a10/build/bm_pci.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:304:33: error: implicit declaration of function ‘pci_unmap_page’; did you mean ‘dma_unmap_page’? [-Werror=implicit-function-declaration]
  304 |                                 pci_unmap_page(pci->pdev, dlist->addrs[i], PAGE_SIZE, dir);
      |                                 ^~~~~~~~~~~~~~
      |                                 dma_unmap_page
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c: In function ‘bm_dma_get_physical_segment’:
/var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.c:331:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
  331 |         addr64_t startAddr = dlist->addrs[page_n] + page_offset;
      |         ^~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:288: /var/lib/dkms/blackmagic-io/12.3a10/build/bm_mm.o] Error 1
make[1]: *** [Makefile:1834: /var/lib/dkms/blackmagic-io/12.3a10/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.18.0-arch1-1/build'
make: *** [Makefile:47: all] Error 2

goldensuneur commented on 2022-03-22 08:44 (UTC)

Unfortunatly I don't have working blackmagic hardware anymore so I cannot help you. You should ask directly on their forum or open a ticket with their support.

lorddickfist commented on 2022-03-22 02:38 (UTC)

Blackmagic Intensity pro 4k is unable to be seen but is visible on windows and DesktopVideoHelper.service is enabled and started

idella.craddock commented on 2022-02-28 19:30 (UTC) (edited on 2022-02-28 19:31 (UTC) by idella.craddock)

if using thunderbolt blackmagic devices this appears to fail. (with recorder 3g for me, latest linux kernel 5.16.11-arch1-1). Kernel driver chokes and segfaults https://forum.blackmagicdesign.com/viewtopic.php?t=146431&p=805146

Nember commented on 2022-02-10 12:14 (UTC) (edited on 2022-03-10 17:48 (UTC) by Nember)

I have installed my intensity pro 4K and this package and the desktop video setup cant find my card, despite it being visible in hardware settings. I'm on kernel 5.15.19, has an update broke this since it was last working?

goldensuneur commented on 2021-12-11 20:38 (UTC)

I also think that it is better to introduce as few patches as necessary. For now it is not an issue but I suggest you to inform blackmagic that they should update before it becomes one.