Skype

From OLPC
Jump to navigation Jump to search
This page describes third-party software that does not meet the OLPC standards for software freedom. The use of such software is unsupported; OLPC does not endorse or encourage its use.

Installing Skype Public Beta 2.0.0.27 on a Fedora7-based OLPC Laptop

There is always more than one way of doing anything. Here is a simple set of instructions to install Skype on your OLPC Laptop. Let me also point out that things are likely to change. With subsequent releases of OLPC software and newer versions of Skype, these instructions may no longer work as they do today (December, 2007).

Basically you need to do four things:

  1. Check that your PC has the needed pre-requisites installed
  2. Download the correct version of Skype package and uncompress it
  3. Install Skype
  4. Tweak the sound defaults of your PC
  5. (Optional) Redirect laptop camera into skype for video-out

Check for prerequisites

Skype 2.0 Beta requires the following software to be installed:

  • DBus 1.0 or better
  • Libasound2 1.0 or better
  • LibXScrnSaver 1.1.10 or better

(It also needs QT4 but we will be using the Static version of Skype which includes all QT4 prereqs)

To verify that you have what is needed, open up the terminal and type in:

rpm -qa | grep -i dbus  

The response should look something like this: “dbus-1-1.0.2-59.2”. If you just get a blank line, then you need to install Dbus.

rpm -qa | grep libasound2

The response should look something like this: “libasound2-1.0.14-31.2”. If you just get a blank line, then you need to install Libasound2.

rpm -qa | grep libXScrnSaver

The response should look something like this: “libXScrnSaver-1.1.10”. If you just get a blank line, then you need to install libXScrnSaver.

To install the missing prerequisites as needed, type:

su 
wget ftp://ftp.pbone.net/mirror/atrpms.net/el5-i386/atrpms/testing/libasound2-1.0.15-33.el5.i386.rpm
yum install libasound2-1.0.15-33.el5.i386.rpm libXScrnSaver dbus

If su doesn't work, follow the instructions at sudo.

If yum install complains about a missing public key, do:

wget http://ATrpms.net/RPM-GPG-KEY.atrpms
rpm --import RPM-GPG-KEY.atrpms

After you found or installed the needed prerequisites, we can go and download Skype.

Get the Skype installation package

Start the terminal and do not change directories. By default you should be in your own home directory and all intermediate files should be located and are assumed to be there for the installation.

Then to download and uncompress the Skype installation file (Linux Static Version) type in:

wget http://www.skype.com/go/getskype-linux-beta-static

tar xvf skype_static-2.0.0.27.tar.bz2  

At this point you should have a new directory called "skype_static-2.0.0.27" in your home directory with all the files uncompressed and good to go for installation.

Install Skype

Then to install Skype, type in the following commands in sequence:

cd skype_static-2.0.0.27

mkdir /usr/share/skype
su

cp -a * /usr/share/skype/ 

cd /usr/share/skype/ 

mv skype /usr/bin/ 
mv skype.conf /etc/dbus-1/system.d/  

At this point your Skype is installed and all the files and directories are in the correct places where Skype can find them.

To get out of Super User mode, close and re-start the terminal now.

Select sound devices to use

To configure the sound system, you need to start alsamixer from the terminal. Type in

alsamixer

To navigate around alsamixer:

  • use the TAB key to switch between Playback, Capture and All panels;
  • use the left and right arrow keys to move between the columns;
  • use the up/down arrow keys and the 'm' key to select or set different values in each column.

In the Playback section you can turn all volume sliders to 100 to manage them directly from applications. The key settings for Skype are

  • mic 75 or the largest number that does not squeal
  • mic select mic1
  • mic boost 00

In the Capture section you have to turn on Capture for Skype to work:

  • press TAB key to switch to Capture panel
  • use the right-arrow key to get to Capture column
  • use up-arrow key to adjust capture to 100.

To save the changes you made, and to exit the alsamixer application, push the Esc key (upper left key X in a filled circle).

Test the sound in OLPC and Skype

An easy way to test that your sound settings are correct, type in terminal:

cd /usr/share/skype/sounds
aplay *

You should now hear all Skype sounds, one after another. If you only hear clicks or you hear no sound from loud speakers and/or headphones, then you still have a problem in the alsamixer settings. Check and adjust them again and remember to save the changes at end.

You can test the microphone settings by recording and playing back your own voice. In the terminal, type:

cd 
mkdir deleteme
cd deleteme
arecord -d 15 sound1

The left microphone light should come on. speak into the microphone (just above the left speaker). After 15 seconds, type

aplay sound1

You should hear your voice now. If not, then go back to alsamixer and tweak your recording and playback volumes.

When you are happy with your settings, remove the recording file and directory by typing:

rm sound1
cd .. 
rmdir deleteme

Running Skype the first time

You should now be in good shape to start Skype. To improve the call quality, you should always start Skype by first:

  • press F3 button to go to Sugar interface home
  • quit all other applications except Logging and Terminal
  • in the terminal, type:
skype

It will take a lengthy 10-20 seconds to get started.

Once Skype is up for the first time:

  • login using your Skype ID or create a new one.
  • left-click on Options icon (Tiny blue Skype icon in the lower left corner and watch out for the Sugar frame popping out if you miss the icon).
  • select Sound from the menu
  • choose “CS5535 Audio (hw:Audio,0)” for each of the three pull downs (In, Out and Ringing).
  • check the box “Allow Skype to automatically adjust my mixer levels”
  • click on “Make a Test Sound”

