Audio broken after increasing ram to 5 GB - No sound after latest updates - PipeWire Bug?

I discovered sound doesn’t play in Workstation after upgrading. It appears to be the entire VM. No sound in Tor Browser, VLC, or anything else.

Disabling and re-enabling audio from the virtual machine menu while running did not fix it.
Fully restarting the Workstation did not fix it.
I tried changing the audio controller in VB but it did not fix it.

I take VM snapshots before upgrading so I restored to before the upgrades and sure enough sound works.

I don’t know how to troubleshoot this issue if you could provide guidance please. I am using Whonix 17.

Upgraded builds can be more hassle than new builds.

Can you try a new build first? Once that works, we can attempt to fix the existing Whonix installation.

I’ve done some troubleshooting.

My existing workstation is upgraded from 17.0.4.5
I downloaded and imported a fresh workstation to test and it is version 17.1.1.5

The problem seemed to begin after the new swap file feature appeared in bootup, so I played around with the amount of RAM dedicated to the workstation:

  • Fresh boot with default 2 GiB RAM: works
  • RAM increased to 4 GiB: BROKEN
  • RAM increased to 9 GiB: BROKEN
  • RAM decreased back to 2 GiB: works again

This occurs without making any other changes to the machine.

To clarify “broken”: Videos do not play at all in Tor Browser (they buffer but freeze immediately and do not play, and no sound). Videos in VLC play but do not have sound.

I have 8 GiB RAM dedicated to my existing workstation. I tried setting it back to 2 GiB but it did not work unlike the test workstation.

Confirmed.

I think this is most likely a pipewire bug. I was able to reproduce this issue.


Non-issues:
swap-file-creator is not the cause. To exclude that possiblity, disable swap-file-creator.


More likely changes causing this:


debug output:

journalctl | grep pipew

Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0
Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0
Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0

cvlc Downloads/videoplayback.m4a

VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[00005863995bcc70] dummy interface: using the dummy interface module…
[000077b04c000e60] mp4 demux: Fragment sequence discontinuity detected 1 != 0
[0000586399594210] pulse audio output error: overflow, flushing
[0000586399594210] pulse audio output error: overflow, flushing
[0000586399594210] pulse audio output error: overflow, flushing

mpv Downloads/videoplayback.m4a

(+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
AO: [pipewire] 44100Hz stereo 2ch floatp
A: -00:00:00 / 00:02:23 (0%)


This issue might be unspecific to Whonix. Generic Bug Reproduction might be required.

This could be a a pipewire bug. There are some bug reports against the Debian pipewire package (but upstream issues).

https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=pipewire

For example: OOM killed

Speculation: More RAM being available might confuse pipewire and trigger some memory leak, resulting in pipewire RAM usage ballooning and therefore getting OOM killed. But really it could be anything.

I don’t have a solution and this issue might be difficult to fix, meaning might remain unfixed for a long time unless a contributor helps. Related: Self Support First Policy

Confirmed on YouTube. Very most likely same issue was described in this forum thread.

This began happening after a certain date. Before then the extra RAM wasn’t an issue. My last working snapshot is from 12/2/23 so the breakage would’ve occurred after that time. Would it be possible to downgrade pipewire and see if that resolves the issue for the time being? I don’t have much technical knowledge but I might try doing it myself to see if it works. If we could determine which update broke the audio pipewire devs might even be able to identify the issue with git blame.

No update. Was a port. port from pulseaudio to pipewire for audio support

1 Like

I found this page after I encountered the same problem:
I have installed the newest version of Whonix 17 (fresh Virtualbox install) and I have increased the RAM to 6GB.
After increasing the RAM, I observed that the audio wasn’t working anymore.

Was there a fix for this problem? Is there an easy workaround for this issue (outside of setting the Audio controller from “Intel HD Audio” to “ICH AC97”)?

I had the same problem and managed to fix it. Now my audio works with 6 GB of RAM.

First uninstall both pipewire and pulseaudio:

sudo apt remove --purge pipewire pipewire-audio-client-libraries pipewire-pulse
sudo apt remove --purge pulseaudio pulseaudio-utils
sudo apt autoremove

Then install pulseaudio:

sudo apt update
sudo apt install pulseaudio pulseaudio-utils
sudo apt install pavucontrol

Then enable and start the pulse audio service:

systemctl --user enable pulseaudio
systemctl --user start pulseaudio

Then power off the system and start it again.

Make sure pulse audio is working.
pulseaudio --check should return nothing (if it returns something its an error).

Also make sure the service is active:

systemctl --user status pulseaudio

It should say active in green.

Then everything should be working even with 6 GB of RAM.

Note that my Audio Host Driver was set to Default and my Audio Controller was set to Intel HD Audio.

4 Likes

Try it?

1 Like