Linux 5.6 support?

Getting started with a Blackmagic product? Ask questions here about setup and installation.
  • Author
  • Message
Offline

flimzy

  • Posts: 1
  • Joined: Sat Apr 18, 2020 4:10 pm
  • Real Name: Jonathan Hall

Linux 5.6 support?

PostSat Apr 18, 2020 4:25 pm

I'm running Linux kernel 5.6.4, as my video card is not supported by the 5.4 series.

Installing Blackmagic Desktop 11.5 fails, however. (Full log below). I'm assuming this is simply due to a lack of support for this kernel? If accurate, is there an estimate when the 5.6 kernels will be supported?

Thank you.

Contents of /var/lib/dkms/blackmagic/11.5a34/build/make.log:
--------
DKMS make.log for blackmagic-11.5a34 for kernel 5.6.4 (x86_64)
Sat 18 Apr 2020 05:58:11 PM CEST
make -C /lib/modules/5.6.4/build M=/var/lib/dkms/blackmagic/11.5a34/build
make[1]: Entering directory '/usr/src/linux-headers-5.6.4'
AR /var/lib/dkms/blackmagic/11.5a34/build/built-in.a
CC [M] /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_serial.o
CC [M] /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_core.o
CC [M] /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.o
SHIPPED /var/lib/dkms/blackmagic/11.5a34/build/bmd-support.o
CC [M] /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_dma.o
CC [M] /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_gate.o
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c: In function ‘dl_uptime’:
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:326:18: error: storage size of ‘ts’ isn’t known
struct timespec ts;
^~
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:327:2: error: implicit declaration of function ‘getrawmonotonic’ [-Werror=implicit-function-declaration]
getrawmonotonic(&ts);
^~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:326:18: warning: unused variable ‘ts’ [-Wunused-variable]
struct timespec ts;
^~
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c: In function ‘dl_get_time_us’:
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:337:18: error: storage size of ‘t’ isn’t known
struct timespec t;
^
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:338:2: error: implicit declaration of function ‘getnstimeofday’; did you mean ‘getname_flags’? [-Werror=implicit-function-declaration]
getnstimeofday(&t);
^~~~~~~~~~~~~~
getname_flags
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:337:18: warning: unused variable ‘t’ [-Wunused-variable]
struct timespec t;
^
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c: In function ‘dl_pci_map_bar’:
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:421:9: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration]
return ioremap_nocache(base, pci_resource_len(dev, bar));
^~~~~~~~~~~~~~~
ioremap_cache
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:421:9: warning: returning ‘int’ from a function with return type ‘void *’ makes pointer from integer without a cast [-Wint-conversion]
return ioremap_nocache(base, pci_resource_len(dev, bar));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c: In function ‘dl_uptime’:
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:332:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c: In function ‘dl_get_time_us’:
/var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.c:345:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:268: /var/lib/dkms/blackmagic/11.5a34/build/blackmagic_lib.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1683: /var/lib/dkms/blackmagic/11.5a34/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.6.4'
make: *** [Makefile:43: all] Error 2
Offline
User avatar

Wallacy

  • Posts: 6
  • Joined: Thu Dec 05, 2013 4:13 pm
  • Real Name: Wallacy Freitas

Re: Linux 5.6 support?

PostTue Apr 21, 2020 6:26 pm

Exacly my problem BTW... I tried to change some EXTRA_CFLAGS += , but no luck, i always get some problems with time.h // ktime.h
Offline

wmendez

  • Posts: 13
  • Joined: Fri Dec 14, 2018 6:43 pm
  • Real Name: Will Mendez

Re: Linux 5.6 support?

PostMon May 04, 2020 2:58 am

Same on this end with Kernel 5.6.8-200 on Fedora 31.

Tried running sudo dkms install blackmagic-io/11.5a34 which usually works, but no go.

