When working with Ubuntu's alpha/beta releases like Karmic, package regressions are common. The PulseAudio upgrade from version 0.9.15 to 0.9.16~test4 demonstrates this perfectly - breaking microphone functionality while offering no simple rollback path through standard package managers.
The core issue emerges when Synaptic's "Force Version" option is grayed out. This typically happens when:
1. Newer packages have version-locked dependencies
2. The package is marked as "essential"
3. Downgrading would break reverse dependencies
Here's how to safely downgrade without removing ubuntu-desktop:
# First download all necessary .deb files
wget http://old-releases.ubuntu.com/ubuntu/pool/main/p/pulseaudio/pulseaudio_0.9.15-4ubuntu3_amd64.deb
# Repeat for all required packages from the old release
# Create a holding directory
mkdir ~/pulseaudio_downgrade
mv *.deb ~/pulseaudio_downgrade
cd ~/pulseaudio_downgrade
# Install all packages simultaneously to avoid dependency hell
sudo dpkg -i *.deb
# Force hold the packages to prevent auto-upgrade
sudo apt-mark hold pulseaudio libpulse0
For a more maintainable solution, create apt preferences:
# /etc/apt/preferences.d/pulseaudio-pin
Package: pulseaudio libpulse*
Pin: version 0.9.15*
Pin-Priority: 1001
Confirm successful downgrade with:
dpkg -l | grep pulseaudio
pactl list sinks
# Check microphone functionality with:
parec --format=s16le --channels=1 --rate=44100 --latency=4m | sox -t raw -r 44100 -e signed-integer -b 16 -c 1 - -d
If you encounter dependency problems, this script can help:
#!/bin/bash
for pkg in pulseaudio libpulse0; do
sudo apt-get install --reinstall "$(apt-cache show $pkg |
grep -E "^Version: 0.9.15" -A 20 |
grep -oP "Filename: \K.*" | head -1)"
done
After downgrade, verify system integrity:
sudo apt-get check
sudo apt-get -f install
sudo dpkg --configure -a
When testing bleeding-edge packages on Ubuntu Karmic (9.10 alpha), I encountered microphone functionality breaking after updating pulseaudio to version 0.9.16~test4. The issue lies in the transitional state of Karmic's audio stack during alpha development. Here's how I safely reverted to the stable 0.9.15 version without breaking system dependencies.
The pulseaudio ecosystem consists of several interdependent packages. Attempting to remove them directly would trigger removal of ubuntu-desktop meta-package due to these dependency chains:
pulseaudio → libcanberra-pulse → libcanberra-gtk → ubuntu-desktop
First, download all previous versions of the affected packages from Ubuntu's package archives:
wget http://old-releases.ubuntu.com/ubuntu/pool/main/p/pulseaudio/\
pulseaudio_0.9.15-4ubuntu3_i386.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/main/p/pulseaudio/\
libpulse0_0.9.15-4ubuntu3_i386.deb
# Repeat for all packages listed in the question
Use dpkg with force options to bypass version checks while preserving dependencies:
sudo dpkg -i --force-downgrade --force-depends \
pulseaudio_0.9.15-4ubuntu3_i386.deb \
libpulse0_0.9.15-4ubuntu3_i386.deb
After downgrading core packages, fix potential dependency issues with:
sudo apt-get -f install
sudo apt-mark hold pulseaudio libpulse0
Confirm the downgrade was successful with:
dpkg -l | grep pulseaudio
pactl list short
Until Karmic stabilizes, pin the packages in /etc/apt/preferences:
Package: pulseaudio*
Pin: release a=karmic-updates
Pin-Priority: -1