Video della webcam verde con Skype per Linux su Ubuntu

Aggiornamento: guida ancora valida per Ubuntu 9.04, Jaunty Jackalope e Ubuntu 9.10 Karmic Koala.

Scenario

La mia compagna è partita per uno stage e per mantenerci in contatto utilizziamo entrambi Skype.

Purtroppo, sin dal primo tentativo di effettuare una videochiamata, la mia webcam mostrava una laconica schermata verde. Questo ovviamente faceva adirare non poco la mia ragazza impossibilitata dal vedermi, maledicendo ogni forma di Linux. Che poi, dico io, come si fa a non amarlo il pinguino anche se ti fa arrabbiare!

skype_video_verde

Bestemmie a parte, ho tentato di vederci chiaro e sono arrivato alla radice del problema trovando una soluzione che mi permettesse di non essere lasciato in tronco.

Inoltre sarebbe stato difficile spiegare agli amici di essere stato abbandonato a causa di un bug di Ubuntu, anche se con una storia del genere finirei sicuramente in homepage su Digg

Il bandolo della matassa

In realtà tutto è ricollegato al modo in cui è cambiata la gestione delle webcam con il kernel fornito in Ubuntu Intrepid, esattamente il 2.6.27.

Come spiega Hans de Goede sul suo blog, la maggior parte delle cam supportate dal nuovo driver gspca usano una compressione per i dati basata su una varietà di algoritmi proprietari, che nessuna applicazione nativamente sa come gestire. Il vecchio driver risolveva il problema operando una conversione di formato all’interno del kernel, ma questa caratteristica è stata rimossa nella nuova versione in quanto ritenuta una soluzione potenzialmente pericolosa e non elegante.

Lo stesso Hans dunque si è rimboccato le maniche partorendo libv4l che ristabilisce l’ordine naturale delle cose.

Come fare

Purtroppo il pacchetto distribuito sul sito ufficiale di skype non è stato patchato per usare tale libreria, per cui è necessario un workaround al fine di evitare che gli utilizzatori di Linux sparsi per tutto il mondo rimangano tristemente single.

Su Ubuntu Intrepid è necessario innanzitutto installare, se già non presente, libv4l o lib32v4l ( amd64) e assicurarsi di aver prima rimosso qualsiasi precedente versione.

Il repository di Stéphane Marguet contiene una versione fresca fresca di impacchettazione, per tutte le altre distribuzioni rivolgersi al proprio spacciatore di pacchetti di fiducia o compilare da sorgente.

Il consiglio è quello di aggiungere il repository, installare o aggiornare solo libv4l e poi commentare la riga corrispondente nel sources.list per evitare che vengano coinvolti altri pacchetti nell’aggiornamento. Non inserisco il link diretto perché il software è in continua evoluzione.

Adesso è necessario procurarsi skype dai repository Medibuntu, che stando a quanto recita il changelog integra l’hack necessario al corretto funzionamento della webcam

skype (2.0.0.72-0medibuntu4) intrepid; urgency=low

