Firefox 75 , supporto nativo a Wayland , full WebGL e VA-API

[quote] Firefox 75 due to be released next month should finally have its native Wayland support in good order.

Merged yesterday were the Firefox Wayland patches for VA-API video acceleration support in conjunction with FFmpeg.

This FFmpeg VA-API support on Wayland comes following the recent DMA-BUF support inside the web browser. Red Hat’s Martin Stránský commented that Firefox on Wayland with VA-API is now in good shape with today’s nightly builds of Firefox. His testing has been mostly focused on Intel graphics hardware. The support does require enabling the OpenGL compositor or WebRender within Firefox as well as setting the wayland-dmabuf-vaapi control knobs.

Martin Stránský went on to also write a blog post today outlining that full WebGL support on Wayland will also be in order for Firefox 75 once setting the necessary DMA-BUF WebGL option.

Firefox 75 will be hitting beta next week while the stable Firefox 75.0 debut is expected to happen around 7 April. [/quote]

https://www.phoronix.com/scan.php?page=news_item&px=Firefox-75-Wayland-Great-Shape

Peccato per chromium che ancora arranca su X11

Ciao @JackDaniels una info , ma il plugins :

gstreamer1-vaapi

andrebbe installato ? :slight_smile:

[quote=edmondo]Ciao @JackDaniels una info , ma il plugins :

gstreamer1-vaapi

andrebbe installato ? :)[/quote]

mi sembra che Firefox non usi Gstreamer da un po , ti conviene comunque installarla (film e video scaricati su pc) .

quello che ti serve invece se hai GPU intel :

Se hai una vecchia ivyBridge o giu di li ti serve

 libva-intel-driver libva libva-utils 

se hai un processore piu recente (ma non ricordo da che versione in poi , forse Broadwell in su)

 intel-media-driver 

** Poi controlla con **

 $ vainfo 

Ok grazie per le info , come gpu ho una nvidia gt-730 e come processore un amd 8350-fx , apparte i codec vari ho installato solo libva-vdpau-driver libva libva-utils. :slight_smile:

Si bastano quelli :slight_smile:

Grazie :slight_smile:

dai una occhiata in about:config e controlla queste stringhe (che da me erano disabilitate)

widget.wayland-dmabuf-basic-compositor.enabled false widget.wayland-dmabuf-textures.enabled true widget.wayland-dmabuf-vaapi.enabled true widget.wayland-dmabuf-webgl.enabled true widget.wayland.use-opaque-region true widget.wayland_vsync.enabled

Io ho solo abilitato :

widget.wayland.use-opaque-region	true

le altre risultano disabilitate. :slight_smile: Jack oltre a gnome che vuoi fare un fork anche di firefox ? :smiley:

[quote=edmondo]Io ho solo abilitato :

widget.wayland.use-opaque-region	true

le altre risultano disabilitate. :slight_smile: Jack oltre a gnome che vuoi fare un fork anche di firefox ? :D[/quote]

Ahahah no basta la build ufficiale di Fedora :smiley: per toglierti ogni dubbio dai una occhiata ai log di firefox per assicurarti che fili tutto liscio lanciandolo da terminale con:

 export MOZ_LOG=PlatformDecoderModule:5 && firefox-wayland --name firefox-wayland 

avvia un video youtube per un secondo , lo stoppi e controlla se vaapi da problemi :slight_smile:

ah piccola nota :

 widget.wayland-dmabuf-webgl.enabled 

se lo abiliti hai il supporto completo a webGL

Ci sono ancora bagarozzi in giro ma con la 76 e 77 dovrebbero risolvere

https://bugzilla.mozilla.org/buglist.cgi?quicksearch=vaapi

se hai limiti di decodifica HW per i formati avc1 vp8 e vp9 basta che li disabiliti da about:config

Il test vale anche per gpu nvidia ?

controlla cosa supporta la tua GPU

Cosa ne pensi ?

libva info: VA-API version 1.6.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.0.pre1)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG4Simple            :	VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
      <unknown profile>               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
