Ενεργοποίηση Hardware Accelerated Video Decode σε Chrome Browsers

Στο Google Chrome 88 κατέστη δυνατή η αποκωδικοποίηση βίντεο με επιτάχυνση υλικού (κάρτας γραφικών) σε Linux, αλλά δεν είναι ενεργοποιημένη από προεπιλογή. Ας δούμε πώς μπορείτε να ενεργοποιήσετε την επιλογή σε όλα τα Chrome based browsers όπως το Brave, Vivaldi και Opera.

Η χρήση αποκωδικοποίησης βίντεο με επιτάχυνση υλικού στο πρόγραμμα περιήγησης ιστού θα πρέπει να έχει ως αποτέλεσμα τη χρήση λιγότερης CPU κατά την αναπαραγωγή βίντεο στο διαδίκτυο. Την χρήση της επιτάχυνσης με GPU την έχουμε κάνει για το τερματικό μας, τον Firefox browser για όσους το χάσατε, οπότε σήμερα θα το κάνουμε στους Google Chrome, Chromium (για όσο καιρό υπάρχει ακόμα στις διανομές Linux), Brave, Vivaldi και Opera Browser.

Να σημειώσουμε ότι όσοι χρησιμοποιείτε Wayland, ίσως να μην λειτουργήσουν οι ρυθμίσεις που θα κάνουμε Μπορείτε να χρησιμοποιήσετε το VA-API στο XWayland, χρησιμοποιώντας το --use-gl=egl flag κατά την εκκίνηση αλλά επειδή δεν χρησιμοποιώ Wayland δεν το δοκίμασα.

Advertisements

Πώς να ενεργοποιήσετε την αποκωδικοποίηση βίντεο με επιτάχυνση υλικού GPU

Το πρώτο πράγμα που πρέπει να δείτε είναι η έκδοση του browser σας. Οι ρυθμίσεις θα πρέπει να είναι διαθέσιμες σε εκδόσεις :

  • Google Chrome 88+
  • Brave 1.19+
  • Vivaldi 3.6+
  • Opera 74+

Στην αρχή θα χρειαστεί να πάτε στις ρυθμίσεις για ενεργοποίηση της επιτάχυνσης. Για ευκολία αντιγράφετε τους παρακάτω συνδέσμους στην μπάρα διευθύνσεων και επιλέγετε Enabled:

  • Override software rendering list : chrome://flags/#ignore-gpu-blocklist
  • Hardware-accelerated video decode: chrome://flags/#enable-accelerated-video-decode

Έπειτα, ανάλογα με την κάρτα γραφικών σας, θα πρέπει να επιβεβαιώσετε ότι έχετε εγκατεστημένους κάποιους drivers. Το πακέτο που πρέπει να ψάξετε είναι το πρόγραμμα οδήγησης VA-API ( πηγή ):

  • Για κάρτα γραφικών Intel Gen 7 και παλαιότερο υλικό:
sudo apt install i965-va-driver-shaders
  • Για κάρτα γραφικών Intel Gen 8+:
sudo apt install intel-media-va-driver-non-free
  • Για τους ανοιχτούς drivers Nouveau και AMD (το Nouveau έχει αναφερθεί ότι δεν δουλεύει καλά, ίσως έχετε καλύτερη τύχη): 
sudo apt install mesa-va-drivers

Τέλος για όσους έχουν κάρτα γραφικών που δεν υποστηρίζει αποκωδικοποίηση βίντεο VP9 μέσω GPU τότε μπορείτε να εγκαταστήσετε την επέκταση του browser h264ify και κάντε επανεκκίνηση τον browser. Την επέκταση αυτή θα την έχετε συναντήσει όσοι είστε χρήστες του Raspberry Pi OS το οποίο χρησιμοποιεί την επέκταση στον Chromium.

Advertisements

Εκκίνηση του browser χρησιμοποιώντας την --use-gl=desktop flag για επιτάχυνση υλικού με VA-API.

Για να μπορέσετε να χρησιμοποιήσετε την αποκωδικοποίηση βίντεο με το VA-API θα πρέπει να ξεκινήσει ο Chromium, ο Google Chrome, Brave, Opera ή Vivaldi, χρησιμοποιώντας την παράμετρο--use-gl=desktop

