HDMI audio not working on Blackmagic Design ATEM Mini Pro ISO (video mixer)

Bug #1910537 reported by Hadmut Danisch
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

This is a complicated thing. I have a very specific problem with audio output on HDMI.

I want to use an older notebook with Lubuntu 20.04 as a video source for libreoffice slides, videos etc. to feed them over HDMI into a Blackmagic Design ATEM Mini Pro ISO (video mixer) as one input. Configured on the desktop just like a second screen or beamer.

Video works well and rock-stable, no problem at all.

But not audio.

Although I carefully configured audio with pavucontrol to be directed to the HDMI output, the ATEM switcher does not recognize it as an audio source (like when connecting a digital camera) and does not receive or indicate any audio input.

Note:

But when I use the very same computer, same HDMI cable, same video with a cheap chinese portable LCD screen with speakers (i.e. pull the cable from the ATEM and plug it into the screen) it immediately starts playing both video and audio. So there is evidence that the ubuntu notebook definitely passes it's sound to HDMI and there's really an audio signal on the HDMI.

I've opened a bug at Blackmagic Design, and got their reply that they can't help and have never heard of such a problem before. Their guess is that the linux notebook is not setting EDID configuration correctly and thus not recognized by the ATEM, while the cheap LCD screen propably does not care about EDID and just plays everything, therefore a wrong EDID information would not matter.

Although I have decades of experience with Linux, I am not too familiar with details of HDMI and the internals of the X11 driver, so I'm not sure where to start debugging, not even, whether this is a problem of Xorg/X11 or pulseaudio.

I've checked this with another notebook with much more recent (intel) hardware, which offers dozens of HDMI audio options in the pavucontrol selection menu, but same problem: Video works, but the ATEM does not recognize it as a audio source.

Blackmagic Design (they're good in Windows and MacOS, but not Linux) recommended to use an edid manager, whatever this means.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: xorg 1:7.7+19ubuntu14
ProcVersionSignature: Ubuntu 5.4.0-58.64-generic 5.4.73
Uname: Linux 5.4.0-58-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.14
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CasperMD5CheckResult: skip
CompositorRunning: None
CurrentDesktop: LXQt
Date: Thu Jan 7 13:16:26 2021
DistUpgraded: Fresh install
DistroCodename: focal
DistroVariant: ubuntu
DpkgLog:

ExtraDebuggingInterest: Yes
GraphicsCard:
 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0106] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Acer Incorporated [ALI] 2nd Generation Core Processor Family Integrated Graphics Controller [1025:0742]
InstallationDate: Installed on 2020-05-16 (235 days ago)
InstallationMedia: Lubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
Lsusb:
 Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 003: ID 04f2:b336 Chicony Electronics Co., Ltd
 Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Acer AO756
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-58-generic root=UUID=a69345e2-b61e-4d25-baab-b23f75273af6 ro quiet cryptdevice=UUID=d132b97b-f47a-4432-88b5-42aca187b9ff:luks-d132b97b-f47a-4432-88b5-42aca187b9ff root=/dev/mapper/luks-d132b97b-f47a-4432-88b5-42aca187b9ff resume=/dev/mapper/luks-d132b97b-f47a-4432-88b5-42aca187b9ff splash vt.handoff=7
SourcePackage: xorg
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/19/2012
dmi.bios.vendor: Acer
dmi.bios.version: V1.05
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: Mimic
dmi.board.vendor: Acer
dmi.board.version: Type2 - Board Version
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: V1.05
dmi.modalias: dmi:bvnAcer:bvrV1.05:bd07/19/2012:svnAcer:pnAO756:pvrV1.05:rvnAcer:rnMimic:rvrType2-BoardVersion:cvnAcer:ct10:cvrV1.05:
dmi.product.family: Type1Family
dmi.product.name: AO756
dmi.product.sku: Type1Sku0
dmi.product.version: V1.05
dmi.sys.vendor: Acer
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.101-2
version.libgl1-mesa-dri: libgl1-mesa-dri 20.0.8-0ubuntu1~20.04.1
version.libgl1-mesa-glx: libgl1-mesa-glx N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.20.8-2ubuntu2.6
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:19.1.0-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20200226-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.16-1