cat /var/lib/dkms/blackmagic-io/11.5a34/build/make.log
DKMS make.log for blackmagic-io-11.5a34 for kernel 5.6.8-200.fc31.x86_64 (x86_64)
Sun 03 May 2020 10:56:02 PM EDT
make -C /lib/modules/5.6.8-200.fc31.x86_64/build M=/var/lib/dkms/blackmagic-io/11.5a34/build
make[1]: Entering directory '/usr/src/kernels/5.6.8-200.fc31.x86_64'
AR /var/lib/dkms/blackmagic-io/11.5a34/build/built-in.a
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_client.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_dev.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_device.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_driver.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_serial.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_export.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_pci_ids.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bm_locks.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bm_mm.o
SHIPPED /var/lib/dkms/blackmagic-io/11.5a34/build/blackmagic.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bm_pci.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.o
CC [M] /var/lib/dkms/blackmagic-io/11.5a34/build/bmio_audio.o
/var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.c: In function ‘bm_uptime’:
/var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.c:920:18: error: storage size of ‘t’ isn’t known
920 | struct timespec t;
| ^
/var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.c:921:2: error: implicit declaration of function ‘getrawmonotonic’ [-Werror=implicit-function-declaration]
921 | getrawmonotonic(&t);
| ^~~~~~~~~~~~~~~
/var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.c:920:18: warning: unused variable ‘t’ [-Wunused-variable]
920 | struct timespec t;
| ^
/var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.c:926:1: warning: control reaches end of non-void function [-Wreturn-type]
926 | }
| ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:268: /var/lib/dkms/blackmagic-io/11.5a34/build/bm_util.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/blackmagic-io/11.5a34/build/bmio_serial.c: In function ‘bmio_serial_remove’:
/var/lib/dkms/blackmagic-io/11.5a34/build/bmio_serial.c:267:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
267 | struct tty_struct *tty = tty_port_tty_get(&serial->port);
| ^~~~~~
make[1]: *** [Makefile:1683: /var/lib/dkms/blackmagic-io/11.5a34/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.6.8-200.fc31.x86_64'
make: *** [Makefile:46: all] Error 2
Offline

TauAkiou

  • Posts: 2
  • Joined: Tue May 12, 2020 5:04 pm
  • Real Name: Robin Hall

Re: Linux 5.6 support?

PostTue May 12, 2020 5:21 pm

This happens because Linux kernel 5.6 drops several deprecated functions that the blackmagic driver uses:

Code: Select all
struct timespec getrawmonotonic(void)
void getnstimeofday(struct timespec *)
void __iomem * ioremap_nocache(resource_size_t offset, unsigned long size);


I was going to provide some links to information, but the board won't let me post URLs.

I made some small changes to the driver source with the newer definitions to fix the compile errors and it built:
(getrawmonotonic -> ktime_get_raw_ts64)
(getnstimeofday -> ktime_get_real_ts64)
(ioremap_nocache -> ioremap_cache)

The driver seems to work, though I don't know if these changes are going to have any residual effects. Probably best to wait until blackmagic releases a fixed version for kernel 5.6.
Offline

TauAkiou

  • Posts: 2
  • Joined: Tue May 12, 2020 5:04 pm
  • Real Name: Robin Hall

Re: Linux 5.6 support?

PostMon May 18, 2020 10:58 pm

As an update, I tried it out with my PS4 and it seemed to work perfectly fine. I'm going to try it again with a few other devices, but overall those few changes seem to be all it needed to work.

I would post the patches here, for anyone that would want to try them (if you really need your capture card working again), but I can't post files or attach links.

If you want the diff files to try it yourself, DM me.
Offline
User avatar

VennStone

  • Posts: 19
  • Joined: Sun Sep 29, 2019 6:50 pm
  • Location: Athens
  • Real Name: Ven Stone

Re: Linux 5.6 support?

PostThu May 21, 2020 7:49 am

I would be interested in testing this out.
Debian Testing
Threadripper 1920X
NVIDIA 2060
Intensity Pro
Intensity Pro 4K
DeckLink Mini Recorder 4K
DeckLink Quad HDMI

Return to Getting Started

Who is online

Users browsing this forum: No registered users and 11 guests