Firefox, Linux e Flash Player

Adobe_Flash_Player_v10_icon

Da qualche tempo, chi usa Firefox su Linux è relegato alla versione 11.2 di Flash Player che risale, aggiornamenti di sicurezza a parte (in questo momento la versione corrente è la 11.2.202.559), ormai a qualche anno fa. La versione corrente di Flash Player su Windows e Mac OS X, nel frattempo, è arrivata alla 20.0.0.228. Non sembra un gran problema: Firefox su Linux continuerà ad usare Flash Player versione 11.2 (cui Adobe continua comunque a garantire gli aggiornamenti di sicurezza) e via.

Senonché ci sono alcuni siti mainstream, tra cui il molto popolare Repubblica Tv, che funzionano solo con le versioni più recenti di Flash Player:

RepubblicaTv

Ecco che, al posto del video che si vorrebbe visualizzare, compare un avviso che ci informa dell’obsolescenza del nostro Flash Player e ci invita a scaricare l’ultima versione dal sito di Adobe. Peccato che l’ultima versione disponibile è, e sempre sarà, la 11.2.

Google Chrome è una soluzione

Benché in rapido declino grazie ad HTML5 e soci, l’utilizzo di Flash Player nell’ambito dei siti che distribuiscono contenuti multimediali è tuttora elevatissimo, e decidere di farne a meno (come, a suo tempo, fece Steve Jobs per il sistema operativo iOS) o rimanere ancorati ad una versione obsoleta è una decisione che può comportare grandi disagi per i propri utenti.

Per questo motivo Google, grazie ad un accordo bilaterale con Adobe, fornisce agli utenti Linux del suo browser Chrome l’ultima versione di Flash Player (la stessa disponibile per Windows e Mac OS X) producendola in proprio e includendola direttamente nel pacchetto di installazione di Google Chrome. D’altra parte Linux è anche la base del sistema operativo dei Chrombook, quindi è facile capire come Google abbia ritenuto di non privare i suoi gioiellini basati sul cloud di una componente multimediale ancora così importante.

Provare per credere: aprendo il sito di Repubblica Tv con Chrome su Linux tutti i video vengono visualizzati correttamente e, cliccando con il tasto destro del mouse sul video, si vede chiaramente che la versione di Flash Player utilizzata è una delle più recenti.
[Per i più curiosi, il file del plugin utilizzato da Google Chrome è /opt/google/chrome/PepperFlash/libpepflashplayer.so che viene aggiornato automaticamente ogni qual volta si aggiorna lo stesso Google Chrome.]

E per chi vuole continuare ad usare Firefox?

Per quelli che vogliono continuare ad usare Firefox sul proprio PC Linux, categoria alla quale mi ascrivo anche io, ovviamente passare a Chrome non può essere la soluzione. Come si può fare, dunque, per continuare ad usare Firefox?

Prima di tutto occorre far notare che il plugin libpepflashplayer.so di Chrome non può essere usato direttamente da Firefox. Questo perché Firefox e Chrome utilizzano API diverse per i loro plugin: Firefox utilizza la vecchia NPAPI (Netscape Plugin API, sviluppata per l’ormai trapassato browser da cui Firefox trasse origine); Chrome utilizza la più nuova e sicura PPAPI (Pepper Plugin API, sviluppata in proprio in casa Google).
[Fino a settembre 2015 Chrome supportava sia i plugin PPAPI che quelli NPAPI, mentre Firefox ha sempre e solo supportato i plugin NPAPI. Attualmente Chrome supporta solo i plugin PPAPI, perché considera quelli NPAPI intrinsecamente insicuri. A sua volta, Mozilla ha fatto sapere che, per ora, non intende aggiungere a Firefox alcun supporto ai plugin PPAPI (anche se in linea di principio potrebbe farlo, visto che le specifiche di PPAPI sono di pubblico dominio) e quindi, tirando le somme, la situazione corrente è questa: i plugin per Chrome e Firefox sono reciprocamente incompatibili.]

A porre rimedio a questa situazione ci ha pensato uno sviluppatore indipendente, il russo Rinat Ibragimov, che ha tirato fuori freshplayerplugin: l’uovo di Colombo! In pratica, si tratta di un plugin per Firefox, quindi conforme alla NPAPI, che funge da wrapper per il plugin libpepflashplayer.so di Chrome. Per poter funzionare ha bisogno di una copia del plugin di Chrome installata sul computer (e il modo più semplice per averlo è installare per intero Google Chrome) e il gioco è fatto.

I dettagli

Ma vediamo di scendere nei dettagli e descrivere l’intera procedura che porta ad avere Firefox su Linux con l’ultima versione di Flash Player:

  1. prima di tutto, occorre aver installato Google Chrome in quanto, come già detto, freshplayerplugin fa uso del plugin libpepflashplayer.so di Google Chrome;
  2. successivamente, siccome non esiste ancora un pacchetto precompilato, occorre scaricare i sorgenti di freshplayerplugin con git:
    $ git clone https://github.com/i-rinat/freshplayerplugin.git
  3. … e poi compilarlo seguendo pedissequamente le istruzioni del file README.md.
    [Consiglio fortemente, prima di compilare, di installare anche il pacchetto opzionale libpulse-dev in modo da aggiungere il supporto al server PulseAudio;]
  4. a compilazione avvenuta, occorre copiare il file libfreshwrapper-flashplayer.so nella sua destinazione finale (che può essere ~/.mozilla/plugins per una installazione personale, oppure /usr/lib/mozilla/plugins per un’installazione di sistema);
  5. si deve anche disinstallare Flash Player 11.2, in modo da evitare conflitti tra le due versioni. Io, su Ubuntu 14.04, l’ho fatto con il comando
    $ sudo apt-get remove flashplugin-installer
    , ma ogni distribuzione ha il proprio modo;
  6. infine: rilanciare Firefox.

Se tutto è stato eseguito come si deve, nella schermata dei plugin di Firefox comparirà una ed una sola istanza del plugin Shockwave Flash.
[Per visualizzare la schermata dei plugin di Firefox, inserisci la stringa about:addons nella barra degli indirizzi e poi premi Invio.]

A questo punto, freshplayerplugin dovrebbe essere riconosciuto e funzionante, come si può verificare andando su https://www.adobe.com/it/software/flash/about/:

Firefox screenshot

PS: su una macchina virtuale VirtualBox con Ubuntu 14.04 ho riscontrato il problema, descritto su https://github.com/i-rinat/freshplayerplugin/blob/master/doc/known-issues.md#black-screen-with-sound-only, che il video non veniva visualizzato, mentre l’audio funzionava correttamente. Come suggerito, ho creato il file ~/.config/freshwrapper.conf e vi ho inserito la linea enable_3d = 0 (disabilitando l’accelerazione 3D) ed ho risolto.

Advertisements

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...