mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-14 21:56:41 +01:00
115 lines
5.2 KiB
Text
115 lines
5.2 KiB
Text
Skype and camera issues
|
|
-----------------------
|
|
It has been pointed out by a lot of users that Skype has problems with
|
|
some cameras, in most cases this leads to green screen or no video at
|
|
all. This happens because V4L API (legacy) has been dropped from newer
|
|
kernels, and pixel format decoding has been pushed to user space.
|
|
Moreover, V4L2 does not support kernel space decoding. Since Skype
|
|
supports only V4L, easiest way to get it working is to preload it with
|
|
V4L compatibility library, and call Skype like this:
|
|
|
|
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype
|
|
|
|
If you are still having problems, try adding the following as well:
|
|
|
|
XLIB_SKIP_ARGB_VISUALS=1
|
|
|
|
Included with this package is an alternative desktop file modified to
|
|
include those variables. For easy use, just copy it to your home
|
|
directory:
|
|
|
|
cp /usr/doc/skype-4.3.0.37/skype-alternative.desktop \
|
|
~/.local/share/applications
|
|
|
|
Skype and pulseaudio dependencies
|
|
---------------------------------
|
|
With the introduction of Skype 4.3 series, all built-in ALSA support
|
|
has been completely removed. What this means is that we now have one
|
|
more dependency to deal with, and for 64bit Slackware users this makes
|
|
things even more complex, because they have to build 32bit counterparts
|
|
and use convertpkg script to make them installable on their systems.
|
|
At the time of writing this, pulseaudio also requires json-c and speex
|
|
dependencies, so if you are on a 32bit system, it should be enough to
|
|
build these and installpkg them.
|
|
For a 64bit setup, you will have to build all three dependencies, and
|
|
in the end you will end up with a total of six packages, three for each
|
|
platform. To do this, you will obviously need multilib packages from
|
|
Eric Hameleers, so make sure you check README that comes with them.
|
|
After 32bit packages are built, convert them like this:
|
|
|
|
convertpkg-compat32 -i json-c-0.11-i486-1_SBo.tgz -e tgz
|
|
convertpkg-compat32 -i speex-1.2rc1-i486-3_SBo.tgz -e tgz
|
|
convertpkg-compat32 -i pulseaudio-5.0-i486-1_SBo.tgz -e tgz
|
|
|
|
And installpkg resulting packages as usual.
|
|
|
|
Skype and pulseaudio dependencies (addendum)
|
|
--------------------------------------------
|
|
It turns out, all of the above can be skipped by using apulse to wrap
|
|
around Skype binary. Naturally, for 64bit users this makes things a bit
|
|
harder, and a 32bit apulse compat32 package is required instead. In any
|
|
case, it's still a bit cleaner then having a whole pulseaudio installed
|
|
and interfering with the rest of the system, and only to serve Skype.
|
|
Find apulse SlackBuild at the usual awesome place, the slackbuilds.org
|
|
Website. Thanks goes to Andrzej Telszewski for pointing it out!
|
|
|
|
Skype with a grain of salt
|
|
--------------------------
|
|
Running binary-only applications might give open source literate people
|
|
a certain dose of unease. Even more so when this application runs at
|
|
computer start up, has constant outbound network access, becomes a
|
|
super node when open ports from the internet are detected, effectively
|
|
accepting random connections from other users on the internet. If you
|
|
are not scared enough already, think about access to your sound card,
|
|
camera, and precious files after reading the above!
|
|
Sure, some will argue that privacy is a thing of the past, and not to
|
|
run such applications if you don't want to, but sometimes you simply
|
|
don't have a choice. Whether it's your long distance family members or
|
|
coworkers and friends, price is the same, you are left with an ugly
|
|
written app (just look at that 64bit support) that is probably full of
|
|
horrible holes, intentional or not (really :^)
|
|
While safest thing, of course, is to avoid using it, and probably turn
|
|
off your computer for good, right before you put on that tin foil hat
|
|
or bury your head in a hole somewhere, we wont be exploring those
|
|
options in this awesome README!
|
|
Instead, we will start from the obvious, firewall unused ports on your
|
|
computer, in most cases it's fine to close them all down. Next in line
|
|
are also obvious things, if you do not trust that little light on your
|
|
camera, unplug it when your haircut is not presentable to the world.
|
|
Same goes for your microphone, and if it's an integrated one, take it
|
|
from the pro's in the police department that use adhesive tape to cover
|
|
it up :-)
|
|
Now that manual labor is out the way, we come to a much more fun part,
|
|
protecting your precious files in $HOME. For this we take advantage of
|
|
multi-user environment, and simply run Skype under another user with
|
|
basic access. Without further ado, create another user and group with:
|
|
|
|
groupadd -g 666 spyke
|
|
useradd -u 666 -d /home/spyke -m -s /bin/bash -g spyke spyke
|
|
|
|
Optionally give this user access to hardware:
|
|
|
|
usermod -G audio,video,pulse -a spyke
|
|
|
|
If you previously had Skype set-up that you wish to keep, move it with:
|
|
|
|
cp -a $HOME/.Skype /home/spyke
|
|
chown -R spyke:spyke /home/spyke/.Skype
|
|
|
|
Allow group execution:
|
|
|
|
echo "%spyke ALL=(spyke) NOPASSWD: /usr/bin/skype" \
|
|
>> /etc/sudoers.d/66_spyke
|
|
|
|
Add your user to this new group:
|
|
|
|
usermod -G spyke -a USERNAME
|
|
|
|
Finally, run it like this:
|
|
|
|
xhost +local: \
|
|
&& sudo -u spyke /usr/bin/skype
|
|
|
|
Attention, due to lack of goofiness in this README, anagrams were used
|
|
to fill that void. Together with some number crafting, level of Slack
|
|
has peaked, and the trumpets were blown.
|