Firefox + VAAPI + Wayland
Postano: 09 svi 2020, 17:41
Pozdrav kolege,
podijeliti ću s vama kako sam omogućio hardversku akceleraciju na Firefoxu 76 kao i potpunu WebGL podršku.
Distribucija koju koristim je Fedora 32 gdje je Wayland protokol po defaultu (kod svih ostalih distribucija to je Xorg - još uvijek...).
Također testirano i na Archu.
Valja napomenuti kako je u Fedori Firefox preglednik već namješten da se automatski pokreće pomoću Wayland protokola!
Možda će se neke stvari razlikovati od distre do distre...
Da bi vam ovo pošlo za rukom kao i meni, potrebno je pokretati Firefox u Waylandu te omogućiti dolje navedeno:
- ako već niste, ažurirajte Firefox na verziju 76;
- sljedeća naredba bi trebala biti stavljena u Environment Variable od Firefoxa tako da se preglednik može automatski pokrenuti s Waylandom. Mislim kako će ArchWiki to objasniti bolje od mene: (https://wiki.archlinux.org/index.php/Fi ... celeration). Sva sreća nemam problema s tim jer sam na Fedori.
- provjerite pokreće li se preglednik s Waylandom u about:support , Windows Protocol (treba pisati Wayland);
- instalirajte libva-utils (driveri za VA-API). Vjerojatno je drugačiji naziv u drugim distribucijama;
- osposobite OpenGL i WebRender compositing u about:config pomoću:
- provjerite jeste li uspjeli u about:support, Graphics>Compositing (treba pisati WebRender).
- osposobite VA-API hardversku akceleraciju i WebGL u about:config
Nakon što ste napravili sve gore navedeno vrijeme je testirati funkcionira li:
- u svom terminalu pokrenite firefox sa sljedećom naredbom. LOG opcija će nam tekstualno izlistati određene parametre rada našeg preglednika
- potrebno je pokrenuti neki video koji će sigurno zahtijevati hardversku akceleraciju. Evo vam moj savjet: https://www.youtube.com/embed/hVvEISFw9w0. Jedan lijepi video o Maroku u 8K HDR 60fps;
- nakon što ste pokrenuli video, prebacite se na svoj otvoreni terminal i pogledajte što se događa. Biti će toga dosta. Nakon 5-10 sekundi možete zaustaviti video. U toj šumi podataka potrebno je pronaći dokaz da vam hardverska akceleracija funkcionira. Nešto što spominje V9 dekoder. Dolje priloženo imate moj izlist tih podataka...
Vidljivo je kako se hardverska akceleracija odvija preko FFmpeg-a. Ukoliko ste na Fedori, savjetujem vam da omogućite 3rd party repository RPMFusion te da instalirate mpv ili celluloid zbog potrebnih kodeka.
Nadam se da vam sve funkcionira kao i meni.
Jedva čekam pročitati/čuti vaše dojmove
P.S.
Kada kažem da nešto osposobite u about:config to znači da mu vrijednost promijeniti u true!
podijeliti ću s vama kako sam omogućio hardversku akceleraciju na Firefoxu 76 kao i potpunu WebGL podršku.
Distribucija koju koristim je Fedora 32 gdje je Wayland protokol po defaultu (kod svih ostalih distribucija to je Xorg - još uvijek...).
Također testirano i na Archu.
Valja napomenuti kako je u Fedori Firefox preglednik već namješten da se automatski pokreće pomoću Wayland protokola!
Možda će se neke stvari razlikovati od distre do distre...
Da bi vam ovo pošlo za rukom kao i meni, potrebno je pokretati Firefox u Waylandu te omogućiti dolje navedeno:
- ako već niste, ažurirajte Firefox na verziju 76;
- sljedeća naredba bi trebala biti stavljena u Environment Variable od Firefoxa tako da se preglednik može automatski pokrenuti s Waylandom. Mislim kako će ArchWiki to objasniti bolje od mene: (https://wiki.archlinux.org/index.php/Fi ... celeration). Sva sreća nemam problema s tim jer sam na Fedori.
- Kod: Označi sve
MOZ_ENABLE_WAYLAND=1 firefox
- provjerite pokreće li se preglednik s Waylandom u about:support , Windows Protocol (treba pisati Wayland);
- instalirajte libva-utils (driveri za VA-API). Vjerojatno je drugačiji naziv u drugim distribucijama;
- osposobite OpenGL i WebRender compositing u about:config pomoću:
- Kod: Označi sve
gfx.webrender.all
- Kod: Označi sve
layers.acceleration.force-enabled
- provjerite jeste li uspjeli u about:support, Graphics>Compositing (treba pisati WebRender).
- osposobite VA-API hardversku akceleraciju i WebGL u about:config
- Kod: Označi sve
widget.wayland-dmabuf-vaapi.enabled
- Kod: Označi sve
widget.wayland-dmabuf-webgl.enabled
Nakon što ste napravili sve gore navedeno vrijeme je testirati funkcionira li:
- u svom terminalu pokrenite firefox sa sljedećom naredbom. LOG opcija će nam tekstualno izlistati određene parametre rada našeg preglednika
- Kod: Označi sve
MOZ_LOG="PlatformDecoderModule:5" firefox
- potrebno je pokrenuti neki video koji će sigurno zahtijevati hardversku akceleraciju. Evo vam moj savjet: https://www.youtube.com/embed/hVvEISFw9w0. Jedan lijepi video o Maroku u 8K HDR 60fps;
- nakon što ste pokrenuli video, prebacite se na svoj otvoreni terminal i pogledajte što se događa. Biti će toga dosta. Nakon 5-10 sekundi možete zaustaviti video. U toj šumi podataka potrebno je pronaći dokaz da vam hardverska akceleracija funkcionira. Nešto što spominje V9 dekoder. Dolje priloženo imate moj izlist tih podataka...
- Kod: Označi sve
[Child 6223: MediaPDecoder #1]: D/PlatformDecoderModule Initialising FFmpeg decoder.
[Child 6223: MediaPDecoder #2]: D/PlatformDecoderModule AudioTrimmer[0x7fe1368c5340] ::operator(): sample[47441000,47461000] no trimming information
[Child 6223: MediaPDecoder #1]: D/PlatformDecoderModule FFmpeg init successful.
[RDD 6410: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[0x7f142ff56350] ::ProcessDecode: Opus decoder skipping 312 of 960 frames
[Child 6223: MediaPDecoder #2]: D/PlatformDecoderModule Choosing FFmpeg pixel format for video decoding.
[Child 6223: MediaPDecoder #2]: D/PlatformDecoderModule Requesting pixel format YUV420P.
[vp9 @ 0x7fe13b7dd800] Format yuv420p chosen by get_format().
Vidljivo je kako se hardverska akceleracija odvija preko FFmpeg-a. Ukoliko ste na Fedori, savjetujem vam da omogućite 3rd party repository RPMFusion te da instalirate mpv ili celluloid zbog potrebnih kodeka.
Nadam se da vam sve funkcionira kao i meni.
Jedva čekam pročitati/čuti vaše dojmove
P.S.
Kada kažem da nešto osposobite u about:config to znači da mu vrijednost promijeniti u true!