You should now hear the sound out of the speakers. Adjust the volume from the keyboard using the volume up and down buttons (upper right corner 3rd and 4th buttons from the edge—you will recognize the icons). Make it nice and loud.

Here comes THE BIG TEST:

Click on “Make A Test Call”.

Skype will connect you to an automatic voice testing server and lead you through the test process.

At this point, everything should be working. You should have the right sound drivers, selected the right hardware and software options and tested the sound system. Congratulations!

All that is needed is for you to add your friends or find new friends to add to your Skype contact list and Skype away.

Alternate setup instructions

You can use yum to install everything; you'll install a bit more than you need but it's only a few megabytes more and much easier to do and undo than the above. Drop to a terminal and:

cd /var/tmp
wget http://www.skype.com/go/getskype-linux-beta-fc7
yum -y localinstall skype-2.0.0.27-fc5.i586.rpm
# all done; just run:
skype

You'll need to set the Options --> Sound --> Sound In and Sound Out to "CS5535 Audio (hw:Audio,0)". I didn't need to set the "Ringing" choice to anything but the default.


If you want to install version 1.x skype (without video-in capability) on your OLPC, you can go to google, and search for

olpc skype

Advanced option: video-out

These instructions outline what I did to get (two-way) video chat working after installing Skype (Public Beta 2.0.0.27). After the basic Skype installation you should already be able to receive video chat; these instructions allow you to send video from the OLPCs camera to the person you're talking to.

I haven't used it extensively but did get a video chat working between an XO and a Mac, although part way through I lost sound - maybe something to do with bandwidth or CPU? If so maybe we could dial down the framerate or something? Hopefully others who know more about all this stuff can contribute their thoughts. (My head is only barely above water at this point given my very limited knowledge of linux, skype, gstreamer, etc.)

Based on a suggestion in one of the OLPC forums, I found some code called 'gstfakevideo' (aka skype video hijacker) which uses the open source gstreamer framework (coincidentally the XO's multimedia platform) to stream an arbitrary video source into Skype.

Installation

The basic recipe is:

  • Install Skype as above
  • Obtain a compiled version of the gstfakevideo package for the OLPC (you need a script called gstfakevideo and a library called libgstfakevideo.so; see below for details)
  • Open a terminal window
  • Move /dev/video0 out of the way, e.g. (as root):
 su
 mv /dev/video0 /dev/video1
  • Edit the gstfakevideo script (e.g. vi gstfakevideo) and change the video pipeline by editing the 'export GST_PIPE=...' line to:
 export GST_PIPE="v4l2src device=/dev/video1 ! ffmpegcolorspace ! videoscale"
  • Make sure 'skype' is on your path
  • Run the gstfakevideo script :
 ./gstfakevideo
  • This launches skype normally (after forcing skype to first load the libgstfakevideo.so library which uses the GST_PIPE setting to provide a fake skype-compatible video source at /dev/video0)

At this point you should be able to use skype as normal, but video options are enabled, e.g. click the tiny camera icon once you start a chat to share your video, or modify the video preferences to start video automatically within calls (see Skype Video forum).

Comments

You can test the video pipeline independently of Skype by trying things like this at a terminal prompt:

 gst-launch videotestsrc \! ffmpegcolorspace \! videoscale \! autovideosink

This should create a test pattern on your XO display. (To quit, press the 'home' button and either stop the unnamed activity or return to terminal and press ctrl-C.) Note you need backslashes before the exclamation marks when executing directly in the terminal to escape them, but not in the gstfakevideo script itself. Also the 'autovideosink' element is only needed when testing (it routes the pipeline to your screen, instead of /dev/video0 for skype like the fakevideo library does).

To test your video camera, try a pipeline like this:

 gst-launch v4l2src device=/dev/video1 \! ffmpegcolorspace \! videoscale \! autovideosink

then you should see your own smiling visage. (Same instructions to quit.)

I'm not sure if you need to move /dev/video0 every time you boot the machine (probably?). It seems to be a requirement because the gstfakevideo library can only fake /dev/video0 (so you can't have your 'real' video source there). There is a setting in gstfakevideo to tell it what fake video device to provide but the doc says it doesn't work (I haven't actually tried).

A cleaner setup would probably be to install the gstfakevideo stuff alongside the skype install, and alias 'skype' to kick off the video stuff. But I haven't done that yet. It would also be good to sugarize the whole thing so you could kick off your video skype session from the toolbar. I might have a go at that if no one beats me to it.

Building gstfakevideo

I built the gstfakevideo library in a qemu image, since it required a bunch of dependencies that I didn't want to put on my XO:

 yum install subversion
 yum install make
 yum install gcc
 yum install gstreamer-devel

(and probably some others I forgot). Then I did:

 svn checkout http://gstfakevideo.googlecode.com/svn/trunk/ gstfakevideo
 cd gstfakevideo
 make

All this work simply creates the library libgstfakevideo.so which is only 14K in size. I've posted this on in one of the forums, so you might be able to download the zip file from: http://olpcnews.com/forum/index.php?action=dlattach;topic=471.0;attach=169 (requires registration?). I'd happily post it elsewhere if there's somewhere more sensible, or can provide by email. In my case I just copied the library on a USB stick onto the XO.