Firefox i przyśpieszenie sprzętowe
Jeszcze nigdy w historii internetu przeglądarki nie miały takiego apetytu na zasoby naszych komputerów. Pożerają one lwią cześć pamięci RAM a wykres wykorzystania CPU każe się nam zastanowić, czy to nie czas na aktualizację sprzętu. Nie jest to jednak wina tylko i wyłącznie przeglądarek, gdyż one po prostu próbują nadążyć za obsługą pojawiających się trendów i technologii webowych. Rosną też nasze wymagania, jak choćby wyższa jakość materiałów wideo na popularnym Youtube. To jednocześnie jeden z pierwszych serwisów, który masowo zastąpił odtwarzacz we Flashu protegowanym odtwarzaczem w HTML5. Niestety, pod Linuksem maksymalna rozdzielczość filmów oferowanych przez Youtube to „jedynie” 720p. A wszystko za sprawą domyślnie wyłączonego w Firefoksie przyśpieszenia sprzętowego.
Aby nie świecić oczami przed użytkownikami innych systemów, możemy w paru prostych krokach przekonać Firefoksa, by korzystał z mocy drzemiącej w naszym GPU. Wystarczy do tego celu jedynie karta about:config oraz świadomość, że opcje które za chwilę przestawimy nie na darmo zostały domyślnie wyłączone. Mogą pojawić się wywrotki przeglądarki, samego playera na Youtube (i tam, gdzie jest aktywnie używane HTML5) i należy to wszystko potraktować testowo – choć nie wyklucza się również prawidłowego funkcjonowania całości (np. u mnie działa).
Zaczynamy zatem od wspomnianego about:config. Na początku wyszukujemy tam ciągów zawierających mediasource i przestawiamy na true (dwuklik) następujące:
media.mediasource.enabled
media.mediasource.webm.enabled
Teraz wyszukujemy layers. i podobnie ustawiamy na true:
layers.acceleration.force-enabled
layers.offmainthreadcomposition.enabled
sudo bash -c "echo export MOZ_USE_OMTC=1 >> /etc/X11/Xsession.d/90environment"
Powyższe powinno wystarczyć, by na Youtube zobaczyć możliwość wybrania rozdzielczości wideo od 1080p w górę.
Możemy iść krok dalej i uskutecznić również obsługę MSE & H.264. W tym celu ponownie przechodzimy do about:config i odnajdujemy ciągi zawierające media.fragmented-mp4. Przestawiamy na true następujące z nich:
media.mediasource.mp4.enabled
media.fragmented-mp4.exposed
media.fragmented-mp4.gmp.enable
Na false natomiast przestawiamy:
media.fragmented-mp4.use-blank-decoder
W ten sposób można pozbyć się paru kompleksów, choćby tego związanego z obsługiwanymi formatami przez odtwarzacz HTML5 (http://youtube.com/html5):
Jak wspomniałem, nie u każdego to może zadziałać jak należy, głównie za sprawą sterowników graficznych i naszej karty. Warto przyjrzeć się poradom samej Mozilli, a w ostateczności przeprowadzić proces odwrotny do opisanego powyżej (choć powinno wystarczyć przestawienie jedynie layers.acceleration.force-enabled).