[lucid] SRU: OpenAL minor version bump

Bug #565071 reported by Scott Ritchie
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openal-soft (Ubuntu)
Fix Released
Undecided
Unassigned
Lucid
Fix Released
Undecided
Unassigned
Maverick
Fix Released
Undecided
Unassigned

Bug Description

OpenAL upstream has released a new minor version that should be fully backwards compatible: http://kcat.strangesoft.net/openal.html

    * Fixed playback when the PulseAudio buffer is calculated to be more than 64KB.
    * Restored compatibility with some older PulseAudio libs.
    * Alternative buffer sizing for PulseAudio, specified using a new config option.
    * Improved buffer size calculations, to prevent drastic latency changes when certain properties (such as ALC_FREQUENCY) are modified.
    * Added capture support for the PortAudio backend.
    * Support for PortAudio under Windows.
    * Added support for the format extensions AL_EXT_MULAW, AL_EXT_MULAW_MCFORMATS, and AL_EXT_DOUBLE.
    * Support for the new ALC_EXT_thread_local_context extension.
    * Improved library load time by delaying backend device probing until needed.
    * Updated alext.h to provide EFX tokens and function types.
    * Unsupported effects and filters are no longer returned by alGetEnumValue.
    * The Wave File Writer device now creates WAVEFORMATEXTENSIBLE files, to better handle multi-channel and float output.

According to the author, it will be needed for upcoming Wine beta releases. libopenal1 has a handful of rdepends, and I've tested them using a package for the new release (using a simple uupdate) that works perfectly. The rdepends do not need a rebuild.

Revision history for this message
Scott Ritchie (scottritchie) wrote :

I should note I really want this version in Lucid as it will be impossible for me to cleanly ship my own separate (newer) openal in a PPA as openal needs to also be seeded into ia32-libs

Revision history for this message
StefanPotyra (sistpoty) wrote :

Scott, we're talking about openal-soft, are we? (openal is the package released from creative, which to my knowledge was dropped in favor of openal-soft a few releases ago).

testing rdepends: can you provide a symbol diff for the library?

Reinhard: you're an uploader of openal-soft in Debian, mind to share your opinion?

Finally, based on my own observations from very long ago, I'm very sceptical to upgrade openal-soft due to its history. I think a full diff would at least be worthwhile to review. Can you attach one please?

Thanks,
   Stefan.

Revision history for this message
Reinhard Tartler (siretart) wrote :

yes, this bug is obviously about openal-soft.

I have to admit that I didn't follow the openal package lately in debian, so I'm not sure I'm really qualified to comment on its inclusion. However, I do know that openal-soft upstream is fairly reasonable and cautious with his releases, so I think this is definitly worth investiaging further.

since we are now in final freeze, I think this needs to go via an SRU

affects: openal (Ubuntu) → openal-soft (Ubuntu)
Revision history for this message
Emmet Hikory (persia) wrote :

I've tested a source package generated by uscan a fair bit. There are a heap of new symbols in the new version of the library, but they seem to have been added in an ABI-safe manner. I did not encounter any improvements in the pulse handling with the modified package (although I also didn't discover any regressions). I'd like a testcase to see a bug fixed by this change to have a strong opinion about it, but I'd rather not see it as planned-immediate-SRU, as ia32-libs is *painful* for users to update post-install.

Revision history for this message
Maarten Lankhorst (mlankhorst) wrote :

Hi,

Just thought as the person who requested the openal-soft update I thought I'd chip in.

Since ubuntu 9.10 hangs indefinitely because of pulseaudio, as can be witnessed at

http://test.winehq.org/data/d4b853695276be6d1492a909a263bcc7ce4ca828/index_Wine.html#mmdevapi:render Because of this wine has decided to blacklist the pulseaudio device in openal-soft if a certain extension that's added in 1.12 is not found. Wine really needs this extension in order for robustness, and making sure that it will not interfere with applications that may happen to use openal, since wine also has a openal32->linux openal stub.

Furthermore openal 1.12 has several pulseaudio fixes not present in earlier releases. Not adding them will result in possible multi-second delays between an action and the sound played, because of the way pulseaudio works. so I really want that version, since wine will do a lot more with openal in the future, and supporting our own version would be a gigantic pain..

Cheers,
Maarten

Also to witness the hang in ubuntu 9.10, link this snipped with -lopenal:
extern void alcOpenDevice(const char *); int main() { alcOpenDevice("PulseAudio Software"); return 0; }

The program should immediately terminate, but instead hangs indefinitely.

Revision history for this message
Scott Ritchie (scottritchie) wrote :

I'll note that I want to SRU Wine 1.2 when it fully releases in a couple months to Lucid. So we either put OpenAL 1.12 in now or SRU it then. If we wait then in the meantime I will need to bundle openal 1.12 in the Wine PPA

Revision history for this message
Maarten Lankhorst (mlankhorst) wrote :

bump? Kinda urgent. OpenAL-soft is horribly broken, and I added a testcase like you asked..

Revision history for this message
StefanPotyra (sistpoty) wrote :

Hi,

I'd still like to see a symbol diff (Emmet, maybe you can attach yours to this bug?) and a full debdiff (updated source package in a ppa, so that I can debdiff myself will work as well).

