Google Chrome 88 (dan yang lebih baru) membuat decoding video yang dipercepat perangkat keras tersedia di Linux, tetapi tidak diaktifkan secara default. Namun, Google Chrome bukan satu-satunya browser web berbasis Chromium yang mendukung akselerasi perangkat keras di Linux. Artikel ini menjelaskan cara mengaktifkan decoding video yang dipercepat perangkat keras di browser web Google Chrome, Brave, Vivaldi, dan Opera yang berjalan di Debian, Ubuntu, Pop! _OS, atau Linux Mint (khusus Xorg).
Menggunakan decoding video yang dipercepat perangkat keras di browser web Anda akan menghasilkan lebih sedikit penggunaan CPU (dan karenanya lebih sedikit menguras baterai) saat memutar video online.
Perlu dicatat bahwa browser web Chromium memiliki tambalan yang memungkinkan decoding video yang dipercepat perangkat keras tersedia di Linux untuk beberapa waktu, dan beberapa distribusi Linux telah mengemasnya dengan tambalan ini. Jadi pengguna Chromium telah memiliki akselerasi perangkat keras di Linux untuk beberapa waktu, tergantung pada distribusi Linux mereka atau jika mereka menginstal Chromium yang ditambal dengan cara lain. Misalnya, di bawah Ubuntu / Linux Mint ada PPA dengan build Chromium yang ditambal VA-API. Oleh karena itu, petunjuk ini juga dapat berfungsi untuk browser Chromium, bergantung pada strukturnya.
Saya juga ingin menambahkan bahwa petunjuk tentang cara mengaktifkan decoding video yang dipercepat perangkat keras ini juga berfungsi pada distribusi Linux lainnya, bukan hanya distribusi Linux berbasis Debian / Ubuntu, tetapi nama drivernya berbeda.
Saya menguji instruksi ini dengan desktop Ubuntu 20.10 dengan grafik Nvidia dan menginstal browser web yang tercantum di bawah ini dengan kemasan Ubuntu asli mereka (dengan paket DEB). Juga diuji dengan laptop dengan grafis Intel (generasi ke-10) di bawah Ubuntu 20.04 dan 20.10. Saya tidak memiliki perangkat grafis AMD untuk mengujinya.
Dalam pengujian saya, saya bisa mendapatkan decoding video yang dipercepat perangkat keras untuk bekerja di Linux dengan:
- Google Chrome stabil 88
- Brave stable 1,19
- Snapshot Vivaldi 3.6 / [Sunting] Vivaldi Stable 3.6 terbaru juga berfungsi
- Opera Beta 74
Jelas, ini harus tetap berfungsi dengan versi yang lebih baru (yaitu Google Chrome 89, Brave 1.20, dll.).
Bagi saya, Penguraian kode video yang dipercepat perangkat keras tidak berfungsi dengan:
Vivaldi stabil 3.5. Vivaldi Stable sekarang adalah versi 36 dan memiliki decoding video yang dipercepat perangkat keras yang berfungsi- Opera stabil 73
- Microsoft Edge – bahkan tidak ada
chrome://flags/#enable-accelerated-video-decode
Tandai (untuk mengaktifkan decoding video yang dipercepat perangkat keras).
Anda dapat menggunakan VA API di XWayland dengan menggunakan --use-gl=egl
Bendera baris perintah, tetapi saya belum mencoba . Dimulai dengan Google Chrome 91 (dan browser berbasis Chromium 91 lainnya), Anda juga memerlukan --enable-features=VaapiVideoDecoder
Tandai.
[[Edit]]Saya mencoba mengikuti petunjuk di bawah, lalu menggunakan browser dengan --use-gl=egl
Tandai di Wayland, bekerja pada laptop dengan grafis Intel dan pemutaran video yang dipercepat perangkat keras. Namun, video di laptop ini tersentak-sentak dengan pengaturan ini. Jadi dalam hal ini saya lebih suka menggunakan pemutaran video yang dipercepat perangkat keras Firefox (di mana saat menggunakan Wayland dan Firefox di laptop yang sama, pemutaran video lancar, tetapi penggunaan CPU lebih tinggi daripada saat menggunakan browser berbasis Chromium).
Cara mengaktifkan decoding video yang dipercepat perangkat keras di browser web Google Chrome, Brave, Vivaldi, dan Opera di Debian, Ubuntu, atau Linux Mint (X11)
Hal-hal yang Anda perlukan untuk mengaktifkan decoding video yang dipercepat perangkat keras di browser web yang disebutkan di atas (yaitu Google Chrome 88+, Brave 1.19+, Vivaldi 3.6+, dan Opera 74+):
1. Aktifkan bendera browser web berikut:
Untuk browser berbasis Google Chrome 90 dan yang lebih lama:
- Timpa daftar rendering perangkat lunak:
chrome://flags/#ignore-gpu-blocklist
- Penguraian kode video yang dipercepat perangkat keras:
chrome://flags/#enable-accelerated-video-decode
Untuk browser berbasis Google Chrome 91 dan yang lebih baru (tidak ada lagi decoding video yang dipercepat perangkat keras, tetapi kita perlu menggunakan tanda baris perintah baru – lihat langkah 4):
- Timpa daftar rendering perangkat lunak:
chrome://flags/#ignore-gpu-blocklist
2. Instal driver VA API untuk dapat mendekode media (sumber), serta libva-drm2 dan libva-x11-2 (2 ini mungkin sudah diinstal, tetapi untuk berjaga-jaga; Saya menambahkan 2 ini dalam pengeditan nanti setelah memperhatikan bahwa akselerasi perangkat keras tidak berfungsi tanpa mereka, dan setelah saya menginstal sia-sia bahwa 2 paket ini sebagai dependensi berisi, apakah akan mulai bekerja):
- Untuk Intel Gen 7 dan perangkat keras sebelumnya:
sudo apt install i965-va-driver-shaders libva-drm2 libva-x11-2
- Untuk perangkat keras Intel Gen 8+:
sudo apt install intel-media-va-driver-non-free libva-drm2 libva-x11-2
- Untuk driver Nouveau dan AMD (Saya tidak bisa mendapatkan browser untuk menggunakan akselerasi perangkat keras dengan driver Nouveau, mungkin Anda akan lebih beruntung):
sudo apt install mesa-va-drivers libva-drm2 libva-x11-2
- Untuk driver Nvidia berpemilik – Anda dapat menginstalnya dari repositori atau menggunakan PPA Driver GPU Proprietary (misalnya memulai Dialog Driver Tambahan di Ubuntu dan menginstalnya dari sana). Jika Anda menggunakan driver Nvidia berpemilik, Anda memerlukan driver yang ditambal juga
vdpau-va-driver
([[sunting]]Tambalan ini tidak lagi mendukung VP9, bahkan jika grafik Anda mendukungnya, jadi Anda harus menggunakan ekstensi h264ify dalam hal apa pun – lihat di bawah). Anda bisa mendapatkannya dari sini (Anda juga membutuhkanlibvdpau1
dari sini karena ini adalah ketergantungan pada vdpau-va-driver) untuk Debian / Ubuntu / Linux Mint / Pop! _OS dll. Paket Ubuntu 20.04 dari sana juga berfungsi di Ubuntu 20.10 dan yang lebih baru. Jika Anda ingin melihat patch yang digunakan oleh paket ini, unduh arsip .debian.tar.gz (menggunakan link yang sama seperti di atas) dan cari di folder “patches”. Jika DEB ini tidak berfungsi di Debian (saya belum mencobanya), gunakan tautan ini untuk vdpau-va-driver (orig.tar.gz | debian.tar.xz) dan libvdau (orig.tar.gz | debian.tar.xz) untuk mengunduh arsip .orig.tar.gz dan .debian.tar.xz dan membangun paket DEB di sistem Anda. Instal juga libva-drm2 dan libva-x11-2:sudo apt install libva-drm2 libva-x11-2
Mengapa versi tidak gratis dari intel-media-va-driver
dan i965-va-driver
? Secara teori, ini seharusnya bekerja dengan versi gratis (?), Tetapi dalam pengujian saya pada laptop Intel Gen 10, decoding video yang dipercepat perangkat keras hanya berfungsi dengan intel-media-va-driver-non-free
Pengemudi dan bukan intel-media-va-driver
(Saya tidak yakin tentang driver i965, tetapi saya pikir itu mungkin serupa). Ada orang lain di sana juga yang mengatakan ini membuatnya berhasil.
3. Hanya diperlukan untuk kartu grafis yang tidak mendukung dekode video perangkat keras VP9:Instal ekstensi browser h264ify.
Jika kartu grafis Anda tidak mendukung decoding video perangkat keras VP9, instal ekstensi Browser h264ify (atau Enhanced-h264ify – beberapa pengguna mengatakan ini berfungsi untuk mereka sementara ekstensi asli tidak; bagi saya itu sebaliknya) dan pastikan itu diaktifkan untuk VP9.
[[Sunting]]Pengguna Nvidia:Driver vdpau-va yang ditambal yang disebutkan di atas tidak lagi mempercepat perangkat keras VP9 di browser berbasis Chromium. Jadi, Anda perlu menggunakan ekstensi h264ify dan menghindari VP9 untuk mendapatkan decoding video yang dipercepat perangkat keras.
Jika Anda masih tidak melihat MojoVideoDecoder im chrome://media-internals
(lihat bagian di bawah untuk memverifikasi bahwa decoding video yang dipercepat perangkat keras diaktifkan dan benar-benar digunakan oleh browser), coba mulai ulang browser web setelah menginstal ekstensi ini. Saya telah melihat kasus di mana itu diperlukan dan beberapa di mana tidak.
4. Mulai browser web dengan --use-gl=desktop
Tandai untuk mengaktifkan akselerasi perangkat keras VA API. [[Edit] Untuk browser berbasis Chromium 91 dan yang lebih tinggi, Anda harus memulainya dengan itu juga --enable-features=VaapiVideoDecoder
Tandai.
Untuk menggunakan VA API untuk decoding video, Anda perlu memulai browser web, baik itu Chromium, Google Chrome, Brave, Opera atau Vivaldi, dengan flag baris perintah berikut:--use-gl=desktop
. Akibatnya, browser web menggunakan OpenGL dan menonaktifkan ANGLE sebagai backend rendering. Meskipun ada tempat di mana saya telah membaca bahwa ini tidak diperlukan lagi, dalam pengujian saya diperlukan dengan grafis Nvidia dan Intel (saya tidak memiliki grafis AMD untuk menguji ini).
Misalnya, untuk memulai Google Chrome dengan tanda ini:
google-chrome-stable --use-gl=desktop
Mulai Berani dengan ini:
brave-browser --use-gl=desktop
Dan seterusnya.
Untuk membuat perubahan ini permanen, salin file .desktop browser dari /usr/share/applications
ke ~/.local/share/applications
(Jika folder ini tidak ada, buatlah). Dengan menyalin file di sini, kami memastikan bahwa itu tidak akan ditimpa oleh pembaruan. Kemudian buka file .desktop (mis. brave-browser.desktop
, brave-browser-beta.desktop
, google-chrome.desktop
, dll.) darinya ~/.local/share/applications
Lokasi, dengan editor teks. Di file ini, cari baris yang diawali dengan Exec=
dan modifikasi executable untuk memasukkan --use-gl=desktop
. Misalnya. untuk pemberani:Exec=/usr/bin/brave-browser-stable --use-gl=desktop
, atau untuk Google Chrome:Exec=/usr/bin/google-chrome-stable --use-gl=desktop %U
[Suntingan yang sangat penting] Dengan Chromium 91 (dan semua browser yang berbasis di atasnya) tanda browser untuk decoding video yang dipercepat perangkat keras telah hilang. Untuk mendapatkan pemutaran video yang dipercepat perangkat keras, Anda perlu menambahkan tanda baris perintah baru:--enable-features=VaapiVideoDecoder
Tambahkan bendera ini seperti Anda menambahkan --use-gl=desktop
itu Bendera. Anda akan membutuhkan keduanya, atau setidaknya apa yang saya butuhkan untuk mendapatkan decoding video yang dipercepat perangkat keras.
Misalnya, untuk memulai Google Chrome dengan dua tanda ini, gunakan:
google-chrome-stable --use-gl=desktop --enable-features=VaapiVideoDecoder
Atau mulai Berani sebagai gantinya:
brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
Catatan penting:Jika Anda melihat gambar video yang benar-benar putih saat memulai browser dengan --use-gl=desktop
, centang chrome://flags
dan pastikan Vulkan tidak diaktifkan di sana. Ketika Vulkan diaktifkan dan browser dimulai dengan --use-gl=desktop
Opsi menyebabkan hal ini terjadi.
Catatan lain, kali ini untuk pengguna Opera :Jika Anda tidak dapat memutar video di YouTube dan situs lain setelah menggunakan ekstensi h264ify, lihat Solusi dari sini untuk mengaktifkan dukungan h264 di Opera (perhatikan bahwa jika browser web yang Anda gunakan adalah Opera Beta, foldernya adalah /opera-beta
).
Itu saja.
Cara memeriksa apakah dekode video yang dipercepat perangkat keras diaktifkan dan berfungsi di browser web apa pun yang berbasis Chromium
Sekarang mari kita periksa apakah browser web menggunakan decoding video yang dipercepat perangkat keras.
Pertama, mari kita periksa apakah browser mendukung video akselerasi perangkat keras. Untuk melakukannya, buka tab baru dan kunjungi chrome://gpu
. Pada halaman ini Anda akan melihat “Video decoding:Hardware accelerated“(berwarna hijau, seperti di sini):
Ini berarti bahwa browser web Anda sekarang mendukung decoding video yang dipercepat perangkat keras. Tetapi apakah itu benar-benar dapat memecahkan kode video menggunakan perangkat keras? Mari kita periksa juga dengan membuka video YouTube lalu menekan Ctrl + Shift + i
untuk membuka Chrome DevTools. Di menu dengan 3 titik vertikal, klik More tools -> Media
. Kemudian klik judul video di bilah sisi kiri DevTools (Players
Bagian) dan lihat di Video Decoder
Bagian dari Media
Tab Chrome DevTools:
Ketika dikatakan nama decodernya adalah VideoDecode Accelerator
atau, saya juga melihatnya seperti itu VDAVideoDecoder
(sebelumnya MojoVideoDecoder
, dan sebelumnya adalah GpuVideoDecoder
jadi jika Anda mendapatkan salah satunya dan menggunakan versi browser yang lebih lama tidak masalah, Anda memiliki akselerasi perangkat keras) dan Hardware decoder
adalah true
, lalu gunakan dekode video yang dipercepat perangkat keras. Jika disebut FFmpegVideoDecoder
, VpxVideoDecoder
atau Dav1dVideoDecoder
(dan dalam hal ini Hardware decoder
harus mengatakan false
) browser web Anda tidak menggunakan dekode video yang dipercepat perangkat keras.