You are not logged in.
So, next up to figure out, why PA does not lists the sink.
Maybe now you also have the problem that pulseaudio refuse to list the sink when any HDMI output is present...
As I wrote earlier, my solution was to blacklist the HDMI audio cards.
Edit:
You can list the currently loaded cards with
cat /proc/asound/cards
The order in the output is the order you can disable cards like so
/etc/modprobe.d/alsa.conf:
options snd-hda-intel enable=0,1
Which disables the first snd-hda-intel card, but enables the second one.
Last edited by AntiK (2020-09-28 17:15:35)
Offline
@AntiK oh, I missed your follow up comment, but ended up disabling my HDMI anyways.
It now lists the 5.1, I can switch to it, but the test (from Plasma's PA produces no sound)
Now stereo is dead too. (Also no sound from anywhere in the system)
I checked journalct -xe and see the following spammed:
pulseaudio[839]: W: [alsa-sink-] alsa-sink.c: Resume failed, couldn't restore original fragment settings. (Old: 94189128/16932, New 94187520/18432)
Edit: I restarted my HTS and the PC and stereo works again. But 5.1 still produces no sound.
Edit2:
Also:
speaker-test -c 6 -D a52:Generic
speaker-test 1.2.3
Playback device is a52:Generic
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
Playback open error: -16,Device or resource busy
Last edited by T-bond (2020-09-28 18:42:22)
Offline
Okay. I found out the solution. Actually I found it on a post or forum, back when I had to patch alsa-lib myself, because this cool AUR package was not here.
The solution is to set the
/etc/pulse/daemon.conf:
default-sample-rate = 48000
Unfortunately I don't remember where I did find it.
I hope it helps somebody.
And thank you @AntiK and @quequotion for helping me.
I hope some day the upstream package gets fixed, or at least we figure out a way to enable back HDMI.
Offline
Hi everyone, first, I want to thank all of you for your work in this topic. Your hard work let me advance in this. Now to the question:
1. I build the package a52 with the instructions given(thanks to T bond for addressing the differences of extensions and versions, and the tip for disabling the hdmi output).
2. My audio card is a https://en.creative.com/p/sound-blaster … nd-5-1-pro
3. The plugin work for two minutes and crash and the usb audio card shutdown then the output is stereo.
¿somebody knows if a miss a tweak in the pa file config? (i'm already changue the /etc/pulse/daemon.conf:
default-sample-rate = 48000 parameter, i've read other post and i feel like the previous work of quequotion searching parameters for prolong the plugin working time.)
thanks in advanced!!
Offline
I just want to report and show my interest in this topic:
I installed:
1. libavresample from AUR
2. and then alsa-lib-a52pcm/ from AUR
3. Recompiled the alsa-plugins-Package from the main repository
And indeed:
With this
pcm.a52 {
@args [CARD]
@args.CARD {
type string
}
type rate
slave {
pcm {
type a52
bitrate 448
channels 6
card $CARD
}
rate 48000
}
}
added to /etc/asound.conf I get a new alsa output device:
aplay -L
.
.
.
a52:CARD=PCH
HDA Intel PCH
Plugin to convert multichannel stream to A52 (AC3) bitstream
.
.
.
But for me, this is the end of the journey. Nothing shows up in pavucontrol.
Since I want the output of the a52-plugin via hdmi (the headphone amplifier is connected to the TV, so the sound of the PC should be passed through the TV), disabling HDMI is no option for me.
I wonder if it is possible at all to use this plugin via HDMI. I find people answer this question in the www, but they never got an answer ...
Offline
@bernd_b
I now have the same issue. There must have been an update which breaks our pretty workaround.
Besides that, why are you exactly trying to get the a52 plugin to work for HDMI?
In theory you should be able to output a raw 5.1 pcm stream over HDMI without having to first convert it to a52.
Offline
Yes, but at the end of the toolchain is an old headphone amplifier which has a coax cable as digital input, therefore I am limited to pcm stereo or raw ac3/dts multichannel. The pro is that the amplifier uses dolby headphone while decoding.
Until now, I have used with more or less problems dcaenc-git.
Another solution I use on another setup is to recompile ffmpeg with libmysofa-support and play the video with this filter using mpv. Multichannel is only needed with movies for me so I have some setup at least not ignoring the multichannel information and I still have sound from other applications while watching something with mpv.
But the a52-Plugin would be a nice alternative if it was maintained.
Last edited by bernd_b (2020-12-21 08:07:13)
Offline
Ah, I see. On my side dcaenc produces horrible audio quality. If you only need digital audio for movies, it should be possible to configure pulseaudio to passthrough AC3 and DTS. Aren't there some checkboxes in pavucontrol?
I remember that I once also had problems with passthrough, so I utilized
pasuspender
to temporarily suspend pulseaudio and use alsa directly when watching movies.
Unfortunately it is not possible to mix digital and analog streams. So if you need that, the a52 plugin would indeed be the only option.
It would be really great if some would fix the plugin upstream to work reliably again...
I'm also stuck with stereo now and I don't know how to tell pulseaudio to use the alsa a52 device. This is really frustrating, because if I test the alsa device with
speaker-test -c 6 -D a52:Generic
everything works fine. It's just that pulseaudio refuse to pickup the device.
Offline
If you want pulseaudio to pick up the device allocate a custom software sink e.g. ~/.config/pulse/default.pa
.include /etc/pulse/default.pa
.nofail
;Since this isn't a hardware sink it's likely you need to set the tsched=0 here maybe try without, adjust the device_id as necessary e.g. it's Generic for AntiK PCH for bernd_b
load-module module-alsa-sink device=a52 device_id=Generic sink_name="A52 Surround Sink" tsched=0
Online
Thanks @V1del!
Unfortunately this doesn't work for me.
But I figured out that everything works again if I disconnect my USB Webcam, which has a microphone.
That is really strange. I also tried to remove my modprobe blacklist to enable my HDMI audio output again.
If I dot that pulseaudio refuses to start.
Even if I blacklist my HDMI output pulse audio refuses to start if I allocate the custom software sync as proposed by V1del.
If I remove the custom software sink while having HDMI blacklisted pulseaudio starts.
But then pulseaudio only picks up the a52 device when my webcam is disconnected.
Well, Linux audio is still very funny in 2020
Last edited by AntiK (2020-12-21 15:32:46)
Offline
Okay guys, even with the setup described above, pulseaudio server get killed whenever I start to playback audio...
I guess the alsa-lib-a52pcm package is finally broken for me.
Is there anybody who got it still working?
Offline
Thank you very much for watching, but no luck here either:
Running
$ pacmd load-module module-alsa-sink device=a52 device_id=PCH sink_name="A52 Surround Sink" tsched=0
or
$ pacmd load-module module-alsa-sink device=a52 device_id=PCH sink_name="A52 Surround Sink"
leads to pulseaudio (started with the option -vv) reporting
I: [pulseaudio] main.c: Got signal SIGUSR2.
I: [pulseaudio] module.c: Loaded "module-cli-protocol-unix" (index: #20; argument: "").
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Module added for object /org/pulseaudio/core1/module20
I: [pulseaudio] client.c: Created 2 "UNIX socket client"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client added for object /org/pulseaudio/core1/client2
E: [pulseaudio] module-alsa-sink.c: Failed to parse module arguments
E: [pulseaudio] module.c: Failed to load module "module-alsa-sink" (argument: "device=a52 device_id=PCH sink_name=A52 Surround Sink tsched=0"): initialization failed.
D: [pulseaudio] cli.c: CLI got EOF from user.
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client removed from object /org/pulseaudio/core1/client2
I: [pulseaudio] client.c: Freed 2 "UNIX socket client"
I: [pulseaudio] client.c: Created 3 "UNIX socket client"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client added for object /org/pulseaudio/core1/client3
E: [pulseaudio] module-alsa-sink.c: Failed to parse module arguments
E: [pulseaudio] module.c: Failed to load module "module-alsa-sink" (argument: "device=a52 device_id=PCH sink_name=A52 Surround Sink"): initialization failed.
D: [pulseaudio] cli.c: CLI got EOF from user.
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client removed from object /org/pulseaudio/core1/client3
I: [pulseaudio] client.c: Freed 3 "UNIX socket client
Offline
Since I couldn't figure out how to get this thing working again, I switched back to the official alsa-lib package and gave dcaenc another shot.
And I get prettey decent audio quality now.
Whenever I tested this I just had the following in my .asoundrc:
<confdir:pcm/dca.conf>
Which produces the said horrible audio quality.
Now I have the following config:
<confdir:pcm/dca.conf>
pcm.dcacustom {
type dca
slave.pcm "custompcm"
#iec61937 1
}
And with this config I don't hear any distortions anymore.
So I guess I will go with dcaenc from now on.
Edit: Forget everything above. I forgot to select the dcaenc device in pulse audio. still horrbile audio quality. I give up...
Last edited by AntiK (2020-12-21 17:04:42)
Offline
When you say you installed alsa-lib-a52pcm, did you do this complete process? Because you must do the complete process.
No aur helper is going to get it right.
Edit: I have updated alsa-lib-a52pcm from 1.2.3 to 1.2.4, and the guide accordingly (version of libavresample also bumped; changed *.pkg.tar.xz to *.pkg.tar.zst).
UPDATE: All issues in this thread have been fixed upstream. If you are coming across this post, do not use alsa-lib-a52pcm, or the cargo-cult configuration, or follow the installation process as laid out in the AUR package comment. As of June, 19th, 2021 the only step required other than installing packages from official repositories ([extra], mostly) is to build alsa-plugins-git, and the next packaging of alsa-plugins in [extra] ought to negate that step.
Last edited by quequotion (2021-06-19 11:44:51)
makepkg-optimize · indicator-powersave · pantheon-{3d,lite} · {pantheon,higan}-qq
Offline
Hey guys, alsa-lib-a52pcm stopped working for me recently.
The plugin loads, I have my 6 channels, but there's no sound anymore.
speakertest -c6 iterates all the channels, but everything is mute.
I've checked the volume levels in alsamixer and pulsemixer and everything seems to be okay there.
I've also repeated the complete installation process, no success.
Any ideas?
Offline
Hey guys, alsa-lib-a52pcm stopped working for me recently.
The plugin loads, I have my 6 channels, but there's no sound anymore.
speakertest -c6 iterates all the channels, but everything is mute.
I've checked the volume levels in alsamixer and pulsemixer and everything seems to be okay there.
I've also repeated the complete installation process, no success.Any ideas?
Sadly, this started happening to me yesterday after an upgrade.
My assumption is one of the packages I [we]? updated is the cause, but I have not yet narrowed it down.
Everything looks like it should be working: surround setup fully in tact, no muted devices or streams, levels bouncing in pavucontrol, the external amp switches to the correct surround format automatically as if it were receiving signal--but there's no sound to speakers.
Edit: alsa-card-profiles doesn't seem to be related (can't even find a reason why that package was installed). For the interim, other profiles seem to be working: if you need basic sound output, you can probably get that by switching to "digital stereo". In theory, this mode supports some pass-through options (under the "Advanced" drop-down under the device's entry in pavucontrol's "Output Devices" tab.); in practice I've never known them to work.
It is possible to pass-through without pulseaudio (ie, you must not only stop pulseaudio but prevent it from restarting itself), by using applications designed to do so. for example, I made an additional .desktop shortcut for mpv, adding these to the Exec= line:
--audio-spdif=ac3,dts,eac3 --af=lavcac3enc=tospdif=yes --ad-lavc-ac3drc=0 --audio-device=alsa/iec958:CARD=PCH,DEV=0
that is: use spdif for those formats, output libavc's ac3 output to spdif, level zero (disable support for) dynamic range compression (when ac3 contains drc info), output to iec958 (your device may vary).
Last edited by quequotion (2021-05-01 03:31:46)
makepkg-optimize · indicator-powersave · pantheon-{3d,lite} · {pantheon,higan}-qq
Offline
if you need basic sound output, you can probably get that by switching to "digital stereo".
This is what I currently do. Pulseaudio passthrough of DD and DTS does indeed work for me.
But unfortunately I'm not very likely watching any movies on my PC anymore.
I need the surround sound for gaming.
And there are no games to my knowledge which support DD or DTS streams (sadly).
Hopefully this will be fixed by another package update by chance.
I will retry the digital surround sink whenever there is a sound related update.
Do you think it could have something to do with pipewire?
It came as a dependency for xdg-desktop-portal in my case...
Offline
Do you think it could have something to do with pipewire?
It came as a dependency for xdg-desktop-portal in my case...
I certainly hope not. alsa-card-profiles was the only pipewire-related package I had installed, which is now removed, and seems to have no connection to this issue.
My worry is that, as often happens with FOSS technology standards, most developers will flock to the shiny new thing--whether it works or not--and never come back to the edge cases for which the old thing had buggy, but existing, support.
In theory the ALSA devs are porting their a52 plugin to libswresample or at least do not understand why that didn't work as a drop-in replacement for libavresample (the plugin's config parser fails somehow), but it doesn't seem like a high priority despite the huge number of people who need this.
Last edited by quequotion (2021-05-08 03:10:20)
makepkg-optimize · indicator-powersave · pantheon-{3d,lite} · {pantheon,higan}-qq
Offline
Well, I think I will get me a decent sound-card and go fully analog in the near future then.
It's a shame that I have to get new hardware, while my old setup is totally fine.
Just because software support ends...
Thank you very much for providing the workaround in the AUR.
At least I was able to use my digital surround setup a little longer :-)
Offline
Thank you very much for providing the workaround in the AUR.
At least I was able to use my digital surround setup a little longer :-)
Just packaging
>my old setup is totally fine
I always have a backup emu10k1.
No one ever got back to its problems either.
Last edited by quequotion (2021-05-05 09:55:38)
makepkg-optimize · indicator-powersave · pantheon-{3d,lite} · {pantheon,higan}-qq
Offline
@quequotion
Thank you for your work on this. I don't understand why there is a such big problem to use this plugin (in fact even in debian it is a way simpler - it is just packaged in libasound2-plugins package out of the box).
In arch we have to re-build those packages to be able to use the AC3.
After my recent full system upgrade unfortunately I am joining you guys
Reinstalling with your instruction as usual doesn't help - silent in speakers.
I have same problem as you guys:
1. speaker-test iterates over all channels but silent in speakers
2. I can even hear a crack/pop when starting and stopping speaker-test so it is definitely doing "something" or at least it is able to open the sound card, but the IEC958 stream is probably wrong...
I am using Cambridge Soundworks DTT3500 speakers.
When I use standard output instead of a52encode then it works OK but ofc only in stereo
I am not using pulseaudio at all - I was always trying to use native ALSA wherever possible.
regarding emu10k1:
I also have backup emu10k1 but it would be very hard for me because I have only single optical cable wired through the wall... besides it is a hardware fix for a software problem...
Maybe we have to downgrade some specific package to have it back working...
Offline
Hi!
For what it's worth I managed to get the plugin working with downgrading packages...
First I've downgraded the ffmpeg to 2:4.3.2-3:
pacman -U ffmpeg-2:4.3.2-3-x86_64.pkg.tar.zst
loading packages...
warning: downgrading package ffmpeg (2:4.4-1 => 2:4.3.2-3)
Then I rebuild the plugin the following way:
cd /usr/src
mkdir a52_test
cd a52_test
git clone https://aur.archlinux.org/libavresample
cd libavresample
CHROOT=/usr/src/a52_test/chroot
mkdir ../chroot
mkarchroot $CHROOT/root base-devel
gl
git checkout d881a20
makechrootpkg -c -r $CHROOT
sudo pacman -U --asdeps libavresample-4.2.2-1-x86_64.pkg.tar.zst
cd ..
git clone git://git.archlinux.org/svntogit/packages.git --{single-,}branch {packages/,}alsa-plugins
cd alsa-plugins/trunk/
makechrootpkg -c -r $CHROOT -I ../../libavresample/libavresample-4.2.2-1-x86_64.pkg.tar.zst
sudo pacman -U alsa-plugins-1:1.2.2-2-x86_64.pkg.tar.zst
git clone https://aur.archlinux.org/alsa-lib-a52pcm
cd alsa-lib-a52pcm
makechrootpkg -c -r $CHROOT
sudo pacman -U --asdeps alsa-lib-a52pcm-1.2.4-1-x86_64.pkg.tar.zst
Then when I did speaker-test I've got:
speaker-test -c6 -D a52encode
speaker-test 1.2.4
Playback device is a52encode
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_a52.so (libaom.so.2: cannot open shared object file: No such file or directory)
Playback open error: -6,No such device or address
The solution was to also downgrade the aom package:
pacman -U aom-2.0.2-1-x86_64.pkg.tar.zst
loading packages...
warning: downgrading package aom (3.0.0-2 => 2.0.2-1)
Now the question is - which package started the regression...
And if we have this info - bisecting could be a pain...
Offline
@manio WO! Thanks. I just downgraded aom and ffmpeg to the versions you suggested, and it started to work again.
I hope a proper fix will land upstream soon, so we don't have to fix it after every update. I would like to help them fix it, but I have 0 knowledge about audio programs.
Offline
Thank you manio!
I have been so lost, checking out every related package's history and digging up HDA Analyzer and pygtk from their graves....
First I've downgraded the ffmpeg to 2:4.3.2-3:
This appears to be the essential thing to do. The first version of ffmpeg's package that doesn't produce any sound from A52 is 2:4.4-1; all versions of 2:4.3.2-x produce sound. I've updated the instructions with a slightly more recent version of the package (2:4.3.2-6).
The process will be:
1. Build libavresample and install it.
2. Build alsa-plugins against libavresample, then install it.
3. Build downgraded ffmpeg and install it.
4. Build alsa-lib-a52pcm against downgraded ffmpeg and install it.
The issue with aom was incidental; you should not have to downgrade or build this package if you go in the correct order.
Edit: A funny thing happened in the middle of some back and forth between bisection builds. I ended up in the state of having the up-to-date ffmpeg package from [extra] installed alongside an alsa-lib-a52pcm built against a downgraded ffmpeg package and this wasn't broken. It's great news if we can keep the up-to-date ffmpeg installed, since we won't have to rebuild our video players, thumbnailers, etc. Nevermind, it broke eventually.
So here's where we are now:
(note that my $CHROOT is set up the Classic way):
snip; this method no longer works; see alsa-lib-a52pcm aur comments for currently working method
Note, downgrading ffmpeg is not trivial. You should take a look at:
pacman -Qi ffmpeg | grep Required
This will give you a list of all the things which will be broken by downgrading it. Rebuilding them against the downgraded version should get them to work again.
Watch upgrades carefully. If pacman upgrades any of those packages while you are using a downgraded ffmpeg, they will have to be rebuilt against it. If pacman upgrades your ffmpeg package, audio will be broken. I might add ffmpeg to IgnorePkg in /etc/pacman.conf for now.
-------------------------------------------------
We need to look at what changed between 4.3.2 and 4.4. Upstream, this is a tremendous number of changes; months passed from 4.3.2 to 4.4. Take a look at the logs:
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
git log f719f869907764e6412a6af6e178c46e5f915d25..dc91b913b6260e85e1304c74ff7bb3c22a8c9fb1
There is good news and bad news, assuming the problem is upstream. Bad news first: given how long it takes to compile ffmpeg, we could bisect this for the rest of our lives. Good news: we can use PKGBUILD to do it.
We can check one commit at a time by modifying ffmpeg's PKGBUILD on lines 95 and 97:
diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD
index 5171151..de0ef07 100644
--- a/trunk/PKGBUILD
+++ b/trunk/PKGBUILD
@@ -94,7 +94,7 @@ provides=(
)
_tag=f719f869907764e6412a6af6e178c46e5f915d25
source=(
- git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
+ git+https://git.ffmpeg.org/ffmpeg.git#commit=${_tag}
vmaf-model-path.patch
)
sha256sums=(
Using #commit to select which version of ffmpeg to build, we can plug the individual commit numbers in place of "f719f869907764e6412a6af6e178c46e5f915d25".
We need a different pkgver() when using commits instead of tags (note, ugly pkgvers with this; but we only need them for testing purposes).
@@ -105,7 +105,7 @@ sha256sums=(
pkgver() {
cd ffmpeg
- git describe --tags | sed 's/^n//'
+ git describe --long | sed -r 's/-([0-9,a-g,A-G]{7}.*)//' | sed 's/-/./g'
}
prepare() {
Last edited by quequotion (2021-06-11 16:46:57)
makepkg-optimize · indicator-powersave · pantheon-{3d,lite} · {pantheon,higan}-qq
Offline
Thank you @quequotion for your new findings...
I hope we can now easier narrow it down...
Btw - did you maybe tested if the latest alsa-plugin changes makes any difference to our problem?
There was 3 commits on 25 may regarding a52 plugin:
https://github.com/alsa-project/alsa-pl … master/a52
edit: regarding the commits we need to test I think it is worth to start bisecting using these:
https://github.com/FFmpeg/FFmpeg/commit … c/ac3enc.c
If anything wrong happens there (in ac3 encoder) - it could directly hit our use-case.
Last edited by manio (2021-05-31 07:41:56)
Offline