Skype

From OLPC
Revision as of 14:54, 10 April 2008 by Charbax (talk | contribs) (Building gstfakevideo: added info for newbies for how to "Move gstfakevideo.zip from your USB drive into the home directory of the root user,")
Jump to: navigation, 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.

Simple 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 manual method detailed below. Drop to a terminal and:

cd /var/tmp
wget http://www.skype.com/go/getskype-linux-beta-fc7
su
yum -y localinstall skype-2.0.0.68-fc5.i586.rpm
exit
# all done; just run:
skype
If yum install complains about a missing public key, where is the URL to wget the key,
and what is it called? Shi 18:04, 20 January 2008 (EST)
If yum install complains about missing public key use yum with --nogpgcheck
If skype shows a mostly blank screen when running, you are using superuser (su)


I found the following instructions but I'm not sure they work, and there could be some improvements: [skype key for v1.4]

I had to yum install gpg first. Then I got the key using their steps. Then I tried the yum install line above, which still didn't see the key. Then I set up the skype.repo file they suggest and tried yum install skype - this also failed after installing a bunch more libraries and trying to install skype 1.4, but then when I tried the localinstall command above again, it seemed to succeed! I say seemed, because right now I'm looking at a mostly blank screen with functional cursor and little else... Shi 23:51, 20 January 2008 (EST)

Shi: I had the same issue, I restarted the computer and it worked fine.


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


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

There is always more than one way of doing anything. Here is a detailed 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 (February, 2008).

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

Warning - XO Upgrades

Note that Skype will have to be re-installed each time the laptop is upgraded.

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.15-33.el5”. 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.2-1.fc7”. 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

or wget ftp://ftp.fedora.univ-nantes.fr/dl.atrpms.net/fc5-i386/atrpms/stable/libasound2-1.0.13-32.fc5.at.i386.rpm

yum install libasound2-1.0.15-33.el5.i386.rpm 

then libXScrnSaver and dbus IF needed:

yum install libXScrnSaver
yum install 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

Leave your previous root shell and start the terminal again. Do not change directories. By default you should be in your own home directory (normally: /home/olpc ) 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.68.tar.bz2  

At this point you should have a new directory called "skype_static-2.0.0.68" 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.68

su
mkdir /usr/share/skype
chmod 755 /usr/share/skype

cp -a * /usr/share/skype/ 

cd /usr/share/skype/ 

mv skype /usr/bin/
chmod +x /usr/bin/skype 

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, or press ctrl-D (you may have to press it twice if you typed "su" twice).

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 Main Menu icon (Tiny blue Skype icon in the lower left corner - watch out for the Sugar frame popping out if you miss the icon).
  • select Options from the drop-down menu
  • 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.

Advanced option: video-out

These instructions explain how to get (two-way) video chat working after installing Skype as described above. 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. This recipe seems to be working for others.

The setup is based on 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. This idea was first suggested in a forum discussion.

Installation

The basic recipe is:

  • Install Skype as described above
  • Obtain a compiled version of the gstfakevideo package for the OLPC (see below for details to build or download it)
  • Open a terminal window
  • Move /dev/video0 out of the way (as root):
 su
 mv /dev/video0 /dev/video1
  • Make sure the video pipeline is correct by editing the gstfakevideo script (e.g. vi gstfakevideo) and changing the 'export GST_PIPE=...' line to read:
 export GST_PIPE="v4l2src device=/dev/video1 ! ffmpegcolorspace ! videoscale"
  • Also make sure to delete any other lines that set GST_PIPE later in the file! (Like line #42 of gstfakevideo.)
  • Make sure 'skype' is on your path (which it will be if you installed correctly)
  • make gstfakevideo executable by running
 chmod 777 gstfakevideo
  • 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 usual, 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

PDS: I haven't used Skype with video extensively yet on the XO, but have had it working between an XO and a Mac. I noticed intermittent sound issues: perhaps 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.)

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 - the key in the top row with circle containing a single dot - 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.)

PDS: 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

Here's how you can build the gstfakelibrary from scratch.

PDS: Note that all this work results in a library (libgstfakevideo.so) that's only 14K in size. So I've posted a zip file on one of the forums which includes the compiled library; you should be able to get it from: http://olpcnews.com/forum/index.php?action=dlattach;topic=471.0;attach=172 (requires registration). I can post it elsewhere if there's somewhere more sensible, or can provide by email. To use it, get the zip file on to the XO (e.g. download and copy via a USB stick). Move gstfakevideo.zip from your USB drive into the home directory of the root user,

 su
 mv /media/*/gstfakevideo.zip /root

and then just:

 unzip /root/gstfakevideo.zip

If you do want to build it yourself, you probably should do so in a QEMU emulator, since it requires a bunch of dependencies that you probably don't want/need on your real XO:

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

(and possibly others now forgotten). Then get the source code and build:

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