Firefox
Install Firefox via these packages (adjust for your desired locale):
pacman -S firefox firefox-i18n-de
Wayland
Wayland is not yet the default display manager for Firefox (it falls back to XWayland on Wayland). To force Firefox to use Wayland you can set the MOZ_ENABLE_WAYLAND
environment variable to 1
. Use user specific systemd environment variable configs to set it:
echo "MOZ_ENABLE_WAYLAND=1" >> ~/.config/environment.d/moz_wayland.conf
Media Playback
Autoplay in background
Firefox prevents autoplay for media of tabs that aren't currently active, which causes apps like Plex to take very long to skip to the next track after the current one has ended. The following setting in about:config
can be used to disable this behavior:
Setting key | Value | Description |
---|---|---|
media.block-autoplay-until-in-foreground |
false |
Enable autoplay when tab is not currently active |
Hardware Decoding
Utilizing GPU hardware accelerated decoding of video content results in smoother playback of HD/4K content, while reducing CPU load and power draw (important to save on battery on laptops).
To ensure Firefox uses hardware decoding ensure the following:
- The necessary VA-API drivers are installed (see: Graphics Cards)
- Navigate to
about:support
and ensure that under Compositing it says WebRender (WebRender Software will not work) - Navigate to
about:config
and setmedia.ffmpeg.vaapi.enabled
totrue
- If running Wayland, enable Wayland mode in Firefox (see above)
Verify hardware video decoding
To verify Firefox is actually using VA-API to decode video you can launch it with the following command:
MOZ_LOG="FFmpegVideo:5" firefox 2>&1 | grep 'VA-API'
Start playing some video in Firefox and watch the logs on your terminal. If your log output reads something like the following video decoding via VA-API is working.
[RDD 97685: MediaPDecoder #1]: D/FFmpegVideo FFVPX: Initialising VA-API FFmpeg decoder
[RDD 97685: MediaPDecoder #2]: D/FFmpegVideo FFVPX: VA-API FFmpeg init successful
[RDD 97685: MediaPDecoder #2]: D/FFmpegVideo FFVPX: Choosing FFmpeg pixel format for VA-API video decoding.
[RDD 97685: MediaPDecoder #1]: D/FFmpegVideo FFVPX: VA-API FFmpeg init successful
[RDD 97685: MediaPDecoder #2]: D/FFmpegVideo FFVPX: VA-API Got one frame output with pts=0 dts=0 duration=40000 opaque=-9223372036854775808
[RDD 97685: MediaPDecoder #1]: D/FFmpegVideo FFVPX: Initialising VA-API FFmpeg decoder
[RDD 97685: MediaPDecoder #1]: D/FFmpegVideo FFVPX: VA-API FFmpeg init successful
[RDD 97685: MediaPDecoder #1]: D/FFmpegVideo FFVPX: VA-API Got one frame output with pts=40000 dts=40000 duration=40000 opaque=-9223372036854775808
[RDD 97685: MediaPDecoder #2]: D/FFmpegVideo FFVPX: VA-API Got one frame output with pts=80000 dts=80000 duration=40000 opaque=-9223372036854775808
[RDD 97685: MediaPDecoder #2]: D/FFmpegVideo FFVPX: VA-API Got one frame output with pts=120000 dts=120000 duration=40000 opaque=-9223372036854775808
KDE Plasma Integration
For better integration of Firefox into the KDE Plasma desktop, install the Plasma Integration add-on either via the Mozilla Add-on page. It enables rich notifications support and download progress integration into the notification area of KDE Plasma.
Media Playback Controls
To prevent duplicate entries in the Media Player widget or tray icon, set media.hardwaremediakeys.enabled
to false
. This disables the media entry from Firefox itself and only uses the one from the Plasma integration add-on.
KDE Dialogs
By default, Firefox uses GTK file and print dialogs, even on KDE. To change this to KDE native dialogs navigate to about:config
and change the appropriate widget.use-xdg-desktop-portal
settings to 1
.