Making Skype work in LMDE update 7

Linux Mint Debian EditionEven if my machines are all on a 64 bit architecture, I am using the 32 bit Skype version, as suggested. Recently, my laptops and workstation accidentally initiated the installation of the update 7 of Linux Mint Debian Edition. As a result, Skype audio was broken (again, sigh…). It took me an amount of research and trial-and-error to find the right combination of fixes that made things work (eh yes, one fix only was not enough ūüôā

For starters, the package libasound2-plugins:i386 must be installed. And, as reported in several places (including Mint forums) you’ll need to fix PulseAudio’s configuration as follows:

in the file /etc/pulse/default.pa the line

load-module module-udev-detect

must be changed in

load-module module-udev-detect tsched=0

You’ll then need to restart pulseaudio. Try to kill it with:

pulseaudio -k

and verify that it’s actually down with:

pgrep -lf pulseaudio

(or pgrep -u your_username -lf pulseaudio in case you’re not the only active user of the system).

If it’s not gone, try to kill it again until it goes away. Then run

pulseaudio --start

and test: Skype should be working fine now.

Is it possible to teach CFEngine to apply this fix? Of course it is! This bundle does the job:

bundle agent fix_skype_audio {
  files:
      "/etc/pulse/default.pa"
      classes   => if_repaired("pulseaudio_skype_fix_applied"),
      edit_line => replace_line("\s*load-module module-udev-detect\s*",
                    "load-module module-udev-detect tsched=0") ;

  packages:
      "libasound2-plugins:i386"
    package_policy => "add",
    package_method => apt ;

  reports:
    pulseaudio_skype_fix_applied::
      "Pulseaudio fix applied, please restart pulseaudio!" ;
}

# Replace the content of a line matching the regex (anchored)
bundle edit_line replace_line(regex,content)
{
  replace_patterns:
      "^($(regex))$"
          replace_with => value("$(content)"),
          comment => "Search and replace string";
}

You’ll need to have the CFEngine standard libraries included in the inputs to make this work. Note that I preferred to just get a warning instead of letting CFEngine restart my pulseaudio. I prefer to choose myself the right moment to do that, so a warning is enough.

Enjoy!

Advertisements

2 thoughts on “Making Skype work in LMDE update 7

  1. Hello, I read your instructions, but I don’t seem to be able to find the pulse/default.pa file.
    Where is it located? Not in .pulse nor in .skype (I am also using LMDE updatepack 7)

    • It’s /etc/pulse/default.pa, it’s not in your home directory. And it’s installed by the package pulseaudio:

      $ dpkg -S /etc/pulse/default.pa
      pulseaudio: /etc/pulse/default.pa

      I would be surprised if you didn’t have pulseaudio installed, but if you don’t… why?

      Ciao!
      — M

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s