docker-zoom-us icon indicating copy to clipboard operation
docker-zoom-us copied to clipboard

No sound after upgrade to 5.1

Open moorchegue opened this issue 5 years ago • 7 comments

The 3.5 version worked just fine until recently, when joining conferences required upgrade. So I did that and now there's no audio / mic.

On the audio settings page the "Test speaker" button as well as other controls are disabled. Setting "Speaker" to either "Same as system" or "Built-in…" doesn't change anything. Microphone dropdown is disabled and empty.

How can I help to diagnose this?

moorchegue avatar Jul 06 '20 06:07 moorchegue

I did a little bit of digging and found out that playing sounds via Pulse inside the container actually works. So it looked like something changed in Zoom itself.

But then I rolled back to 3.5 image and was surprised to see the same problem there. Any ideas what it could be?

moorchegue avatar Jul 07 '20 11:07 moorchegue

I've tried the latest build on Docker Hub 5.1.422789.0705 and I didn't encounter any issues with the audio.

You may find something by displaying Zoom's stdout/stderr by using the following command:

docker logs zoomus

There's also a logs file in ls -l ${ZOOM_HOME:=$HOME}/.zoom/logs where you can find more details.

mdouchement avatar Jul 11 '20 11:07 mdouchement

In the log I find a line saying No PulseAudio daemon running, or not running as session daemon.

zoom_stdout_stderr.log

PA ist running and can be accessed by pacmd outside the container.

mlo-poc avatar Jan 21 '21 10:01 mlo-poc

I still have no solution for this problem but a new observation to share:

When opening a shell in the container I can access PulseAudio as root by giving the PULSE_SERVER variable on the commandline

mlo@fangorn:~$ docker exec -it zoomus bash
root@c1e3d9537e8e:/# PULSE_SERVER=/run/pulse/native  pactl info
Server String: /run/pulse/native
Library Protocol Version: 32
Server Protocol Version: 30
Is Local: yes
Client Index: 20
Tile Size: 65472
User Name: mlo
Host Name: fangorn
Server Name: pulseaudio
Server Version: 8.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_2f_00.4.analog-stereo
Default Source: alsa_input.pci-0000_2f_00.4.analog-stereo
Cookie: ded4:3534

whereas trying the same as the zoom user it fails:

root@c1e3d9537e8e:/# su - zoom
zoom@c1e3d9537e8e:~$ PULSE_SERVER=/run/pulse/native  pactl info
shm_open() failed: No such file or directory
Connection failure: Protocol error

mlo-poc avatar Jan 25 '21 14:01 mlo-poc

In an strace I found this lines:

zoom@c1e3d9537e8e:~$ strace pactl -s /run/pulse/native info

statfs("/dev/shm/", {f_type=TMPFS_MAGIC, f_bsize=4096, f_blocks=16384, f_bfree=16384, f_bavail=16384, f_files=4111760, f_ffree=4111759, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV|ST_NOEXEC|ST_RELATIME}) = 0
futex(0x7fc920a023b0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/dev/shm/pulse-shm-3521074953", O_RDWR|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "shm_open() failed: No such file "..., 45shm_open() failed: No such file or directory) = 45
write(2, "Connection failure: Protocol err"..., 35Connection failure: Protocol error) = 35

mlo-poc avatar Jan 25 '21 15:01 mlo-poc

I'll run zoom als root inside the container as a workaround for now but I#m not happy with it ...

I played around with settings, permissions, running xterm -ls inside the container and starting zoom from the commandline with various variations but nothing improved the issue

Only running zoom als root makes it work as expeced

mlo-poc avatar Jan 27 '21 19:01 mlo-poc

Looks like the newest version crashes entirely due to the same issue:

No PulseAudio daemon running, or not running as session daemon.
Something went wrong while running zoom, exit code is 1.

@mlo-poc could you share what you did exactly to make it work? What do you mean by "running zoom als root"?

moorchegue avatar Jul 01 '22 08:07 moorchegue