Adobe Flash yang dipasang untuk Mozilla Firefox dan seluruh peramban yang mendukung NPAPI hanya versi 11.2. Untuk versi 14+ hanya dirilis dalam PepperFlash yang hanya didistribusikan di Google Chrome. PepperFlash menggunakan Pepper Plugins API (PPAPI), API yang dikembangkan oleh Google.

Untungnya ada Fresh Player Plugin. Fresh Player Plugin merupakan sebuah ekstensi NPAPI yang menjembatani penggunaan PepperFlash. Pengguna Mozilla jadi bisa menggunakan Adobe Flash terbaru.

Mari kita pasang!

Memasang Fresh Player Plugin

Saya menggunakan cara yang disebutkan oleh (Rinat Ibragimov, 2014). Namun ada beberapa yang saya tambahkan setelah saya melihat isi kode sumber Fresh Player Plugin.

Persiapan

Untuk Debian, Ubuntu, dan turunannya, jangan lupa memasang berkas-berkas pengembangan:

sudo apt-get install cmake pkg-config libasound2-dev liburiparser-dev \
     libglib2.0-dev libconfig-dev libpango1.0-dev libxinerama-dev \
     libegl1-mesa-dev libevent-dev libgtk+2.0-dev libgles2-mesa-dev

Untuk Gentoo, (B)LFS, dan yang lainnya, pastikan saja Mesa dikompilasi dengan OpenGL, EGL, dan GLES2.

Unduh Kode Sumber

Unduh berkas-berkas yang ada di GIT:

git clone https://github.com/i-rinat/freshplayerplugin.git
cd freshplayerplugin

Atau kalau tidak punya GIT bisa unduh langsung.

wget https://github.com/i-rinat/freshplayerplugin/archive/master.zip
unzip master.zip
cd freshplayerplugin-master

Saya asumsikan berikutnya Anda sudah masuk ke direktori kode sumber.

Mari Kompilasi

Konfigurasikan dan buat:

mkdir bangun && cd bangun
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j3

Sesuaikan “-j3” dengan 2n+1 jumlah prosesormu atau tidak usah pakai parameter tersebut. Parameter “-DCMAKE_BUILD_TYPE=RelWithDebInfo” akan mengompilasi ekstensi ini dengan informasi debug. Saya, sih, tidak pakai. Toh, saya tidak ingin menelusuri penggunaan ekstensi ini.

Pasang

Ekstensi ini cukup dipasang seperti memasang ekstensi Firefox lainnya. Ada dua berkas yang harus dipasang. Kalau mau dipasang di sistem sehingga pengguna lain juga bisa menggunakannya,

cara Debian:

sudo cp libfreshwrapper-nacl.so libfreshwrapper-nacl.so /usr/lib/firefox/plugins

cara Gentoo

sudo cp libfreshwrapper-nacl.so libfreshwrapper-nacl.so /usr/lib/nsplugins/plugins

Atau kalau untuk dipakai kalangan sendiri:

cp libfreshwrapper-nacl.so libfreshwrapper-nacl.so ~/.mozilla/plugins

Konfigurasi

Sebelum bisa menggunakan Pepper Flash, Fresh Player Plugin harus diarahkan ke tempat Pepper Flash berada. Berikut konfigurasi yang dibuat. Gunakan penyunting teks kesukaan Anda, kalau saya langsung di terminal.

cat > freshwrapper.conf << EOF
# Configuration options for FreshPlayerPlugin

# This configuration file is optional. Wrapper will search for it first
# in ~/.config/freshwrapper.conf, then in /etc/freshwrapper.conf.
# If wrapper fails to find configuration, it will use default values

# Audio buffer is used to continuously provide sound adapter with data.
# Values too low may lead to buffer underruns and stuttering. Values
# too high will lead to noticeable latency. Usually plugin selects size
# on its own, but you may override bounds here

# lower bound for audio buffer size, in milliseconds
audio_buffer_min_ms = 20

# higher bound of audio buffer size, in milliseconds
audio_buffer_max_ms = 500

# Xinerama screen used to acquire fullscreen window geometry
xinerama_screen = 0

# Path to the Pepper Flash plugin
pepperflash_path = "/opt/google/chrome/PepperFlash/libpepflashplayer.so"

# "Command-line" arguments for Flash
flash_command_line = "enable_hw_video_decode=1,enable_stagevideo_auto=1"

# experimental: enable 3d and stage 3d
exp_enable_3d = 0
EOF

Isi berkas ada di baris 2 s.d. 29. Berkas ini dapat dipasang,

global:

sudo cp freshwrapper.conf /etc

lokal:

cp freshwrapper.conf ~/.config

Jangan lupa mengganti “pepperflash_path” bila Anda menggunakan plugin yang berbeda. Misalnya pada Gentoo, Anda memasang “chrome-binary-plugins” yang ada di direktori berikut:

pepperflash_path = /usr/lib64/chromium-browser/PepperFlash/libpepflashplayer.so