* Add a hack for libv4l (LP: #260918):
- debian/skype.wrapper.in, debian/rules: rename the orig skype binary and
add a wrapper to call it with LD_PRELOAD
- debian/control: depends on lib32v4l-0 [amd64], libv4l-0 [!amd64].

-- Lionel Le Folgoc <mrpouit@ubuntu.com> Fri, 17 Oct 2008 20:25:47 +0200

ed il gioco è fatto!

L’alternativa

Se non doveste aver successo, disinstallate questa versione e installate quella del sito ufficiale e provate a far partire il programma con la seguente sintassi

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

verificando poi il funzionamento della webcam. Se tutto è andato a buon fine, allora possiamo creare un piccolo script che ci permetta di evitare di scrivere manualmente la stringa di cui sopra.

I comandi da lanciare in sequenza sono

cd /usr/bin

sudo mv skype skype.real

gksudo gedit skype

Si aprirà la finestra di Gedit, all’interno della quale dovremo incollare

#!/bin/sh

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype.real "$@"

Salviamo e rendiamo eseguibile il tutto

sudo chmod +x skype

testiamo il tutto ancora una volta, stavolta usando il normale collegamento nel menu.

L’ho scampata bella

Adesso con la mia compagna va tutto liscio, niente più litigi e la qualità della vita è migliorata sensibilmente.

skype_funziona

Per caso qualcuno ha anche una patch per sistemare i grossi bachi presenti nel sistema chiamato donna?

55 pensieri riguardo “Video della webcam verde con Skype per Linux su Ubuntu”

  1. PHP

    Quando ho aggiornato a Intrepid ho avuto ovviamente anch’io questo problema. Se non ricordo male, risolsi aggiungendo semplicemente questo repo:
    ## Repo per bug Video4Linux
    deb http://ppa.launchpad.net/lool/ubuntu intrepid main

    e aggiornando, senza ulteriori modifiche. :)

  2. Mozilla Firefox 3.0.5 Ubuntu Linux

    Ciao, posso chiederti che webcam hai?
    Io ho questa: ID 041e:4068 Creative Technology, Ltd WebCam Live! Notebook
    ed avevo risolto il problema utilizzando questi driver: http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page
    che però hanno due grossi problemi:
    * non sono piu’ attivamente sviluppati
    * fanno funzionare si Skype, ma poi ad esempio non funziona piu’ Cheese o altri programmi.
    Vorrei tornare ai vecchi driver… se Skype dovesse funzionare bene, non ho modo di usare quelli di rastageek.

  3. Mozilla Firefox 3.0.5 Ubuntu Linux

    @Aldo
    Purtroppo per me la versione presente in quel repository provata qualche mese fa non funzionò, probabilmente perché ancora libv4l non supportava la mia webcam e con l’ultima 0.5.8 le cose sono cambiate.

    @Garret
    No, uso una normale cuffia con microfono attaccata con jack al portatile

    @r.
    Ammazza che pessimismo, pure la backdoor :D Va bene che si è sempre sospettato che skype abbia qualcosa del genere per intercettare le telefonate, ma fino ad adesso non ho nulla da nascondere ^_^
    In ogni caso, sebbene anche io preferisca utilizzare software open, il famoso effetto rete costringe me e la mia ragazza ad usare skype.

  4. Mozilla Firefox 3.0.5 Ubuntu Linux

    @Andrea
    Ciao Andrea,
    da quel che leggo sul wiki che hai linkato, probabilmente skype funziona perché l’ultima versione dei driver opera quella conversione di cui parlo nel post utilizzando una propria implementazione, senza passare dal kernel, e bypassando libv4l.

    E’ quindi probabile che sia questo il motivo per il quale le nuove applicazioni patchate per funzionare con libv4l non vanno.
    Prova ad utilizzare la procedura nel post con gli altri driver ai quali accenni ed incrocia le dita ;)

  5. Mozilla Firefox 3.0.5 Windows XP

    @serverless
    “fino ad adesso non ho nulla da nascondere ^_^”

    Allora spedisci mail mettendo in copia tutti i tuoi contatti, tanto, non hai nente da nascodere, giusto?

    “il famoso effetto rete costringe me e la mia ragazza ad usare skype.”
    tu, io , noi SIAMO la rete. Se non usi, non diffondi l’uso. Installa ed usa, e il resto verra’ da se’.
    Io uso skype MA MANCHE altro openwengo, e sto lentamente, con fatica, ma di riesco, a migrare i miei contatti a openwengo.

  6. Mozilla Firefox 3.0.5 Ubuntu Linux

    @r.
    La mia era chiaramente una battuta. -.-‘

    In ogni caso penso che il software open possiede una netta superiorità in questo ambito grazie al codice aperto, ne ho parlato più volte anche su questo blog soprattutto per quanto riguarda la PA, ma non cambia nulla nel momento in cui tu hai affidato qualsiasi tipo di dato ad una entità esterna a te (non dirmi che hai il tuo server di posta personale attaccato ad una connessione collegata direttamente alla dorsale oceanica e che passa esclusivamente da router con firmware open gestiti da entità no profit di assouluta integrità. Perché se fosse così ti pago fior di quattrini per uno spazietto :D). La privacy è un’illusione, la sicurezza dei dati invece si può ancora raggiungere con buoni margini.

    Inoltre, se fosse così semplice scardinare l’effetto rete creato da milioni di utenti in tutto il mondo non esisterebbe esso stesso e non staremmo nemmeno qui a parlarne :D

  7. Internet Explorer 7.0 Windows XP

    >>Per caso qualcuno ha anche una patch per sistemare i grossi bachi presenti nel sistema chiamato donna?<<

    La donna non è un sistema, ma un universo, forse per te oscuro perchè non servono patch per farlo funzionare, ma solo cervello e cuore. Prova ad usarli, se ci riesci, e otterrai notevoli miglioramenti.

  8. Mozilla Firefox 3.0.5 Ubuntu Linux

    Ciao,
    uso ubuntu 8.10 da qualche settimana e non sono molto pratico.
    Sono nella tua stessa situazione solo che sono io che sono andato lontano e la mia ragazza è a casa!!

    Ho una webcam microsoft vx3000 che stando a questo sito http://mxhaard.free.fr/spca5xx.html dovrebbe funzionare senza problemi.

    MicroSoft 229 0x045e 0x00F5 VX3000 sn9c105r OV7660 Yes Jpeg gspcav1

    Lsusb:
    Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 004: ID 045e:00f5 Microsoft Corp. LifeCam VX-3000.
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

    Il problema è che con aMSN funziona il video ma non il microfono. Con skype, nonostante ho seguito per filo e per segno i tuoi consigli continuo a vedere lo schermo verde e non ho il microfono. Camorama si impalla con un Unable to capture image.

    Prima di arrivare sulla tua pagina ho “pastrugnato” e può essere che ho incasinato qualcosa. Hai qualche consiglio?

    Grazie
    Yuri

  9. Safari 528.16 Mac OS X 10.5.6

    Innanzitutto grazie per il tuo post che mi ha permesso di risolvere un problema identico al tuo in pochi minuti.
    Conoscevo il problema per averci già avuto a che fare e aver utilizzato il rimedio trovato su launchpad, tuttavia nuovo era l’approccio con questo elegante script.

    Ho però dovuto aggiungerci del mio poiché, dopo aver fatto le modifiche allo script di avvio come suggerivi, al successivo riavvio Skype mi dava un messaggio di errore del tipo “operazione non con consentita!.

    Aver mantenuto copia del vecchio file mi ha consentito di fare un ls -l skype* e confrontare l’ottetto dei permessi dei due file ed individuare subito il problema nella mancanza del primo bit, quello necessario ad “eseguire” lo script.
    Il mio script file nuovo non era quindi in grado di essere eseguito se non dall’utente root.
    sudo chmod 755 skype seguito da invio ha rimesso tutto quanto a posto.

    Spero che questa precisazione possa essere utile a qualcuno.

    Ancora ringraziamenti per l’ottima dritta!

  10. Mozilla Firefox 3.0.7 Ubuntu Linux

    grande!
    ho letto almeno un paio di guide per risolvere il problema, ma la tua era la più chiara… 5 minuti e la mia webcam è tornata al lavoro

  11. Mozilla Firefox 3.0.9 Ubuntu Linux

    Avevo lo stesso problema sulla mia Jaunty appena installata, ma usando il tuo comando alternativo con uno script ho risolto tutto! Grazie, mi hai salvato XD

  12. Mozilla Firefox 3.0.10 Ubuntu Linux

    grandissimo =) risolto anche io con il tuo script (meno sbatti piu’ soddisfatti X°D) però ho dovuto modificare come “Gran Maestro” i privilegi del file,altrimenti non partiva skype, avendo però impostato subito con 777.. l’ho poi modificato con 755 ;). andato tutto alla perfezione!
    mitttico! =) e grazie mille!!!!
    ciaooooooooo!

  13. Mozilla Firefox 3.0.11 Ubuntu Linux

    buon giorno a tutti
    Usando il comando spiegato da serverless:LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype …. la cam effettivamente funziona, si verifica però un problema se provo a compilare lo script non avviando Skype da applicazioni di Ubuntu (9.04).
    Dovendo quindi disinstallare e installare nuovamente Skype.
    Ho letto il post di gran maestro purtroppo non sono un gran esperto non capendolo, se ci fosse qualcuno in grado di darmi un aiuto ne sarei veramente grato.
    Eventualmente anche qui deili79@hotmail.it
    A presto

  14. Mozilla Firefox 3.0.14 Ubuntu Linux

    ciao, ho bisogno di una mano, ho seguito la tua guida, la cam su skype lanciato da terminale con LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype funziona
    tuttavia non riesco a modificare l’eseguibile… ora mi dice “Esecuzione del processo figlio “skype” non riuscita (Permesso negato)”

    ho jaunty e skype è il 2.1 (beta)…

    grazie per l’aiuto.

  15. Google Chrome 4.0.222.6

    ho lo stesso problema di Alessio,, risolvo il problema video con LD-PRELOAD….. ma non riesco ad impostare l’eseguibile,, forse sbaglio nel salvare la finestra gedit???

    1. Google Chrome 4.0.223.6 Linux

      alsi1974 e Alessio, provate da terminale a lanciare:

      sudo chmod 755 skype

      per impostare i permessi di esecuzione anche per l’utente non amministratore.

  16. Mozilla Firefox 3.5.4 Ubuntu Linux

    anche su karmik ho avuto lo stesso problema, risolto con LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype.real “$@”
    io specificherei nella guida che bisogna dopo salvato e chiuso il file che bisogna dare i permessi con chmod +x skype
    ciao!

  17. Mozilla 1.9.1.5pre Ubuntu Linux

    Ciao io uso Karmic con il kernel 2.6.32 e con la tua guida ha reso instabile il sistema. ho dovuto cancellare il file Skype creato in usr/bin e ho dovuto reinstallare skype, scaricato dai repository medibuntu.
    lib32v4l, si chiama lib32v4l-0.
    Ho agginto la versione sviluppo e pare funzionare.
    Ora riavvio il sistema e ti farò sapere.

    1. Mozilla 1.9.1.6pre Ubuntu Linux

      Rettifico il mio post precedente,con il Kernel appena scaricato skype non ha nessun problema di webcam,almeno la mia ;)
      Il kernel è il 2.6.32-3-generic.
      Ciao.

      1. Mozilla Firefox 3.5.5 Ubuntu Linux

        Mi spieghi per favore passo per passo come hai fatto? Sono un po’ ignorantello in campo però ho bisogno della webcam.. Grazie in anticipo..

      2. Mozilla 1.9.1.8pre Ubuntu Linux

        Aggiorno…con ilkernel 2.6.33rc1, la webcam non funziona solo se il programma si avvia all’avvio del sistema.Altrimenti funziona benissimo.
        Non è un grosso problema.Ciao

  18. Mozilla Firefox 3.0.16 Ubuntu Linux

    casino. sono in palla totale, il video rimane verdissimo e scurissimo…su intrepid, butto la webcam, una trust economica?

    utente-io:~$ lsusb
    Bus 004 Device 003: ID 093a:2460 Pixart Imaging, Inc. Q-TEC WEBCAM 100

  19. Mozilla Firefox 3.5.7 Ubuntu Linux

    Grazie 1000,
    di tutto quello che avevo provato questa soluzione è stata la più chiara, semplice e l’unica risolutiva del mio problema.
    Ottimo lavoro!

  20. Opera 9.80 Linux

    grazie mille, uso karmic e ho risolto aggiungendo col metodo alternativo, ti ringrazio molto.
    per quanto riguarda il sistema donne credo che il baco più grande che abbiano (o abbiamo) da risolvere sia il ‘cazzcàgament’, risolto quello l’umanità intera avrà fatto passi da gigante.
    Saluti e ancora grazie.

  21. Mozilla Firefox 3.0.18 Ubuntu Linux

    Grazie Mille per l’aiuto!!!!!!!!!!
    Una guida semplice semplice ma perfetta!!!!!!!

    Buon lavoro a tutti!!!!!!

  22. Mozilla Firefox 3.6.2 Linux

    Ho risolto anche io, grazie al comando “LD…etc”.
    Adattando un po il tutto alla mia Sabayon….Grazie!!

  23. Google Chrome 5.0.375.55 Linux

    grande guida!funziona!ma la stessa guida sarebbe possibile x amsn? se si basta sostituire la paolra skype con amsn?

  24. Mozilla Firefox 3.6.8 Ubuntu Linux

    Ciao grazie mille, ora riesco ad usare la webcam su skype con Ubuntu!!! Ottimo lavoro, continua così! =)

  25. Google Chrome 26.0.1410.64 Windows XP

    fino a ieri con skype potevo effettuare le video chiamate, oggi skype non rileva la presenza di una webcam, cosa posso fare? (la mia cam è microsoft lifecam vx – 3000 # 11) grz.

Rispondi