Any recommendations for pipewire conf on a Raspberry Pi 400 for using Google Meet

Hi

I’m a Manjaro ARM newbie coming from Raspberry Pi OS. I’m using my Pi 400 as my workhorse in the home office.

Using Google Meet, a Logitech C920s PRO webcam (USB) and Raspberry Pi OS (latest) those video conferences had correct audio and video (using Chromium and Vivaldi). Since using Manjaro ARM 21.06, then 21.07 I have problems with audio and video in Google Meet:

The audio isn’t lip-synced with video, sometimes the audio is “cut off” and sometimes there is an echo. In the logs I see “underflows”.

I tried to move the whole system to Manjaro Testing to get newer versions, but it didn’t help.

My current config is

[pi@pi400 ~]$ pw-cli i 0
        id: 0
        permissions: rwxm
        type: PipeWire:Interface:Core/3
        cookie: 2891264374
        user-name: "pi"
        host-name: "pi400"
        version: "0.3.31"
        name: "pipewire-0"
*       properties:
*               config.name = "pipewire.conf"
*               link.max-buffers = "16"
*               core.daemon = "true"
*               core.name = "pipewire-0"
*               cpu.max-align = "16"
*               default.clock.rate = "48000"
*               default.clock.quantum = "1024"
*               default.clock.min-quantum = "32"
*               default.clock.max-quantum = "8192"
*               default.video.width = "640"
*               default.video.height = "480"
*               default.video.rate.num = "25"
*               default.video.rate.denom = "1"
*               log.level = "2"
*               clock.power-of-two-quantum = "true"
*               mem.warn-mlock = "false"
*               mem.allow-mlock = "true"
*               object.id = "0"

Then I poked around changing (with pw-metadata) clock.min-quantum and clock.max-quantum with no success. (min = 32, then min = 1024).

Other knowledge: Latest Firefox 89.0.2 performs somehow better than latest Vivaldi available in the offical Manjaro Repo.

Maybe someone else already has found the “ideal values” for an individual pipewire configuration on Raspberry Pi 400/4B. Any hints appreciated.

Thanks,
hilumcool

I do not use Google Meet or pipewire but I have seen people having issues with pipewire in certain circumstances. You might try using pulseaudio instead to see if it helps.

I am leary using pipewire on the pi4 until the RPi folks start supporting it. If one has audio issues they will ignore you.

Thanks, @Darksky

I’ll experiment a bit more… :slight_smile:

Any success would be posted back here.

All I know is my bluetooth headphones work great and have read that others had bad headphone audio and switching to pulseaudio fix their issues.

Hi @Darksky

The last days I tried to track down and solve the problems wih pipewire. I could almost eliminate the xruns but not the underflows which are leading to crackling sounds.

I really would like to give pipewire a chance, but need a solution for the meantime (and I don’t want to go back to Raspberry Pi OS) : Can you give me a hint how to enable pulseaudio parallel to pipewire (I’m using the Manjaro image for Raspberry Pi with KDE Plasma DE). Do I simply have to install packages

pulseaudio

and remove packages pipewire-alsa, pipewire-pulse and pipewire-jack as I have seen on other threads? OR does one Manjaro ARM for Raspberry Pi image come without pipewire (and is better suited for additional tests)?

Many thanks,
hilumcool

I do not have pipewire in any of the images I maintain. You can try XFCE to test to see if it works like you want before making any changes to your current image.

I would assume all you would have to do on your current image is disable all pipewire related services and install pulseaudio pulseaudio-alsa pulseaudio-bluetooth bluez blueman pavucontrol and enable pulseaudio.service and bluetooth.service then reboot if pulseaudio works out for you.

Added:

The pi400 has a pretty big heatsink and I have been overclocking the cpu without any issues here. You might try that if you do not presently to have an extra edge; just monitor the temp a little to see if it is going to be ok.

/boot/config.txt:

over_voltage=5
arm_freq=2000

[ray@pi4 ~]$ cpu-temp-speed 
1300 Mhz / 30° C
1 Like

I just tried your (? :slight_smile:) XFCE image and in a short Google Meet test with 2 computers it looked like there aren’t the audio problems I encountered with pipewire on the KDE/plasma image (although my heart is somehow crying by abandoning by abandoning the KDE image - KDE was my first desktop environment on linux more than 20 years ago).

The convincing result I got without overclocking the pi400 (I did overclock my pi4b but till now the standard performance of my pi400 was ok).

Once more: Thanks a lot for your time and effort!

1 Like

Glad pulseaudio worked out for you. You should be able to use kde; just try making the changes like I posted above.

I am not ready to make the change to pipewire for a few reasons. Mainly because it is not there yet supporting all use cases a user may want, although pulseaudio is not perfect in any means. Most distro’s ship with pulseaudio and from searching only one (Fedora) is starting to ship with pipewire by default.

@Darksky
Installing pulseaudio did the trick on Manjaro ARM with KDE/Plasma - as you told me. I have successfully used Google Meet on this setup (pi400) without any overclocking… (some audio-/video delays were noticeable, but still - the installation is very usable)

Thanks! :slight_smile:

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.