Revision history for this message
Hadmut Danisch (hadmut) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

> Their guess is that the linux notebook is not setting EDID
> configuration correctly and thus not recognized by the ATEM,
> while the cheap LCD screen propably does not care about EDID
> and just plays everything, therefore a wrong EDID information
> would not matter.

EDIDs work the other way round. An EDID is not "set" by Linux. It is hard-coded in the monitor and only read by the computer. However it is sadly common for monitor manufacturers (probably not Blackmagic) to ship monitors that advertise faulty EDID data. That's probably what an "EDID manager" is to fix, but I don't know of and have no experience with any on Linux.

I would like to analyse the EDID being advertised by your ATEM, but Xrandr.txt seems to show it was not plugged into HDMI when you logged this bug. Please plug it in and then run:

  xrandr --verbose > xrandr2.txt

and attach the resulting file here.

affects: xorg (Ubuntu) → ubuntu
Changed in ubuntu:
status: New → Incomplete
Revision history for this message
Hadmut Danisch (hadmut) wrote :

Sorry. I had connected the device to a second (newer hardware) notebook computer with same Lubuntu to check, whether it is a problem of just this particular machine or a common problem.

xrandr2 attached.

The Lubuntu monitor settings tool names the HDMI screen „BMD HDMI”, (BMD seems to mean Blackmagic Design) and thus seems to recognize the device.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks. That EDID seems to mention stereo audio support. So that's good. But also I wonder if the DRM property needs tweaking. Please try running this command:

  xrandr --output HDMI-1 --set audio on

If it still doesn't work then try logging in again after that.

------------------------

Full EDID data:

EDID version: 1.3
Manufacturer: HXA Model 0 Serial Number 1
Made in week 38 of 2006
Digital display
Maximum image size: 71 cm x 40 cm
Gamma: 2.50
RGB color display
First detailed timing is preferred timing
Color Characteristics
  Red: 0.6396, 0.3447
  Green: 0.2910, 0.6347
  Blue: 0.1630, 0.0927
  White: 0.2880, 0.2958