Αυτό αναγκάζει τον browser να χρησιμοποιεί το OpenGL και να απενεργοποιεί το ANGLE ως backend. Κάποιοι αναφέρουν ότι αυτό δεν απαιτείται, παρόλα αυτά στις δοκιμές μου έπρεπε να το κάνω. Εσείς μπορείτε να το δοκιμάσετε και χωρίς την παρακάτω διαδικασία και αν δείτε ότι δεν δούλεψε μπορείτε να επιστρέψετε πάλι εδώ για να το κάνετε.

Για παράδειγμα αν θέλουμε να το κάνουμε στο Google Chrome, ανοίγουμε το τερματικό και γράφουμε:

google-chrome-stable --use-gl=desktop

Εκκινήστε το Brave χρησιμοποιώντας αυτό:

brave-browser --use-gl=desktop

Και ούτω καθεξής. 

Προφανώς αυτό το κάνετε μια φορά για να δοκιμάσετε. Με άλλα λόγια για να γίνει αυτή η αλλαγή μόνιμη, αντιγράψτε το αρχείο εκκίνησης του προγράμματος περιήγησης .desktop από το /usr/share/applications στο ~/.local/share/applications (αν δεν υπάρχει αυτός ο φάκελος, δημιουργήστε τον).  π.χ. εγώ που χρησιμοποιώ Brave Browser το αντέγραψα με τον παρακάτω τρόπο:

cp /usr/share/applications/brave-browser.desktop ~/.local/share/applications/brave-browser.desktop

Αντιγράφοντας το αρχείο, φροντίζουμε να μην αντικατασταθεί από μια μελλοντική αναβάθμιση του λογισμικού. Στη συνέχεια, ανοίξτε το αρχείο .desktop από αυτήν την τοποθεσία ~/.local/share/applications, με ένα πρόγραμμα επεξεργασίας κειμένου όπως το αγαπημένο μας VIM

vim ~/.local/share/applications/brave-browser.desktop

Σε αυτό το αρχείο, αναζητήστε τη γραμμή που ξεκινά από Exec= και αλλάξτε το ώστε να συμπεριληφθεί το --use-gl=desktop

Π.χ. για το Brave: 

Exec=/usr/bin/brave-browser-stable --use-gl=desktop %U

ή για το Google Chrome:

Exec=/usr/bin/google-chrome-stable --use-gl=desktop %U

Σημαντική σημείωση: Εάν βλέπετε μια εντελώς λευκή εικόνα βίντεο κατά την εκκίνηση του προγράμματος περιήγησης με --use-gl=desktop, ελέγξτε πάλι το chrome://flags και βεβαιωθείτε ότι το Vulkan δεν είναι ενεργοποιημένο. Η ενεργοποίηση του Vulkan και η εκκίνηση του προγράμματος περιήγησης χρησιμοποιώντας την --use-gl=desktop επιλογή θα το κάνει αυτό.

Μια άλλη σημείωση, αυτή τη φορά για τους χρήστες του Opera : εάν μετά τη χρήση της επέκτασης h264ify, δεν μπορείτε πλέον να αναπαράγετε βίντεο στο YouTube και άλλους παρόμοιους ιστότοπους, δείτε τις λύσεις από εδώ για να ενεργοποιήσετε την υποστήριξη h264 στο Opera.

Αυτές ήταν οι ρυθμίσεις !

Advertisements

Πώς να ελέγξετε εάν η αποκωδικοποίηση βίντεο με επιτάχυνση υλικού είναι ενεργοποιημένη και λειτουργεί

Τώρα ας δούμε αν οι ρυθμίσεις μας είναι ενεργές και ο browser μας χρησιμοποιεί αποκωδικοποίηση βίντεο με επιτάχυνση υλικού (GPU).

Ας δούμε αν το πρόγραμμα περιήγησης υποστηρίζει βίντεο με επιτάχυνση υλικού. Ανοίγοντας μια νέα καρτέλα με chrome://gpu θα πρέπει να δείτε το «Video Decode: Hardware accelerated » (με πράσινο χρώμα, όπως εδώ):

Video Decode: Hardware accelerated

Αυτό σημαίνει ότι ο browser σας υποστηρίζει τώρα αποκωδικοποίηση βίντεο με επιτάχυνση υλικού. 

