Genodeftest (talk | contribs) (→Video decoding: Updated to Firefox 96 and the fix in https://bugzilla.mozilla.org/show_bug.cgi?id=1698778) |
No edit summary |
||
Line 24: | Line 24: | ||
Hardware accelerated video decoding (for video playback or for WebRTC) is [https://mastransky.wordpress.com/2020/09/29/firefox-81-on-fedora-with-va-api-webrtc-and-x11/ available on Intel/AMD] via VA-API for both X11(EGL) and Wayland and can be enabled by preferences at '''about:config'''. | Hardware accelerated video decoding (for video playback or for WebRTC) is [https://mastransky.wordpress.com/2020/09/29/firefox-81-on-fedora-with-va-api-webrtc-and-x11/ available on Intel/AMD] via VA-API for both X11(EGL) and Wayland and can be enabled by preferences at '''about:config'''. | ||
==== Firefox 98 update ==== | |||
Due to [[https://bugzilla.mozilla.org/show_bug.cgi?id=1751363 Bug 1751363]] VA-API is blocked by RDD sandbox. That can be disabled by '''MOZ_DISABLE_RDD_SANDBOX=1''' env variable. | |||
=== Video decoding on AMD === | === Video decoding on AMD === |
Revision as of 12:13, 4 March 2022
Firefox Hardware acceleration on Fedora
Firefox on Fedora supports hardware acceleration on Linux so let's look how to configure it and diagnose potential issues. This guide is adjusted for Fedora only and may not work for stock Mozilla binaries or other distros.
Web page rendering
Accelerated web page rendering is supported on both X11 and Wayland backends via WebRender.
Please note that Firefox requires a GPU with support for OpenGL 3.2 or newer or GLES 3.0 or newer to enable hardware acceleration (Source and further info). You can check your hardware using glxinfo | grep "profile version"
for OpenGL and eglinfo | grep version
for GLES.
You can check hardware acceleration state at about:support page, look at Compositing row. If there's WebRender, you're running on hardware. If there's WebRender (software) you're on non-accelerated backend.
Web page rendering on Wayland
Hardware acceleration should work out-of-the-box on Wayland. If not please file a bug for it.
Web page rendering on X11
X11 backend can tun in two modes - EGL and XGL. You should be on EGL unless you're running NVIDIA proprietary drivers.
Video decoding
Hardware accelerated video decoding (for video playback or for WebRTC) is available on Intel/AMD via VA-API for both X11(EGL) and Wayland and can be enabled by preferences at about:config.
Firefox 98 update
Due to [Bug 1751363] VA-API is blocked by RDD sandbox. That can be disabled by MOZ_DISABLE_RDD_SANDBOX=1 env variable.
Video decoding on AMD
Accelerated video decoding works well on AMD as free drivers are available. You can enable it by these steps:
- Verify you're running on HW accelerated backend (WebRender) under Wayland or X11/EGL at about:support.
- Install ffmpeg, libva and libva-utils from RPM Fusion repository.
- Run vainfo on terminal to verify that VA-API works.
- At about:config page set media.ffmpeg.vaapi.enabled to true
- Restart browser.
- You may install enhanced-h264ify Firefox extension to disable non-accelerated video formats.
- More info is here.
Video decoding on Intel
Accelerated video decoding works well on most Intel GPUs as free drivers are available. There are two[1] drivers for Intel cards, libva-intel-driver (provides i965_drv_video.so) and intel-media-driver (iHD_drv_video.so). Currently, Firefox works with libva-intel-driver (i965_drv_video.so) or intel-media-driver.
You can enable VA-API on Intel by these steps:
- Verify you're running on HW accelerated backend (WebRender) under Wayland or X11/EGL at about:support.
- Install libva, libva-utils, and libva-intel-driver packages.
- Install ffmpeg from RPM Fusion repository.
- Run vainfo on terminal to verify that VA-API works. If VA-API is disabled you're running on new hardware[2] and you need intel-media-driver from RPM Fusion repository non-free.
- At about:config page set media.ffmpeg.vaapi.enabled to true
- Restart browser.
- You may install enhanced-h264ify Firefox extension to disable non-accelerated video formats.
- More info is here.
Video decoding on NVIDIA
Please buy some real Linux hardware.
Troubleshooting
Run Firefox on terminal with MOZ_LOG="PlatformDecoderModule:5" env variable. It produces a playback and decode log with VA-API / ffmpeg details.
Video encoding
Hardware accelerated video encoding (for WebRTC for instance) is not supported/implemented in Firefox, no matter which preference you set at about:config page.