Cheers,
   Stefan.

Changed in openal-soft (Ubuntu):
status: New → Incomplete
Revision history for this message
Scott Ritchie (scottritchie) wrote :

My PPA now has the OpenAL-soft version I tested:

https://launchpad.net/~scottritchie/+archive/ppa

Revision history for this message
StefanPotyra (sistpoty) wrote :

There are a few changes in the headers that at least bear the potential for problems, so NACK from my side so close before the release.

Revision history for this message
StefanPotyra (sistpoty) wrote :

Side note: Maybe carving out the diff of Alc/pulseaudio.c might improve the pulseaudio situation?

StefanPotyra (sistpoty)
Changed in openal-soft (Ubuntu):
status: Incomplete → Won't Fix
Revision history for this message
Scott Ritchie (scottritchie) wrote :

The version of OpenAL shipped in Lucid appears to be causing regressions in other apps. MPlayer, for instance, has encountered a very similar bug to what Wine developers were noting: https://bugs.launchpad.net/ubuntu/+source/openal-soft/+bug/575368

To fix this, I propose an SRU of the new minor version originally proposed here. Backporting portions of the code (for instance just the pulseaudio driver) is an option, however depending on how well we understand the underlying OpenAL code this may be more or less risky.

Changed in openal-soft (Ubuntu):
status: Won't Fix → New
summary: - [lucid] Freeze Exception Request: OpenAL minor version bump
+ [lucid] SRU: OpenAL minor version bump
Revision history for this message
Martin Pitt (pitti) wrote :

We have to be cautious here since libopenal1 has quite a few reverse dependencies. The changelog looks like it would retain full backwards compatibility with new releases, so I'm fine with getting this uploaded to -proposed now. But verification should not only include wine, but also some other rdepends like mplayer, flightgear, blender, and a couple of other games. So this will probably need a couple of weeks to mature in -proposed.

Changed in openal-soft (Ubuntu Lucid):
status: New → In Progress
Revision history for this message
Daniel T Chen (crimsun) wrote :

Note that the upstream release notes for the new minor version do not reflect the apparent gravity of the pulse fixes, namely this new version is critical for usable mplayer and wine among others. Without the pieces, both apps will hang, which is an extremely poor user experience.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openal-soft - 1:1.12.854-0ubuntu1

---------------
openal-soft (1:1.12.854-0ubuntu1) maverick; urgency=low

  * New upstream release (LP: #565071)
    - Fully backwards compatible
    - Fixed playback when the PulseAudio buffer is calculated to be more than 64KB.
    - Restored compatibility with some older PulseAudio libs.
    - Alternative buffer sizing for PulseAudio, specified using a new config option.
    - Improved buffer size calculations, to prevent drastic latency changes when certain properties (such as ALC_FREQUENCY) are modified.
    - "Not broken" unlike 1.11.753, according to upstream
  * Should fix some remaining crackling issues (LP: #351732, #516435)
  * Should be ok to sync over; no extra patches
 -- Scott Ritchie <email address hidden> Fri, 16 Apr 2010 15:20:20 -0700

Changed in openal-soft (Ubuntu Maverick):
status: New → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted openal-soft into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in openal-soft (Ubuntu Lucid):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Jack Leigh (leighman) wrote :

Sound seems to work fine for me in chromium-bsu and osmos (installed from .deb) which are listed under apt-cache rdepends libopenal1
Other games like World of Goo are not in the list, but I'm sure use it run fine but maybe they ship their own versions?
Some issues which I'm having which may or may not be related (sorry if not):
Osmos hangs completely including sound after about 30 mins of gameplay quite often - not sure this can be due to sound but sound certainly stops
0AD no longer starts though that's more probably related to upgrading to the 2nd alpha
Chromium-bsu - setting it to widescreen kills sound completely in spotify running in wine, although that is perhaps pulseaudio related?
Sorry if this is a bit nebulous :/

Revision history for this message
Scott Ritchie (scottritchie) wrote :

Wine doesn't yet use OpenAL so that is almost surely the same old pulseaudio Wine bug that's well known (and that OpenAL is an attempt to fix)

Osmos hanging completely could be due to any number of issues, but if it's not a regression we shouldn't be concerned in this report.

Revision history for this message
Martin Pitt (pitti) wrote :

Thanks for testing, seems its working reasonably well then.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package openal-soft - 1:1.12.854-0ubuntu1~lucid1

---------------
openal-soft (1:1.12.854-0ubuntu1~lucid1) lucid-proposed; urgency=low

  * New upstream release (LP: #565071)
    - Fully backwards compatible
    - Fixed playback when the PulseAudio buffer is calculated to be more than 64KB.
    - Restored compatibility with some older PulseAudio libs.
    - Alternative buffer sizing for PulseAudio, specified using a new config option.
    - Improved buffer size calculations, to prevent drastic latency changes when certain properties (such as ALC_FREQUENCY) are modified.
    - "Not broken" unlike 1.11.753, according to upstream
  * Should fix some remaining crackling issues (LP: #351732, #516435)
 -- Scott Ritchie <email address hidden> Thu, 13 May 2010 17:39:09 +0200

Changed in openal-soft (Ubuntu Lucid):
status: Fix Committed → Fix Released
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.