general:firefox
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| general:firefox [2020/11/18 06:54] – sunkan | general:firefox [2025/03/13 07:12] (current) – sunkan | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ====== HW video decoding using VAAPI ====== | ====== HW video decoding using VAAPI ====== | ||
| + | For it to work with firejail one needs to ignore '' | ||
| + | ~/ | ||
| + | < | ||
| + | # Allows HW video decode | ||
| + | ignore noroot | ||
| + | </ | ||
| + | ===== Update 2022-02-05 ===== | ||
| + | As of now it seems that it is working with RDD enabled (tested with Firefox 96.0.3) | ||
| + | |||
| + | Only these two options need to be set on my AMD machine to enable it. | ||
| < | < | ||
| - | MOZ_X11_EGL=1 firefox | + | gfx.x11-egl.force-enabled true |
| + | media.ffmpeg.vaapi.enabled true | ||
| + | </ | ||
| + | |||
| + | If needed disable av1/av01 codec if there is no HW decode support (YouTube may use this with 1080p otherwise) | ||
| + | This can of course affect media at other sites. | ||
| + | Note that av1/av01 is NOT the same as avc1 | ||
| + | [[https:// | ||
| + | < | ||
| + | media.av1.enabled = false | ||
| + | </ | ||
| + | |||
| + | vainfo from AMD Ryzen 7 5700G with Radeon Graphics | ||
| + | < | ||
| + | vainfo: VA-API version: 1.10 (libva 2.10.0) | ||
| + | vainfo: Driver version: Mesa Gallium driver 20.3.5 for AMD RENOIR (DRM 3.40.0, 5.10.0-11-amd64, | ||
| + | vainfo: Supported profile and entrypoints | ||
| + | VAProfileMPEG2Simple | ||
| + | VAProfileMPEG2Main | ||
| + | VAProfileVC1Simple | ||
| + | VAProfileVC1Main | ||
| + | VAProfileVC1Advanced | ||
| + | VAProfileH264ConstrainedBaseline: | ||
| + | VAProfileH264ConstrainedBaseline: | ||
| + | VAProfileH264Main | ||
| + | VAProfileH264Main | ||
| + | VAProfileH264High | ||
| + | VAProfileH264High | ||
| + | VAProfileHEVCMain | ||
| + | VAProfileHEVCMain | ||
| + | VAProfileHEVCMain10 | ||
| + | VAProfileHEVCMain10 | ||
| + | VAProfileJPEGBaseline | ||
| + | VAProfileVP9Profile0 | ||
| + | VAProfileVP9Profile2 | ||
| + | VAProfileNone | ||
| + | </ | ||
| + | |||
| + | ==== To check if HW decoding is active ==== | ||
| + | On newer AMD | ||
| + | < | ||
| + | while true; do cat / | ||
| + | </ | ||
| + | |||
| + | On Intel - check for Video engine activity | ||
| + | < | ||
| + | intel_gpu_top | ||
| + | </ | ||
| + | |||
| + | ===== Old information ===== | ||
| + | |||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | |||
| + | < | ||
| + | MOZ_X11_EGL=1 firefox | ||
| + | gfx.x11-egl.force-enabled = true | ||
| media.ffmpeg.vaapi.enabled = true | media.ffmpeg.vaapi.enabled = true | ||
| media.ffvpx.enabled = false | media.ffvpx.enabled = false | ||
| gfx.webrender.enabled = true | gfx.webrender.enabled = true | ||
| + | |||
| + | Possibly disable use of av1/av01 (YouTube uses this with 1080p otherwise) | ||
| + | media.av1.enabled = false | ||
| + | |||
| + | There are now also new settings for separate rendering process (RDD) | ||
| + | Have not fully understood yet what needs to be set. | ||
| MOZ_X11_EGL=1 MOZ_LOG=" | MOZ_X11_EGL=1 MOZ_LOG=" | ||
| + | |||
| + | To get better log why VAAPI is disabled run Firefox with: | ||
| + | MOZ_LOG=" | ||
| + | |||
| </ | </ | ||
| + | |||
| + | ===== Checking if HW decoder is active ===== | ||
| + | ==== AMD ==== | ||
| + | Check if " | ||
| + | < | ||
| + | watch -n ' | ||
| + | or | ||
| + | watch -n ' | ||
| + | </ | ||
| + | |||
| + | ===== Known problems ===== | ||
| + | |||
| + | ==== Nextcloud talk ==== | ||
| + | When a screen is shared from remote end only a black screen is shown. | ||
| + | |||
| + | Log output from: | ||
| + | < | ||
| + | MOZ_X11_EGL=1 MOZ_LOG=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [Child 145: Unnamed thread 0x7f899b1e8940]: | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | libva info: VA-API version 1.4.0 | ||
| + | libva info: va_getDriverName() returns 0 | ||
| + | libva info: Trying to open / | ||
| + | libva info: Found init function __vaDriverInit_1_4 | ||
| + | libva info: va_openDriver() returns 0 | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x3231564e -> nv12. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x30313050 -> p010le. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x36313050 -> unknown. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x32315659 -> yuv420p. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x56595559 -> unknown. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x59565955 -> uyvy422. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x41524742 -> bgra. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x41424752 -> rgba. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x58524742 -> bgr0. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Format 0x58424752 -> rgb0. | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] VAAPI driver: Mesa Gallium driver 18.3.6 for AMD KAVERI (DRM 2.50.0, 4.19.0-12-amd64, | ||
| + | [AVHWDeviceContext @ 0x7f899adbf440] Driver not found in known nonstandard list, using standard behaviour. | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [vp8 @ 0x7f899a96c800] Format vaapi_vld chosen by get_format(). | ||
| + | [vp8 @ 0x7f899a96c800] Format vaapi_vld requires hwaccel initialisation. | ||
| + | [vp8 @ 0x7f899a96c800] No support for codec vp8 profile -99. | ||
| + | [vp8 @ 0x7f899a96c800] Failed setup for format vaapi_vld: hwaccel initialisation returned error. | ||
| + | [vp8 @ 0x7f899a96c800] Format vaapi_vld not usable, retrying get_format() without it. | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [Child 145: Unnamed thread 0x7f899b1e8940]: | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | libva info: VA-API version 1.4.0 | ||
| + | libva info: va_getDriverName() returns 0 | ||
| + | libva info: Trying to open / | ||
| + | libva info: Found init function __vaDriverInit_1_4 | ||
| + | libva info: va_openDriver() returns 0 | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x3231564e -> nv12. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x30313050 -> p010le. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x36313050 -> unknown. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x32315659 -> yuv420p. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x56595559 -> unknown. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x59565955 -> uyvy422. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x41524742 -> bgra. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x41424752 -> rgba. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x58524742 -> bgr0. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Format 0x58424752 -> rgb0. | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] VAAPI driver: Mesa Gallium driver 18.3.6 for AMD KAVERI (DRM 2.50.0, 4.19.0-12-amd64, | ||
| + | [AVHWDeviceContext @ 0x7f8999cc3ec0] Driver not found in known nonstandard list, using standard behaviour. | ||
| + | [Child 145: MediaPDecoder #1]: D/ | ||
| + | [Child 145: MediaPDecoder #3]: D/ | ||
| + | [Child 145: MediaPDecoder #3]: D/ | ||
| + | [vp8 @ 0x7f8999df7000] Format vaapi_vld chosen by get_format(). | ||
| + | [vp8 @ 0x7f8999df7000] Format vaapi_vld requires hwaccel initialisation. | ||
| + | [vp8 @ 0x7f8999df7000] No support for codec vp8 profile -99. | ||
| + | |||
| + | [etc]... | ||
| + | </ | ||
| + | |||
| + | === Tested workaround (as in turning off acceleration) === | ||
| + | media.ffvpx.enabled = true | ||
| + | |||
| + | ====== Using Telavox web based SIP phone with FF ====== | ||
| + | ===== Need to spoof the user-agent to include " | ||
| + | |||
| + | Install [[https:// | ||
| + | |||
| + | Then add this to the " | ||
| + | |||
| + | <code ecmascript> | ||
| + | { | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Now you also need to manually enable accepting calls ===== | ||
| + | This is due to [[https:// | ||
| + | |||
| + | First make sure that you have allowed persistent access to microphone. \\ | ||
| + | Then add the value registerSoftphone:" | ||
| + | |||
| + | If you then go to " | ||
| + | |||
| + | ====== Arkenfox ====== | ||
| + | ===== Custom overrides ===== | ||
| + | < | ||
| + | /* override recipe: enable session restore ***/ | ||
| + | user_pref(" | ||
| + | // user_pref(" | ||
| + | // user_pref(" | ||
| + | user_pref(" | ||
| + | user_pref(" | ||
| + | /* 2812: set/enforce clearOnShutdown items [FF136+] ***/ | ||
| + | user_pref(" | ||
| + | |||
| + | // 2820 optional to match when you use settings> | ||
| + | // user_pref(" | ||
| + | |||
| + | // 2830 optional to match when you use Ctrl-Shift-Del (settings> | ||
| + | // user_pref(" | ||
| + | // user_pref(" | ||
| + | |||
| + | /* 2611: disable middle mouse click opening links from clipboard | ||
| + | * [1] https:// | ||
| + | user_pref(" | ||
| + | </ | ||
| + | |||
general/firefox.1605682496.txt.gz · Last modified: 2020/11/18 06:54 by sunkan