Desktop Video on OpenSUSE Tumbleweed

Do you have questions about Desktop Video, Converters, Routers and Monitoring?
  • Author
  • Message
Offline

markhimsley

  • Posts: 70
  • Joined: Sun Oct 21, 2018 9:40 am
  • Location: London, UK.
  • Real Name: Mark Himsley

Desktop Video on OpenSUSE Tumbleweed

PostWed May 08, 2024 7:44 am

After installing the Blackmagic Desktop Video Linux 12.9 RPMs on OpenSUSE Tubbleweed the Intensity Pro 4K is not recognised in Media Express.

The card is recognised in the PC:
Code: Select all
$ sudo lspci | grep Blackmagic
08:00.0 Multimedia video controller: Blackmagic Design Intensity Pro 4K

Installing the rpms with:
Code: Select all
sudo zypper install *.rpm

The following error is reported:
Code: Select all
Enabling systemd services...
  DesktopVideoHelper (failed)
Starting systemd services...
  DesktopVideoHelper
********************************************************************************
Failed to build driver(s)
Possible causes:
 1. Driver is incompatible with your kernel version
 2. Kernel headers/gcc/make/etc. is not installed
 3. Kernel header version does not match the running kernel (6.8.8-1-default)
Error messages:
dkms build -m blackmagic-io -v 12.9a3 --rpm_safe_upgrade
---
Sign command: /lib/modules/6.8.8-1-default/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Building module:
Cleaning build area...
Building module(s)...(bad exit status: 2)
Failed command:
make -j24 KERNELRELEASE=6.8.8-1-default KERNELRELEASE=6.8.8-1-default
Error! Bad return status for module build on kernel: 6.8.8-1-default (x86_64)
Consult /var/lib/dkms/blackmagic-io/12.9a3/build/make.log for more information.
********************************************************************************

The make.log contains this:
Code: Select all
DKMS make.log for blackmagic-io-12.9a3 for kernel 6.8.8-1-default (x86_64)
Wed May  8 08:18:41 BST 2024
touch .blackmagic.o.cmd
make -C /lib/modules/6.8.8-1-default/build M=/var/lib/dkms/blackmagic-io/12.9a3/build
make[1]: Entering directory '/usr/src/linux-6.8.8-1-obj/x86_64/default'
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_client.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_dev.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_device.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_driver.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_serial.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_export.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_pci_ids.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bm_pci.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.o
  COPY    /var/lib/dkms/blackmagic-io/12.9a3/build/blackmagic.o
  CC [M]  /var/lib/dkms/blackmagic-io/12.9a3/build/bmio_audio.o
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c: In function ‘bm_mutex_alloc’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c:178:9: error: implicit declaration of function ‘mutex_init’; did you mean ‘bm_util_init’? [-Werror=implicit-function-declaration]
  178 |         mutex_init(mutex);
      |         ^~~~~~~~~~
      |         bm_util_init
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c: In function ‘bm_mutex_lock’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c:189:9: error: implicit declaration of function ‘mutex_lock’; did you mean ‘bm_mutex_lock’? [-Werror=implicit-function-declaration]
  189 |         mutex_lock(mutex);
      |         ^~~~~~~~~~
      |         bm_mutex_lock
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c: In function ‘bm_mutex_trylock’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c:194:17: error: implicit declaration of function ‘mutex_trylock’; did you mean ‘bm_mutex_trylock’? [-Werror=implicit-function-declaration]
  194 |         return (mutex_trylock(mutex) != 0);
      |                 ^~~~~~~~~~~~~
      |                 bm_mutex_trylock
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c: In function ‘bm_mutex_unlock’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.c:199:9: error: implicit declaration of function ‘mutex_unlock’; did you mean ‘bm_mutex_unlock’? [-Werror=implicit-function-declaration]
  199 |         mutex_unlock(mutex);
      |         ^~~~~~~~~~~~
      |         bm_mutex_unlock
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-6.8.8-1/scripts/Makefile.build:244: /var/lib/dkms/blackmagic-io/12.9a3/build/bm_locks.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c: In function ‘bm_alloc_aligned’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c:140:37: error: ‘MAX_ORDER’ undeclared (first use in this function)
  140 |         if (get_order(alloc_size) < MAX_ORDER)
      |                                     ^~~~~~~~~
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c:140:37: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c: At top level:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c:535:13: warning: no previous prototype for ‘get_event’ [-Wmissing-prototypes]
  535 | bm_event_t* get_event(void* event, bool create)
      |             ^~~~~~~~~
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.c:575:6: warning: no previous prototype for ‘put_event’ [-Wmissing-prototypes]
  575 | void put_event(bm_event_t* ev)
      |      ^~~~~~~~~
make[3]: *** [/usr/src/linux-6.8.8-1/scripts/Makefile.build:244: /var/lib/dkms/blackmagic-io/12.9a3/build/bm_util.o] Error 1
In file included from /usr/src/linux-6.8.8-1/include/linux/pci.h:2693,
                 from /var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c:31:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c: In function ‘bm_dma_sg_bus_map’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c:240:84: warning: implicit conversion from ‘bm_dma_direction_t’ {aka ‘enum bm_dma_direction’} to ‘enum dma_data_direction’ [-Wenum-conversion]
  240 |         int nents = dma_map_sg(&pci->pdev->dev, sgTable->sgl, sgTable->orig_nents, dir);
      |                                                                                    ^~~