Atau kalau Anda seperti saya mengambil langsung PepperFlash secara manual, Anda dapat mengubah jadi:

pepperflash_path = /usr/local/lib/PepperFlash/libpepflashplayer.so

Terakhir

Matikan Flash Player yang disediakan untuk Mozilla (11.2). Cukup gunakan versi yang dari Fresh Player Plugin (14.0). Muat ulang Firefox dan silakan bersenang-senang! 🙂

Latar Belakang Masalah Adobe Flash

Salah satu motto saya untuk membuat sistem tidak hancur adalah dengan meniadakan Adobe Flash dari komputer. Bayangkan, masakkan memori 16GB tidaklah cukup dan sering kali sistem berhenti berespons. Namun, ada beberapa alasan untuk mengapa harus menggunakan Flash:

  1. Beberapa situs gagal berfungsi, misalnya Albino Black Sheep.
  2. Banyak video Youtube yang tidak menawarkan resolusi di atas 360p, terutama yutuber Indonesia. Mereka mengunggah tanpa mempersiapkan video HTML5 dengan resolusi tinggi. Padahal, saya menggunakan monitor 44″. Saya harus menggunakan Flash untuk melihat resolusi tinggi.
  3. Kalau saya mau, memang tidak boleh?

Hal ini diperparah dengan Adobe hanya merilis versi 11.2 untuk GNU/Linux. Adobe bilang versi ini hanya akan ditambal bila ada celah keamanan. Jadi, tidak ada tambahan performa atau fitur baru. Kalau mau, harus menggunakan Adobe Pepper Flash. Sayangnya, Pepper Plugins API (PPAPI) yang dipakai Adobe Pepper Flash hanya ada di Chromium dan turunannya.

Mozilla menolak untuk menggunakan PPAPI. Menurut (Robert O'Callahan, 2010), PPAPI adalah sebuah duplikasi API yang sudah ada dalam Web API. Web API adalah standar terbuka yang seharusnya diimplementasi oleh seluruh peramban.

Terkesan seperti NIH Syndrome. Tapi ada alasan bagus mengapa Mozilla masih menolak PPAPI. Salah satunya adalah karena API yang ditawarkan masih berubah-ubah. API yang volatil ini mengakibatkan peramban alternatif harus berusaha mengejar implementasi terbaru.

Bukan Sekedar Firefox

Mungkin untuk gampangnya, saya bisa saja menggunakan Chromium dan turunannya seperti Google Chrome dan Opera Developer saja. Mereka yang didukung oleh Adobe secara resmi. Namun, ada alasan teknis selain filosofis mengapa tetap Firefox.

Kalau secara filosofis, Mozilla sebagai pemegang Firefox berkomitmen terhadap jejaring yang terbuka (open web). Kita tentunya tidak ingin di masa depan konten dan bagaimana konten dapat diakses dimonopoli oleh sekelompok korporasi. Hal ini akan menurunkan derajat kemanusiaan.

Tentu bagi Anda yang pragmatis tentu tidak begitu memperhatikan filosofi ini. Namun, salah satu keunggulan Mozilla Firefox adalah keterbukaan. Dengan keunggulan ini, ia dikompilasi untuk menggunakan pustaka sistem. Dengan demikian, pustakanya akan selalu terjaga dan bagus, tidak menggunakan versi yang lawas.

Saya menggunakan GNU/Linux Gentoo yang selalu terbaharui. Beberapa situs favorit saya menggunakan karakter huruf Asia Timur. Situs seperti Daum Naver dan Nico-nico Douga juga salah satunya. Dan percaya atau tidak, blog-blog berbahasa Mandarin menyediakan informasi jauh lebih lengkap mengenai kompilasi optimal sistem berprosesor MSM7230 misalnya.

Saya juga kebetulan anak baik, saya takkan mengunjungi situs Rusia mengenai Haxx0r. Tapi, Cyrillic sangat dibutuhkan juga untuk mengerti di mana tombol mengunduh plugin OSS4 misalnya. Ya, intinya dukungan Internasionalisasi jauh lebih bagus di Firefox daripada peramban-peramban Chromium.

Seperti yang Anda lihat pada gambar, Google Chrome saya dapat menampilkan Hangul setelah saya:

  1. Memasang fonta Baemuk.
  2. Memasang ekstensi Chrome Advanced Font Settings.
  3. Menyalakan kembali peramban.

Opera Developer belum mendukung internasionalisasi sama sekali. Di gambar ini terlihat Firefox langsung bisa mendukung karakter Hangul. Ini makanya saya lebih memilih menggunakan Firefox.

Daftar Pustaka

Rinat Ibragimov (2014, July 30). ppapi2npapi compatibility layer. GitHub. Retrieved July 08, 2014 from GitHub: https://github.com/i-rinat/freshplayerplugin.^
Robert O'Callahan (2010, April 30). Thoughts on Pepper. mailman at mozilla. Retrieved July 08, 2014 from mailman at mozilla: https://mail.mozilla.org/pipermail/plugin-futures/2010-April/000088.html.^