Skype on 64-bit Fedora 11 Linux
Posted by broseAug 4
Getting skype to work – and behave properly – on Fedora 11 is something of chore. The lack of support on skype’s part is almost appalling, given that they’re on version 4.1 for Windows and version 2.0 for Linux at the time of this article’s writing. To be honest, I don’t think I’ve seen a disparity this great in popular chat software since AOL Instant Messenger. I wish that the skype protocol would be released as a public spec so open source versions could be made… unless one exists of which I’m unaware?
Anyway, this leaves us with a couple of options. You could do no video chatting, or you could also use another utility to chat, such as gnome-meeting. I’m going to assume, however, that these aren’t good options for you. Below we’ll embark on the quest of getting skype to behave properly on a 64-bit linux system. For me, this happened to be on Fedora 11. Your mileage may vary.
First, go grab the RPM from the skype website and install it. Pull in the dependencies as well via yum. Then, make sure the packages “libv4l-0.5.9-1.fc11.i586”, “pulseaudio-libs-0.9.15-14.fc11.i586”, and “alsa-plugins-pulseaudio-1.0.20-2.fc11.i586” (or whatever versions you want) are installed.
[root@allmybase-demo ~]# yum -y install libv4l-0.5.9-1.fc11.i586 pulseaudio-libs-0.9.15-14.fc11.i586 alsa-plugins-pulseaudio-1.0.20-2.fc11.i586
First thing’s first, we’ll need to make sure that this library will load properly when skype launches, otherwise there will be no video for skype to send to your chatting partners. To do this, mimic what I’ve done here:
[root@allmybase-demo ~]# mv /usr/bin/skype /usr/bin/skype.proper
[root@allmybase-demo ~]# cat << EOF > /usr/bin/skype
#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
skype.properEOF
What we’ve done here is ensure that skype will be able to communicate properly with the webcam by preloading the 32-bit library file before the execution of the next ELF binary. At this point, fire up skype. Go into the options, and set all of the audio dropboxes to “pulse”. If you’re lucky, sound will work out of the box. If not, you’ll probably get something like this, however:
[brose@allmybase-demo ~]$ skype
RtApiAlsa: underrun detected.
RtApiAlsa: underrun detected.
RtApiAlsa: underrun detected.
RtApiAlsa: underrun detected.
RtApiAlsa: underrun detected.
This seems to be a well-known bug. There have been a variety of “hacks” to make the problem bearable, and some of them do work a bit, but I’m going to present another option here that works quite well. Traditional hacks usually involve changing the nice level of pulse audio such that it runs at a different rate than the fork()’d process sending audio data. By adjusting this finely, one can minimize the impact of the buffer underrun by ensuring that data will ALWAYS be written to the buffer before it’s played.
However, I’m going to make one assumption here, no matter how incorrect it may be. I’m going to say that you’re going to try to keep the computer as quiet as possible while chatting on skype. First, mute or turn off any programs that are actively using the sound on your system. A simple test of this is whether or not there are sounds coming out of your speakers. Now in skype, change the three “sound devices” dropbox settings to the underlying hardware on your system. For me, this was labelled as, “HDA Intel (hw:Intel,0)”. Apply the settings and see if you can now get proper sound on skype by calling the echo123 test number. If so, you’re done. Just remember to always stop your music and audio applications before making a call.
If at this point, however, you get “Problem with audio playback”, it means that you didn’t kill all services using sound. It’s okay, there’s a simple solution. Quit skype, and, from the command line, run it again as:
[brose@allmybase-demo ~]$ pasuspender skype >/dev/null 2>/dev/null&
This will suspend pulseaudio from using the soundcard while the application skype is running. You now can ONLY make sound with skype. To get other programs to make sound after this, you will need to quit skype. But, you can rest assured that your sound will work 100% and that there will be no audible interruptions coming from your computer. This fix does work, I’ve done it and so has Thomas (his link is on the right), and we’ve both made calls, having no problems whatsoever. Hope this helps someone, perhaps leave a comment if it did? Have a good one.
8 comments
Pingback by » using skype on Fedora 11 x86_64 - Sysadmin Ramblings » Blog Archive on August 4, 2009 at 3:14 pm
[…] using skype on Fedora 11 x86_64 allmybase has a good article on how to get skype working properly on F11. If your sound keeps crapping out or your video doesn’t look quite right, check out his fix. […]
Comment by Donald Ade on August 5, 2009 at 9:50 am
So wait… You mean to tell me that there isn’t another client that has the same functionality (native or with a plugin) that can be a Skype alternative?
Comment by brose on August 5, 2009 at 10:09 am
There’s alternatives, just none that I know of that work on skype’s network. Their network has all of the people on it… I wish there was something like pidgin for skype. I’ve read on forums that they’ve been thinking of making it open source, but in the meantime I’m not going to hold my breath.
Comment by Thomas Uphill on September 28, 2009 at 9:26 pm
The new beta of skype (2.1) has support for pulse, so the pasuspender part isn’t needed anymore. But the LD_PRELOAD is still essential.
http://www.skype.com/download/skype/linux/choose/
Thanks.
Comment by Delio Guimaraes on November 26, 2009 at 6:46 pm
It worked for my fedora x86_64, but I had to add “export LD_PRELOAD” just before line “skype.proper” to get my webcam working. May be it can help someone else.
A huge thanks to All My Base for these hints!!!
Comment by deskartez on January 13, 2010 at 1:16 am
i followed the guide on this site and got it working
http://www.my-guides.net/en/content/view/161/26/1/9/
which was easy because Skype now has a repo for fedora linux versions.
all you have to do is create the rpo file then just use the standard ‘yum install skype’ … when i did it yum had to install 36 dependencies… before i found this guild – which is the link i mentioned above .. i tried the rpm install and then a yum install of the 32 bit dependencies this did not work …. because apparently there are a hell of alot of dependencies so for for fedora users just make a repo file in your :
‘/etc/yum.repos.d/’
directory and then create the file:
‘skype.repo’
once you have that file all you need to do is add the following text :
[skype]
name=Skype Repository
baseurl=http://download.skype.com/linux/repos/fedora/updates/i586/
enabled=1
gpgkey=http://www.skype.com/products/skype/linux/rpm-public-key.asc
gpgcheck=0
thats it!
then just ‘yum install skype’ , and your good to go
Comment by Brandon on August 30, 2010 at 8:33 pm
Skype is lazy and fat just like microsoft. If you want to play games and put your computer at risk installing that trash 32 bit version go ahead. I refuse to use Skype until the can clean up their act.
I Use Ekiga now. They have an option where you can call telephones on a phone card too if you need it. It uses SIP.
Comment by stels88 on January 26, 2011 at 11:36 am
yum install -y qt-4.5.3-9.fc12.i686 qt-x11-4.5.3-9.fc12.i686 glibc.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libSM.i686 libXi.i686 libXrender.i686 libXrandr.i686 libXfixes.i686 libXcursor.i686 libXinerama.i686 freetype.i686 fontconfig.i686 libstdc++.i686