display: :1   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  440.82  Wed Apr  1 19:39:06 UTC 2020

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 
422     4096  4096  UYVY YUYV 
444     4096  4096  NV24 YV24 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 65536  4032  4048
MPEG2_SIMPLE                    3 65536  4032  4048
MPEG2_MAIN                      3 65536  4032  4048
H264_BASELINE                  51 65536  4032  4080
H264_MAIN                      51 65536  4032  4080
H264_HIGH                      51 65536  4032  4080
VC1_SIMPLE                      1  8190  2048  2048
VC1_MAIN                        2  8190  2048  2048
VC1_ADVANCED                    4  8190  2048  2048
MPEG4_PART2_SP                  3  8192  2048  2048
MPEG4_PART2_ASP                 5  8192  2048  2048
DIVX4_QMOBILE                   0  8192  2048  2048
DIVX4_MOBILE                    0  8192  2048  2048
DIVX4_HOME_THEATER              0  8192  2048  2048
DIVX4_HD_1080P                  0  8192  2048  2048
DIVX5_QMOBILE                   0  8192  2048  2048
DIVX5_MOBILE                    0  8192  2048  2048
DIVX5_HOME_THEATER              0  8192  2048  2048
DIVX5_HD_1080P                  0  8192  2048  2048
H264_CONSTRAINED_BASELINE      51 65536  4032  4080
H264_EXTENDED                  51 65536  4032  4080
H264_PROGRESSIVE_HIGH          51 65536  4032  4080
H264_CONSTRAINED_HIGH          51 65536  4032  4080
H264_HIGH_444_PREDICTIVE       51 65536  4032  4080
VP9_PROFILE_0                  --- not supported ---
VP9_PROFILE_1                  --- not supported ---
VP9_PROFILE_2                  --- not supported ---
VP9_PROFILE_3                  --- not supported ---
HEVC_MAIN                      --- not supported ---
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R10G10B10A2      16384 16384    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         1     4096
VIDEO_SURFACE_HEIGHT             y         1     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  

:slight_smile:

[quote=edmondo]Cosa ne pensi ?

libva info: VA-API version 1.6.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_5
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.6 (libva 2.6.0.pre1)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG4Simple            :	VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    :	VAEntrypointVLD
      <unknown profile>               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
display: :1   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  440.82  Wed Apr  1 19:39:06 UTC 2020

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 
422     4096  4096  UYVY YUYV 
444     4096  4096  NV24 YV24 

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 65536  4032  4048
MPEG2_SIMPLE                    3 65536  4032  4048
MPEG2_MAIN                      3 65536  4032  4048
H264_BASELINE                  51 65536  4032  4080
H264_MAIN                      51 65536  4032  4080
H264_HIGH                      51 65536  4032  4080
VC1_SIMPLE                      1  8190  2048  2048
VC1_MAIN                        2  8190  2048  2048
VC1_ADVANCED                    4  8190  2048  2048
MPEG4_PART2_SP                  3  8192  2048  2048
MPEG4_PART2_ASP                 5  8192  2048  2048
DIVX4_QMOBILE                   0  8192  2048  2048
DIVX4_MOBILE                    0  8192  2048  2048
DIVX4_HOME_THEATER              0  8192  2048  2048
DIVX4_HD_1080P                  0  8192  2048  2048
DIVX5_QMOBILE                   0  8192  2048  2048
DIVX5_MOBILE                    0  8192  2048  2048
DIVX5_HOME_THEATER              0  8192  2048  2048
DIVX5_HD_1080P                  0  8192  2048  2048
H264_CONSTRAINED_BASELINE      51 65536  4032  4080
H264_EXTENDED                  51 65536  4032  4080
H264_PROGRESSIVE_HIGH          51 65536  4032  4080
H264_CONSTRAINED_HIGH          51 65536  4032  4080
H264_HIGH_444_PREDICTIVE       51 65536  4032  4080
VP9_PROFILE_0                  --- not supported ---
VP9_PROFILE_1                  --- not supported ---
VP9_PROFILE_2                  --- not supported ---
VP9_PROFILE_3                  --- not supported ---
HEVC_MAIN                      --- not supported ---
HEVC_MAIN_10                   --- not supported ---
HEVC_MAIN_STILL                --- not supported ---
HEVC_MAIN_12                   --- not supported ---
HEVC_MAIN_444                  --- not supported ---

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
R10G10B10A2      16384 16384    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             y
DEINTERLACE_TEMPORAL_SPATIAL     y
INVERSE_TELECINE                 y
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         y
HIGH QUALITY SCALING - L1        y
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y         1     4096
VIDEO_SURFACE_HEIGHT             y         1     4096
CHROMA_TYPE                      y  
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y  
CSC_MATRIX                       y  
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y  
LUMA_KEY_MAX_LUMA                y  

:)[/quote]

tutto ok , la tua scheda non va oltre h264 quindi puoi disabilitare vp9 sul browser.

NB se ricordo bene nvidia non supporta wayland quindi dovresti girare su X11

Si giro su X11 , però stò leggendo in giro che gli ultimi driver dovrebbero ( non ho la certezza ) avere il supporto per wayland. :slight_smile: il problema è capire come abilitarlo , ci sono varie idee in giro ma detto in verità , una diversa dall’altra. Come per fare un esempio , io uso gli akmod di rpmfusion , è non creo xorg.conf , funziona bene tutto , su vari articoli leggo invece che andrebbe creato tramite nvidia-settings , (ho provato ma non cambia niente ) . :slight_smile: Stessa cosa è per wayland tante idee ma alla fine se si riesce a far partire , è instabile come non mai. Sia mai che con questa quarantena ti viene in mente qualche fork ? :smiley: in about:config ho notato che il vp9 era gia disabilitato come altri parametri che comunque non sono supportati dalla mia scheda video. :slight_smile:

** Sono un purista Intel ** :stuck_out_tongue:

Dai una occhiata alle guide di ArchLinux , quei ragazzi sono dei grandi