/usr/src/linux-6.8.8-1/include/linux/dma-mapping.h:419:58: note: in definition of macro ‘dma_map_sg’
  419 | #define dma_map_sg(d, s, n, r) dma_map_sg_attrs(d, s, n, r, 0)
      |                                                          ^
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c: In function ‘bm_dma_sg_bus_unmap’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c:257:74: warning: implicit conversion from ‘bm_dma_direction_t’ {aka ‘enum bm_dma_direction’} to ‘enum dma_data_direction’ [-Wenum-conversion]
  257 |         dma_unmap_sg(&pci->pdev->dev, sgTable->sgl, sgTable->orig_nents, dir);
      |                                                                          ^~~
/usr/src/linux-6.8.8-1/include/linux/dma-mapping.h:420:62: note: in definition of macro ‘dma_unmap_sg’
  420 | #define dma_unmap_sg(d, s, n, r) dma_unmap_sg_attrs(d, s, n, r, 0)
      |                                                              ^
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c: In function ‘bm_dma_bus_map_kernel_subpage’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c:344:72: warning: implicit conversion from ‘bm_dma_direction_t’ {aka ‘enum bm_dma_direction’} to ‘enum dma_data_direction’ [-Wenum-conversion]
  344 |         subpage->busAddr = dma_map_single(&pci->pdev->dev, addr, size, dir);
      |                                                                        ^~~
/usr/src/linux-6.8.8-1/include/linux/dma-mapping.h:417:66: note: in definition of macro ‘dma_map_single’
  417 | #define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, 0)
      |                                                                  ^
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c: In function ‘bm_dma_bus_unmap_kernel_subpage’:
/var/lib/dkms/blackmagic-io/12.9a3/build/bm_mm.c:357:76: warning: implicit conversion from ‘bm_dma_direction_t’ {aka ‘enum bm_dma_direction’} to ‘enum dma_data_direction’ [-Wenum-conversion]
  357 |         dma_unmap_single(&pci->pdev->dev, subpage->busAddr, subpage->size, dir);
      |                                                                            ^~~
/usr/src/linux-6.8.8-1/include/linux/dma-mapping.h:418:70: note: in definition of macro ‘dma_unmap_single’
  418 | #define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, 0)
      |                                                                      ^
make[2]: *** [/usr/src/linux-6.8.8-1/Makefile:1938: /var/lib/dkms/blackmagic-io/12.9a3/build] Error 2
make[1]: *** [../../../linux-6.8.8-1/Makefile:240: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-6.8.8-1-obj/x86_64/default'
make: *** [Makefile:47: all] Error 2

Any hints on what I need to do to make the Blackmagic Design Intensity Pro 4K work on OpenSUSE Tumbleweed?
Thanks.
--
Mark Himsley

ATEM Mini
DaVinci Resolve Studio
Intensity Pro 4K
UltraStudio 3D
Offline

nilber

  • Posts: 9
  • Joined: Fri May 10, 2024 6:19 pm
  • Real Name: Niles Bertrand

Re: Desktop Video on OpenSUSE Tumbleweed

PostFri May 10, 2024 9:52 pm

I have the same issue trying to install the .deb drivers in Pop!_OS 22.04 using the 6.8.0 kernel. It seems to not like something about my kernel and gives several errors concerning the use of "mutex_init", "mutex_lock", "mutex_trylock" and "mutex_unlock" functions without declaring them.

I've tested Blackmagic Desktop Video drivers versions 12.9, 12.8.1, 12.8, 12.7.1, 12.7, 12.6, 12.5, and 12.4.1. They all give the mutex errors and fail to compile.

Blackmagic Desktop Video version 12.9 works fine in the older Pop!_OS 20.04 with kernel 5.4.0, though.
Offline

nilber

  • Posts: 9
  • Joined: Fri May 10, 2024 6:19 pm
  • Real Name: Niles Bertrand

Re: Desktop Video on OpenSUSE Tumbleweed

PostSat May 11, 2024 7:08 am

NVieville posted a patch to fix Desktop Video drivers with Kernel 6.8. Link: viewtopic.php?f=12&t=199022

Edit: New download link: https://www.mediafire.com/file/acehix1t ... d.deb/file

It worked for me in Pop!_OS 22.04.
Offline

markhimsley

  • Posts: 70
  • Joined: Sun Oct 21, 2018 9:40 am
  • Location: London, UK.
  • Real Name: Mark Himsley

Re: Desktop Video on OpenSUSE Tumbleweed

PostThu May 16, 2024 5:49 pm

nilber wrote:NVieville posted a patch to fix Desktop Video drivers with Kernel 6.8. Link: viewtopic.php?f=12&t=199022

Thanks nilber. The patch in that thread worked for me.

I have described exactly how I fixed my issue here in that thread.
--
Mark Himsley

ATEM Mini
DaVinci Resolve Studio
Intensity Pro 4K
UltraStudio 3D

Return to Post Production

Who is online

Users browsing this forum: No registered users and 18 guests