ia32-libs missing SDL with ESD backend for PulseAudio; And many other libraries too as it seems like.

Bug #211698 reported by NY00123
2
Affects Status Importance Assigned to Milestone
ia32-libs (Ubuntu)
Won't Fix
Wishlist
Unassigned

Bug Description

Binary package hint: ia32-libs

The title says it. In the case of SDL, if someone has set ALSA to use the pulse device, that means 32-bit SDL applications are expected to work without sound and crash on quit (at least according to my experience with a few of them).
Now I know that it could be too late to add new libraries for Hardy, but if, say, libvorbis and libvorbisfile can be added, that'd be one more improvement.
Anyway, a more general problem is that such requests may be done for every single library available (e.g. libSDL-image, libSDL-sound, and in fact almost everything missing); That makes me think that maybe, as long as we don't have some kind of multi-arch support, we should (also) use names like:
lib32sdl1.2debian, lib32sdl1.2debian-all, lib32sdl1.2debian-esd, lib32vorbis0a, etc (based on lib64 package names used in Mandriva).
Now I know that there are already a few packages like lib32asound2 and lib32ncurses5.
If that's too much now for Hardy, maybe just the addition of a few libraries to the existing ia32-libs can be made.

Revision history for this message
NY00123 (ny00) wrote :

A TEMPORARY WORKAROUND FOR GETTING 32-BIT SDL TO USE ESD:

Before using that, I should probably give two warnings:
1. THE ALTERNATIVE SDL LIBRARY GETS EXTRACTED MANUALLY TO /usr/lib32. You won't find it using dpkg or Synaptic.
2. On an update to ia32-libs (like a one made today), it'll probably get overwritten by ia32-libs' SDL library with the ALSA backend. I've realized that after a 32-bit SDL app has got almost no sound, and as expected, crashed on quit. (That is if ALSA uses the "pulse" device and tries to wrap everything to PulseAudio)

Anyway, the proposed solution is getlibs:
http://ubuntuforums.org/showthread.php?t=474790

The command to install the 32-bit SDL library with an ESD backend (requires root permissions):
getlibs -p libsdl1.2debian-esd

Revision history for this message
Matthias Klose (doko) wrote :

please name the list of all package names (including dependencies, without architecture independent packages, without packages already included in ia32-libs).

Changed in ia32-libs:
status: New → Incomplete
importance: Undecided → Wishlist
Revision history for this message
NY00123 (ny00) wrote :

If you're talking about libsdl1.2debian-esd and its dependencies, then it seems like its dependencies (libaudiofile0, libc6 , libdirectfb and libesd-alsa0) are already provided by ia32-libs and libc6-i386. Well, excluding the documentation and other kinds of stuff like that, of course.

If you're talking about the libvorbis0a and libvorbisfile3 libraries though, then libvorbisfile3 depends on libvorbis0a and libc6, while libvorbis0a depends on libogg0 and libc6.
libogg0 is already provided by ia32-libs.
BTW, if the libvorbis* libraries are provided, they'd make e.g. recent snapshots of the EDuke32 game work. I can give a link in case anybody asks.

Revision history for this message
NY00123 (ny00) wrote :

A few updates:

* In the past, it looked like the ESD backend of SDL worked better than the PulseAudio backend in a few cases, like in the Epiphany game. Now the PA backend seems to work fine with that game.

* Using the ESD backend, there have been a few times when I've just heard loud "pink noise" (term mentioned in speaker-test --help).
I remember it has happened with some application talking to ESD directly and not SDL as well (not sure which app).
It could be related to the following bug, although I'm not fully sure about that:
http://www.pulseaudio.org/ticket/322

* Finally, EDuke32 is now available as a 64-bit binary, so all of this stuff can be considered irrelevant to EDuke32.

It may still be useful to replace the 32-bit SDL sound backend, and maybe with the PulseAudio backend and not ESD, since it at least works probably with Epiphany this time.

Revision history for this message
NY00123 (ny00) wrote :

Another update:

It looks like I was wrong, regarding Epiphany and the sound with the PA backend.
In the past I had stuttering sound in Epiphany while using the PA backend.
Without being even aware of that, it disappeared thanks to a workaround suggested in some forum topic;
It might be this:
http://ubuntuforums.org/showthread.php?p=4928900

In the file ~/.pulse/daemon.conf (possibly based on /etc/pulse/daemon.conf), I've added the following lines:

default-fragments = 8
default-fragment-size-msec = 5

More lines can be added. For instance, as mentioned in the above topic (and without the fragments params):

high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
resample-method = speex-float-0

Revision history for this message
Daniel T Chen (crimsun) wrote :

ESD backend compatibility is deprecated; movement should be made toward migrating to the PA backend.

Changed in ia32-libs:
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.