Είναι όμως σε θέση να αποκωδικοποιήσει βίντεο μέσω GPU; Ας το ελέγξουμε ανοίγοντας ένα βίντεο στο YouTube σε μία νέα καρτέλα. Αφού ανοίξετε το βίντεο αφήστε την καρτέλα σε λειτουργία και ανοίξτε μια νέα καρτέλα με chrome://media-internals.

Στην chrome://media-internals καρτέλα, κάντε κλικ στο βίντεο url (για να το αναπτύξετε) και κοιτάξτε κάτω στο Player Properties όπου θα πρέπει να βρείτε την ιδιότητα kVideoDecoderName :

Αν η τιμή της kVideoDecoderName είναι MojoVideoDecoder (στο παρελθόν ήταν GpuVideoDecoder, αλλά τώρα σε Linux ονομάζεται MojoVideoDecoder) σημαίνει ότι το βίντεο που παίζει αυτήν τη στιγμή στο YouTube στην άλλη καρτέλα χρησιμοποιεί αποκωδικοποίηση βίντεο με επιτάχυνση υλικού GPU

Αντίθετα αν δείτε άλλες τιμές όπως VpxVideoDecoder, FFmpegVideoDecoder και Dav1dVideoDecoder σημαίνει ότι το βίντεο που παίζει στην άλλη καρτέλα χρησιμοποιεί software acceleration και όχι hardware acceleration.

Παραπομπές

4 σκέψεις σχετικά με το “Ενεργοποίηση Hardware Accelerated Video Decode σε Chrome Browsers

Add yours

  1. Linux Mint 20,
    Chrome Version 88.0.4324.150 (Official Build) (64-bit),
    GPU: AMD RX 580,
    (CPU: AMD Ryzen 2600)

    Καλησπερα σας, ακολουθησα τα παραπανω βηματα και ενω στο chrome://gpu δειχνει οτι «Video Decode: Hardware accelerated» μεσω των οδηγιων που υπαρχουν στο τελος του αρθρου δεν λαμβανω την τιμη MojoVideoDecoder…

    Οταν ανοιγω τον chrome με την εντολη google-chrome-stable –use-gl=desktop παιρνω αυτο το αποτελεσμα οπως φαινεται στο λινκ:

    Καποια προταση τι μπορει να φταιει; Τι αλλο μπορω να δοκιμασω; Βοηθαει η εικονα που παρεθεσα;

    Ευχαριστω

    1. Αυτό σημαίνει ότι ενώ έχεις ενεργό και διαθέσιμη την GPU για video decoding, πιθανόν να μην υποστηρίζεται από τον οδηγό για την κάρτα γραφικων στο Linux.
      Πιθανόν όμως σε κάποια μελόντικα update να το υποστηρίξει

    2. Ευχαριστω για την απαντηση.

      Θελω να ρωτησω αν εχει νοημα να δοκιμασω να αλλαξω kernel version και απο 5.4.0-65 να παω σε 5.8 ;
      Δηλαδη μεχρι στιγμης για να καταλαβω το video decode σε linux πιθανον να υποστηριζεται μονο σε παλαιοτερες ή σε νεοτερες καρτες γραφικων απο την δικη μου;

    3. Έχει να κάνει με τους drivers. Αν αποφασίσει η εταιρεία που παρέχει drivers (AMD στην περίπτωσή σου) να παρέχει περιβάλλον για τους browsers που θα επικοινωνούν με την GPU, θα την εκμεταλλευτεί ο browser. Αν δεν παρέχουν τέτοια διαμεσολάβηση, και ενεργό να το έχεις δεν θα το χρησιμοποιεί. Σε γενικές γραμμές δεν σε βλάπτει να το έχεις ενεργό αν δεν σου προκαλεί κάποιο πρόβλημα.

      Όσον αφορά την έκδοση πυρήνα αυτό είναι δύσκολο να απαντηθεί. Φυσικά όσο νεότερος ο πυρήνας τόσο καλύτερη υποστήριξη στις κάρτες γραφικών. Από εκεί και έχει να κάνει με τις γνώσεις σου, με την όρεξη για πειραματισμό και τις δεξιότητές σου να επαναφέρεις του σύστημά σου σε περίπτωση που κάτι πάει στραβά.

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.

Create a website or blog at WordPress.com

ΠΑΝΩ ↑

Αρέσει σε %d bloggers: