[Pkg-alsa-devel] Bug#705088: amd64: due to missing lib32asound2-plugins:i386, i386 applications output is broken on pulseaudio-enabled system.

lct lct at mail.ru
Wed Apr 10 02:29:45 UTC 2013


Package: libasound2-plugins
Version:1.0.25-2
Referencing bug (now archived): #663715

Hello.
 I don't understand how you "fixed that" guys. The problem clearly still persists.

The basic problem is..
---------------------------------
libasound2-plugins:i386 contains additional "sinks" for i386 applications to output to.. pulseaudio(i386 and amd64).
however it is not possible to install this library in amd64 build.

This results in wine:i386 (running 32bit applications) is unable to output to pulseaudio:amd64.
So they will try to grab raw ALSA, which they will succeed ( if pulse is not used)

This is because there is no "i386 sink" available.

How to test:
-----------------
stock amd64 wheezy build, wine:i386, pulseaudio, pavucontrol, any audio application linux amd64(totem, vlc etc)

Start pulse volume control.
Start playing something with linux audio application(amd64)
// one can notice pavucontrol display new volume control for this application. Sound comes out.

Execute wine-cfg, Audio Tab, press "Test sound"
You will NOT hear wine test sound nor you see wine volume control

If you close the playing audio application (amd64),
then execute "pulseaudio --kill"
!! wine-cfg will be able to output "Test sound"

Why this is happening:
-------
libasound2-plugins package provides pulse audio sink.
amd64 version of plugins provides sinks for amd64 audio applications.
i386 version of plugins provides sinks for i386 audio applications that execute on am64 system.

If this library is not present on amd64 system, amd64 audio application will not be able to route sound ALSA DIRECT(1)->PULSE(mix)(2)->ALSA(3).
It will fail at step 2, because there is no pulse sink seen from i386.
So the sound of all i386 applications will be ONLY available via RAW ALSA.

amd64 applications will be not affected, because they have libasound2-plugins:amd64.

How debian should fix this:
-------------------------------------
provide libasound2-plugins:i386 for amd64 system please! 
However, make sure that libasound2-plugins:i386 does NOT depend on packages that pull further i386 libraries.
Nothing more than that.

Current situation:
-----------------------
 it is impossible to install libasound2-plugins:i386 package on amd64 system.
Attempt to pull libasound2-plugins:i386 results in:
------
root at linux:/tmp# apt-get install --no-install-recommends libasound2-plugins:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libasound2-plugins:i386 is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libasound2-plugins:i386 : Depends: libavcodec53:i386 (>= 6:0.8.2-2) but it is not going to be installed or
                                    libavcodec-extra-53:i386 (>= 6:0.8.2-2) but it is not going to be installed
                           Depends: libavutil51:i386 (>= 6:0.8.2-2) but it is not going to be installed
                           Depends: libspeexdsp1:i386 (>= 1.2~beta3.2-1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).


If one explicitly adds all "missing, but not going to be installed" dependecies, we get following:

------ (Notice how apt wants to delete whole amd64 audio system with applications)
root at linux:/tmp# apt-get install --no-install-recommends libasound2-plugins:i386 libavcodec-extra-53:i386 libavutil51:i386 libmp3lame0:i386 libxvidcore4:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apache2-utils audacity-data libboost-filesystem1.49.0 libboost-program-options1.49.0 libboost-system1.49.0 libboost-thread1.49.0 libdlrestrictions1 libgettextpo0:i386
  libgtkglext1 libkdecore5 libmlt-data libportsmf0 libpython3.2 libtiff-tools libtiff5 libunistring0:i386 libvamp-hostsdk3 openshot-doc
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libavcodec-extra-53 libdirac-encoder0:i386 libopencore-amrnb0:i386 libopencore-amrwb0:i386 libopenjpeg2:i386 libschroedinger-1.0-0:i386 libspeex1:i386 libspeexdsp1:i386
  libtheora0:i386 libva1:i386 libvo-aacenc0:i386 libvo-amrwbenc0:i386 libvpx1:i386 libx264-123:i386
Suggested packages:
  speex:i386
The following packages will be REMOVED:
  audacity blender browser-plugin-gnash browser-plugin-vlc ffmpeg frei0r-plugins gimp gimp-dcraw gimp-dimage-color gimp-gap gimp-gmic gimp-plugin-registry gimp-resynthesizer
  gimp-texturize gnash gnash-common libavcodec53 libavcodec54 libavdevice53 libavdevice54 libavfilter2 libavfilter3 libavformat53 libavformat54 libgegl-0.2-0 libmjpegtools-2.0-0
  libmlt++3 libmlt5 libopencv-calib3d2.3 libopencv-contrib2.3 libopencv-features2d2.3 libopencv-highgui2.3 libopencv-legacy2.3 libopencv-objdetect2.3 libquicktime2 lightspark
  lightspark-common melt openshot python-mlt5 vlc vlc-nox vlc-plugin-notify vlc-plugin-pulse
The following NEW packages will be installed:
  libasound2-plugins:i386 libavcodec-extra-53 libavcodec-extra-53:i386 libavutil51:i386 libdirac-encoder0:i386 libmp3lame0:i386 libopencore-amrnb0:i386 libopencore-amrwb0:i386
  libopenjpeg2:i386 libschroedinger-1.0-0:i386 libspeex1:i386 libspeexdsp1:i386 libtheora0:i386 libva1:i386 libvo-aacenc0:i386 libvo-amrwbenc0:i386 libvpx1:i386 libx264-123:i386
  libxvidcore4:i386
0 upgraded, 19 newly installed, 44 to remove and 0 not upgraded.
Need to get 9391 kB of archives.
After this operation, 200 MB disk space will be freed.
------


Fix, that works for now:
------------------------------
Manually download libasound2-plugins:i386 and "dpkg -i" it.
Even if dkpg will yell at broken dependecies and NOT configuring it,
wine-cfg WILL be able to output sound via Pulse! Even WINE sink will appear in pavucontrol!
However, this essentially is a hack and introduces broken package into the ecosystem!!


Please respond, thank you!


More information about the Pkg-alsa-devel mailing list