The article is dedicated to troubleshooting Skype.
Troubleshooting Audio Problems
Recent Skype Linux clients (e.g. version 4) will use the pulseaudio sound infrastructure directly if it is running, which it is by default on Ubuntu versions from Lucid on. Checking the sound functionality is therefore the usual procedure of connecting/selecting a sound-input device and checking/adjusting sound levels in the default mixer (via the loudspeaker icon on the toolbar). See the Ubuntu Desktop Guide for your version. If you see a signal on the mixer indicator following the level of your speech into the expected microphone, Skype sound should just work.
If it does not (Skype test call plays nothing sensible back), the Skype client may have messed with the mixer settings. To prevent this, go into the Skype Options menu - Sound Devices - remove the tick at: Allow Skype to automatically adjust my mixer levels. Click Apply. Readjust the sound mixer controls.
(older Ubuntu versions)
(Installing pavucontrol has not been necessary since Lucid Lynx - use the mixer via the toolbar speaker icon instead.)
If you are having audio problems, first check to make sure that sound is working on your system and that your microphone and speaker volume levels are high enough. First test your mic and sound by using the application Sound Recorder. If the mic works, and you cannot hear yourself using the Skype Test Call feature, do the following.
Skype has been known to mess up the mixer settings. So disable the automatic configuration of the mixer controls in Skype: right-click with your mouse on the Skype icon in the system tray - Options - Sound Devices - remove the tick at: Allow Skype to automatically adjust my mixer levels. Click Apply. Then close Skype (right-click with your mouse on the Skype icon - Quit).
Then use Synaptic Package Manager to install pavucontrol (Pulse Audio Volume Controller). Use that application to set up your input device. Most built-in mics are mono. The default setting on the Input Control is to lock the R&L channel together. By reading the mono mic as stereo, PulseAudio cancels the input. Click on the middle button on the upper right of the control panel to unlock the R&L channel. Move either the left or right channel to 10 leaving the other channel about 90. You should now see the VU meter sensing sound. Now start Skype again. The test call should register your voice now.
Does the above fail? Next try configuring pulseaudio according to the pulseaudio website. If that does not work, then try changing the Skype audio device, and finally, if all else fails, modify your ESD configuration.
Selecting Microphone (input device)
Most netbooks/laptops have two input devices, one built into the casing and another one for plugging in an external microphone. In Ubuntu 10.04 (Lucid Lynx) and Skype 2.0+ you might have problems selecting the right input device. The following instructions should solve this issue:
1. Install pavucontrol, a program with which you can select audio devices
Click here to install the pavucontrol package
Synaptic
Go to Applications → Add/Remove...
Set Show: to All available applications
Search for pavucontrol and install it.
Or open the Terminal, and execute the following command:
sudo apt-get install pavucontrol
2. Start Skype and initiate a test call (you can use echo123 Skype testing service).
3. Start pavucontrol while the test call is running: Press Alt-F2 and type pavucontrol, hit return
4. In pavucontrol there is a tab called Recording where you can select the input device for the application Skype
Note: Skype has to be running and Skype needs to use (i.e. make a call) Pulseaudio while you change settings with pavucontrol.
Another way of selecting USB microphone
- Remove pulseaudio and intall esound:
Open the Terminal, and execute the following command:
sudo aptitude purge pulseaudio && sudo aptitude install esound
- Relog-in to make new audio device to work.
- In sound mixer choose sound card USB and make channel selected Microphone to max and checked with red button to enable it.
In Skype Options->Sound Devices select Microphone->USB device (they may be more so try which is correct with step 5)
- Make test call to skypename echo123 and follow instructions. If step 4 is selected correct your USB Mic is set up and works.
Volume Levels
Test that output is working with the Sound Preferences dialog. Choose System->Preferences->Sound.
Test that microphone input is working with the Sound Recorder application. Choose Applications->Sound & Video->Sound Recorder.
Ensure that your audio output and microphone input channels are not muted by choosing Applications->Sound & Video->Volume Control.
Skype Audio Device
If your audio levels are properly configured and you can hear audio in Skype but your contacts cannot hear your input, you may need to change Skype's input device. From the Skype menu, choose Tools->Options and select Hand/Headsets in the dialog that opens. Experiment with different Calls selections, if they are available.
Another possible solution for software mixing
If none of the other options works, try this one (it's working on a HP Pavilion dv1000). Taken from http://forum.skype.com/viewtopic.php?t=48195 which unfortunately does not exist anymore.
Create or add the following to your .asoundrc file:
gedit ~/.asoundrc
Add the following text to it
pcm.skype { type asym playback.pcm "skypeout" capture.pcm "skypein" } pcm.skypein { # Convert from 8-bit unsigned mono (default format set by aoss when # /dev/dsp is opened) to 16-bit signed stereo (expected by dsnoop) # # We can't just use a "plug" plugin because although the open will # succeed, the buffer sizes will be wrong and we'll hear no sound at # all. type route slave { pcm "skypedsnoop" format S16_LE } ttable { 0 {0 0.5} 1 {0 0.5} } } pcm.skypeout { # Just pass this on to the system dmix type plug slave { pcm "dmix" } } pcm.skypedsnoop { type dsnoop ipc_key 1133 slave { # "Magic" buffer values to get skype audio to work # If these are not set, opening /dev/dsp succeeds but no sound # will be heard. According to the alsa developers this is due # to skype abusing the OSS API. pcm "hw:0,0" period_size 256 periods 16 buffer_size 16384 } bindings { 0 0 } }
Install alsa-oss package to match Skype:
- On 32-bit computers
sudo apt-get install alsa-oss
- On 64-bit computers
sudo apt-get install alsa-oss:i386
Create a skype launcher (in this example is going to be at your home directory).
gedit ~/skype.sh
add the following text
#/usr/bin/sh ALSA_OSS_PCM_DEVICE="skype" aoss /usr/bin/skype --disable-dbus
Give skype.sh execution rights by browsing with Nautilus over there, right click on the file, go to Properties, go to Permissions tab, and select "Execute" for the user.
Double click on the file and you should be done.
Video Problems
For troubleshooting video issues on Skype, the following wiki pages may be helpful:
Port use
Skype uses port 80 by default, and thus, may block some other applications that use the same port such as Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the 'port' box, change to your preference.
System hangs for a short while (few seconds)
Skype apparently creates FIFO threads when initiating a chat with someone. Users members of the admin group (typically the user who has installed Ubuntu) are likely to find this really annoying as the created threads do not relinquish the CPU easily. The first option (maybe the easiest) is to remove yourself from the admin group. You may otherwise intercept calls to pthread_create() with a preloaded (LD_PRELOAD) DSO:
#define _GNU_SOURCE 1 #include <dlfcn.h> #include <pthread.h> #include <stdio.h> #include <string.h> int (* orig_pthread_create) (pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg) = NULL; static void change_sched_policy (pthread_attr_t *attr) { int policy; if (attr == NULL) return; pthread_attr_getschedpolicy (attr, &policy); if (policy == SCHED_FIFO) { printf ("### SCHED_FIFO policy changed to SCHED_RR\n"); pthread_attr_setschedpolicy (attr, SCHED_RR); } } int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg) { pthread_attr_t new_attr; if (orig_pthread_create == NULL) { orig_pthread_create = dlsym (RTLD_NEXT, "pthread_create"); } change_sched_policy (attr); return orig_pthread_create ( thread, attr, start_routine, arg ); }
Compile the above source code with gcc -shared -o libskype.so skype.c and launch Skype as follow:
export LD_LIBRARY_PATH=path_to/libskype.so:/usr/lib/libqt-mt.so.3 /usr/bin/skype
My work colleagues and I have tested this on Ubuntu Edgy Eft and we haven't seen, so far, any side effects.
Skype fails to start with Nessus Scanner
Skype has a conflict when the Nessus scanner is installed. When opening Skype from the command line the following error occurs:
skype: symbol lookup error: /usr/lib/libQtNetwork.so.4: undefined symbol: _ZN14QObjectPrivate15checkWindowRoleEv
The solution is to edit /etc/ld.so.conf and comment out the line /opt/nessus/lib and then run sudo ldconfig.
sudo nano /etc/ld.so.conf
Put a # infront of the line /opt/nessus/lib. Save and exit.
include /etc/ld.so.conf.d/*.conf #/opt/nessus/lib
Run
sudo ldconfig
Now Skype should open.
We can't open skype. You are already signed in on this computer. Please sign out and try again.
One will want to uninstall Skype, then remove the folder
~/.Skype/USERNAME
where USERNAME is your Skype username, then install Skype again.
Skype resets DSL modem
This has been reported to happen by people using Siemens Speedstream 4200 modem. Disabling UPnP in the modem seems to solve the problem (as posted in http://forum.skype.com/index.php?showtopic=113444).
Display configuration
Because Skype is a Qt application, Skype's typeface will appear very large on GNOME desktops. You can use either the kcontrol or the qt3-qtconfig package to configure the appearance of Skype and other KDE/QT applications. Of these two, the QT Configurator (qt3-qtconfig) has far fewer dependencies than kcontrol and may therefore be more convenient for people who mostly use non-KDE software. See also QtGnome for how to make Skype (and other Qt applications) look more like Gnome.
A quick fix, without installing any configuration packages at all, is to make a file qtrc in your $HOME/.qt directory, and put these two lines in it:
[General] font=Bitstream Vera Sans Mono,9,-1,5,50,0,0,0,0,0
You can start QT Configurator with the "qtconfig" command. On the "Fonts" tab, choosing Font Family Sans Serif and Point Size 10 will give something that resembles Ubuntu's GNOME desktop.
If you install the kcontrol package, you may run it by entering kcontrol into the Applications/Run Application... prompt. Expand the Appearance & Themes menu and select Fonts. Press Adjust All Fonts and select Size. Lower this value to your preference (size 10 or 11 is usually satisfactory). Press OK and Apply and exit the KDE Control Center.
Skype 4.1 is using QT4. The font can be configure with qtconfig-qt4.
640x480 Video Hack
640x480 video is not officially a Linux feature but it seems to work with the following modification.
Once Skype is working correctly for you, close it down completely and edit this file
<YOUR HOME DIRECTORY>/.Skype/<SKYPE_USERNAME>/config.xml
and add
<CaptureHeight>480</CaptureHeight>
<CaptureWidth>640</CaptureWidth>
inside this section
<Video>
</Video>
After that you should see outbound 640x480 video (it may take a minute or two to "warm up" it seems to gradually increase quality until it hits the limit).
Dual Core processor, etc (see Skype Windows high quality video hardware requirements) recommended.