general:firefox
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
general:firefox [2020/11/17 18:15] – created sunkan | general:firefox [2025/01/22 12:13] (current) – sunkan | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Important security settings ====== | ====== Important security settings ====== | ||
- | * Don't allow FF to automatically fill in forms with stored passwords signon.autofillForms = false | + | |
====== 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 " |
general/firefox.1605636930.txt.gz · Last modified: 2020/11/17 18:15 by sunkan