Established Timings I & II: none
Standard Timings: none
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
               1920 2008 2052 2200 ( 88 44 148)
               1080 1084 1089 1125 ( 4 5 36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
               1920 2008 2052 2640 ( 88 44 588)
               1080 1084 1089 1125 ( 4 5 36)
               +hsync +vsync
               VertFreq: 50.000 Hz, HorFreq: 56.250 kHz
Display Product Name: BMD HDMI
Display Range Limits
  Monitor ranges (GTF): 50-60 Hz V, 31-68 kHz H, max dotclock 80 MHz
Has 1 extension block
Checksum: 0xf7

----------------

CTA-861 Extension Block Revision 3
Basic audio support
Supports YCbCr 4:2:2
4 native detailed modes
27 bytes of CTA data blocks
  Video Data Block
     1920x1080i 60.000 Hz 16:9 33.750 kHz 74.250 MHz (VIC 5, native)
     1280x720 60.000 Hz 16:9 45.000 kHz 74.250 MHz (VIC 4, native)
     1920x1080i 50.000 Hz 16:9 28.125 kHz 74.250 MHz (VIC 20, native)
     1280x720 50.000 Hz 16:9 37.500 kHz 74.250 MHz (VIC 19, native)
     1920x1080 24.000 Hz 16:9 27.000 kHz 74.250 MHz (VIC 32, native)
     1920x1080 25.000 Hz 16:9 28.125 kHz 74.250 MHz (VIC 33, native)
     1920x1080 30.000 Hz 16:9 33.750 kHz 74.250 MHz (VIC 34, native)
     1920x1080 50.000 Hz 16:9 56.250 kHz 148.500 MHz (VIC 31, native)
     1920x1080 60.000 Hz 16:9 67.500 kHz 148.500 MHz (VIC 16, native)
  Audio Data Block
    Linear PCM, max channels 2
      Supported sample rates (kHz): 48
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block
    Speaker map:
      FL/FR - Front Left/Right
  Vendor-Specific Data Block, OUI 0x000c03 (HDMI)
    Source physical address 3.0.0.0
    Maximum TMDS clock: 150 MHz
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
               1280 1390 1430 1650 (110 40 220)
                720 725 730 750 ( 5 5 20)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 45.000 kHz
Detailed mode: Clock 74.250 MHz, 708 mm x 398 mm
               1280 1720 1760 1980 (440 40 220)
                720 725 730 750 ( 5 5 20)
               +hsync +vsync
               VertFreq: 50.000 Hz, HorFreq: 37.500 kHz
Checksum: 0xd2

affects: ubuntu → pulseaudio (Ubuntu)
summary: - incorrect audio-EDID on HDMI, blocking audio transmission over HDMI
+ HDMI audio not working on Blackmagic Design ATEM Mini Pro ISO (video
+ mixer)
Revision history for this message
Hadmut Danisch (hadmut) wrote :

> Please try running this command:

> xrandr --output HDMI-1 --set audio on

> If it still doesn't work then try logging in again after that.

Neither did help...

Revision history for this message
Uldis Kalniņš (ulcha) wrote :
Download full text (7.9 KiB)

I have same device ATEM Mini Pro ISO and Dell Vostro 3450.
I can confirm, that bug exists and is possible to grab sound from only first port.

Actually all ports on ATEM HDMI grabber are NOT same. HDMI1 is using different hardware than all others and is accepting sound from my computer.
If I'm using HDMI2,3,4 port - then yes, no sound.

To help debug problem, here is ATEM Mini Pro ISO teardown report with chip ID's for all ports - https://wphost.spider-e.com/?p=940

And here EDID report with connected HDMI1 and HDMI2:

//HDMI1
sudo get-edid -b 5 | edid-decode
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 5 as per your request.
256-byte EDID successfully retrieved from i2c bus 5
Looks like i2c was successful. Have a good day.
edid-decode (hex):

00 ff ff ff ff ff ff 00 23 01 00 00 01 00 00 00
26 10 01 03 80 47 28 96 0a da ff a3 58 4a a2 29
17 49 4b 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c
45 00 c4 8e 21 00 00 1e 02 3a 80 d0 72 38 2d 40
58 2c 45 00 c4 8e 21 00 00 1e 00 00 00 fc 00 42
4d 44 20 48 44 4d 49 0a 20 20 20 20 00 00 00 fd
00 32 3c 1f 44 08 00 0a 20 20 20 20 20 20 01 f7

02 03 1f 54 49 85 84 94 93 a0 a1 a2 9f 90 23 09
04 07 83 01 00 00 68 03 0c 00 10 00 00 1e 00 01
1d 00 72 51 d0 1e 20 6e 28 55 00 c4 8e 21 00 00
1e 01 1d 00 bc 52 d0 1e 20 b8 28 55 40 c4 8e 21
00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f2

----------------

EDID version: 1.3
Manufacturer: HXA Model 0 Serial Number 1
Made in week 38 of 2006
Digital display
Maximum image size: 71 cm x 40 cm
Gamma: 2.50
RGB color display
First detailed timing is preferred timing
Color Characteristics
  Red: 0.6396, 0.3447
  Green: 0.2910, 0.6347
  Blue: 0.1630, 0.0927
  White: 0.2880, 0.2958
Established Timings I & II: none
Standard Timings: none
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
               1920 2008 2052 2200 ( 88 44 148)
               1080 1084 1089 1125 ( 4 5 36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Detailed mode: Clock 148.500 MHz, 708 mm x 398 mm
               1920 2008 2052 2640 ( 88 44 588)
               1080 1084 1089 1125 ( 4 5 36)
               +hsync +vsync
               VertFreq: 50.000 Hz, HorFreq: 56.250 kHz
Display Product Name: BMD HDMI
Display Range Limits
  Monitor ranges (GTF): 50-60 Hz V, 31-68 kHz H, max dotclock 80 MHz
Has 1 extension block
Checksum: 0xf7

----------------

CTA-861 Extension Block Revision 3
Basic audio support
Supports YCbCr 4:2:2
4 native detailed modes
27 bytes of CTA data blocks
  Video Data Block
     1920x1080i 60.000 Hz 16:9 33.750 kHz 74.250 MHz (VIC 5, native)
     1280x720 60.000 Hz 16:9 45.000 kHz 74.250 MHz (VIC 4, native)
     1920x1080i 50.000 Hz 16:9 28.125 kHz 74.250 MHz (VIC 20, native)
     1280x720 50.000 Hz 16:9 37.500 kHz 74.250 MHz (VIC 19, native)
     1920x1080 24.000 Hz 16:9 27.000 kHz 74.250 MHz (VIC 32, native)
     1920x1080 25.000 Hz 16:...

Read more...

Revision history for this message
Hadmut Danisch (hadmut) wrote :

Pretty good hint, interesting.

However, the ATEM is definitely able to take audio in on all four HDMI ports, since it has level indicators and buttons to turn it on and off (and AFV=Audio follows Video) and adjust the level on all four HDMI ports.

And I do have a camera with a builtin Mic (GoPro 4) on HDMI 2, which perfectly takes the Audio from the camera mic.

So there must be some difference in the HDMI signal coming from a camera (I had a Sony A6300, a Z-Cam e2c, and a GoPro 4 connected, all passing audio properly to the ATEM) and the HDMI signal coming from a Linux/Ubuntu notebook.

The cheap chinese LCD screen I used for testing doesn't care about the difference, it just plays the sound, while the ATEM obviously bothers about that difference, but, as Uldis figured out, only on Ports 2,3,4.

Revision history for this message
Uldis Kalniņš (ulcha) wrote :

Do you have clean sound from HDMI1, if Linux PC is used? Today I discovered it is garbled, need to know if it is my or everyone problem.

Revision history for this message
Hadmut Danisch (hadmut) wrote :

Confirmed:

distorted sound on HDMI1

no sound on HDMI2-4

Revision history for this message
Hadmut Danisch (hadmut) wrote :

BTW, same with the older ATEM Mini (non-Pro)

Revision history for this message
Hadmut Danisch (hadmut) wrote :

I think I've found the problem.

@Uldis: please check and verify

It doesn't work with a video with

Channel(s) : 1 channel
Channel layout : C
Sampling rate : 44.1 kHz

but it works when playing a video with

Channel(s) : 2 channels
Sampling rate : 48.0 kHz

So maybe it's the sampling rate. Probably Linux outputs a sampling rate conforming with the current source, and the ATEM seems to expect 48kHz, while accepting everything on HDMI1, but getting it scrambled and distorted, since there's not enough data (8% missing), while the input on HDMI2-4 simply doesn't match the expectations.

Revision history for this message
Hadmut Danisch (hadmut) wrote :

BTW: what would pulseaudio / ubuntu pass out on HDMI if I do play two audio sources, one with 44.1 and one with 48 kHz, at the same time?

Any tool or method to check what's going out to HDMI?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

There are a few sample rate-related settings in /etc/pulse/daemon.conf (or just make your own personal ~/.config/pulse/daemon.conf). You can edit that file and remove the ';' prefix to enable any settings.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The hardware data in comment #4 does explicitly say:

  Supported sample rates (kHz): 48

but I don't know if the Linux audio stack (PulseAudio + ALSA) is smart enough to honour that automatically. Sounds like it's not.

Try making a new file ~/.config/pulse/daemon.conf with:

  default-sample-rate = 48000

Revision history for this message
Hadmut Danisch (hadmut) wrote :

Oh yeah, that helps! :-)

Uldis, can you confirm?

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for pulseaudio (Ubuntu) because there has been no activity for 60 days.]

Changed in pulseaudio (Ubuntu):
status: Incomplete → Expired
Changed in pulseaudio (Ubuntu):
status: Expired → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.