Snap, Flatpak и нативные пакеты — какой метод установки выбрать
Выбор формата установки Firefox в Linux критически влияет на производительность и интеграцию с системой. Snap-версия, которую Ubuntu навязывает по умолчанию с 22.04, работает в строгой изоляции и показывает заметные задержки при запуске (3-5 секунд против 1 секунды у нативной версии), проблемы с доступом к файлам вне домашней директории и несовместимость с системными темами GTK.
Flatpak-версия предлагает компромисс: она изолирована через Bubblewrap, но использует более гибкие портальные API для доступа к системе. Производительность близка к нативной, работают темы через xdg-desktop-portal, но могут возникать проблемы с аппаратным ускорением на старых системах. Нативные DEB/RPM пакеты из репозиториев дистрибутива или официального PPA Mozilla обеспечивают лучшую интеграцию: полный доступ к системе, нативная работа с GNOME Keyring/KWallet, корректное применение системных настроек прокси.
Официальный репозиторий Mozilla (через PPA для Ubuntu или прямая загрузка tarball) гарантирует актуальные обновления безопасности в день релиза, тогда как дистрибутивные пакеты могут отставать на 1-2 недели. Для максимальной производительности и контроля рекомендуется именно нативная установка через PPA или прямая распаковка бинарного архива в /opt/firefox с созданием desktop-файла вручную.
Wayland vs X11 — решение проблем с видео и скриншотами
Firefox с версии 94 полноценно поддерживает Wayland и автоматически использует его на системах с переменной окружения WAYLAND_DISPLAY. Wayland-режим обеспечивает лучшую производительность благодаря WebRender с аппаратным ускорением, корректное масштабирование на HiDPI дисплеях без размытия и более плавную прокрутку. Однако многие сталкиваются с проблемой: скриншоты и демонстрация экрана в Zoom/Meet не работают.
Проблема решается настройкой PipeWire — современной системы захвата аудио/видео в Wayland. Убедитесь, что установлены пакеты pipewire, xdg-desktop-portal и xdg-desktop-portal-gtk (или -kde для Plasma). В about:config включите media.navigator.mediadatadecoder_vpx_enabled и widget.use-xdg-desktop-portal.file-picker. После перезапуска Firefox начнёт использовать портальный API для захвата экрана.
Если проблемы сохраняются или нужен X11 для совместимости со старым софтом, принудительно запустите Firefox в X11-режиме через переменную окружения: MOZ_ENABLE_WAYLAND=0 firefox. Для постоянного эффекта добавьте эту переменную в desktop-файл или создайте алиас в ~/.bashrc. Проверить текущий режим можно в about:support — строка «Window Protocol» покажет «wayland» или «x11».
Настройка аппаратного декодирования видео (VA-API)
По умолчанию Firefox в Linux декодирует видео на CPU, что вызывает перегрев ноутбуков и разряд батареи при просмотре YouTube. Аппаратное ускорение через VA-API (Video Acceleration API) снижает нагрузку на процессор с 60-80% до 5-10% и работает на графике Intel (с драйвером i965 или iHD) и AMD (с mesa/radeonsi).
Для включения установите пакеты libva2, vainfo и драйвер: intel-media-va-driver для Intel Gen 8+ или mesa-va-drivers для AMD. Проверьте поддержку командой vainfo — должны отображаться профили H.264, VP9, AV1. В Firefox откройте about:config и установите: media.ffmpeg.vaapi.enabled = true, media.rdd-ffmpeg.enabled = true, media.av1.enabled = true (для AV1), widget.dmabuf.force-enabled = true (для Wayland).
Проверьте работу в about:support в разделе «Media» — строки «AV1», «H264», «VP9» должны показывать «Available». На NVIDIA с проприетарными драйверами VA-API работает через обёртку nvidia-vaapi-driver, но требует дополнительных переменных NVD_BACKEND=direct MOZ_DISABLE_RDD_SANDBOX=1 и часто нестабильна. В этом случае рекомендуется использовать VDPAU через libvdpau-va-gl или оставить программное декодирование.
Синхронизация профилей между дистрибутивами и форматами
Firefox хранит профили в ~/.mozilla/firefox/ для нативных установок, но Snap использует ~/snap/firefox/common/.mozilla/, а Flatpak — ~/.var/app/org.mozilla.firefox/.mozilla/. При параллельной установке нескольких версий или переходе между форматами профили не синхронизируются автоматически, что приводит к потере закладок и расширений.
Для переноса профиля скопируйте папку с хешем (например, abc123de.default-release) из старой директории в новую и отредактируйте файл profiles.ini, указав правильный путь в параметре Path=. Альтернативный способ — использовать Firefox Sync через аккаунт Mozilla, который синхронизирует закладки, пароли, историю и расширения между всеми установками. Важно: синхронизация не переносит настройки about:config и пользовательский user.js.
При миграции между дистрибутивами (например, с Ubuntu на Arch) достаточно скопировать всю папку ~/.mozilla — профили, сертификаты и настройки полностью переносимы. Проблемы возникают только при значительной разнице версий Firefox (более 10 релизов) — в этом случае рекомендуется сначала обновить Firefox на старой системе, дождаться синхронизации, затем переносить профиль.
Интеграция с рабочим окружением Linux
Firefox автоматически подхватывает GTK-темы на GNOME и Plasma, но требует установки пакета firefox-gnome-theme (неофициальный) для полной интеграции с libadwaita в GNOME 42+. В KDE Plasma для корректного применения тем Qt нужно установить plasma-browser-integration и расширение Plasma Integration из магазина дополнений Firefox. Для HiDPI дисплеев Firefox автоматически определяет масштаб, но его можно принудительно задать через layout.css.devPixelsPerPx в about:config (1.5 для 150%, 2.0 для 200%).
Интеграция с менеджерами паролей работает через расширения: KeePassXC Browser для KeePassXC (требует включения browser integration в настройках KeePassXC) и автоматическая интеграция с GNOME Keyring через libsecret. Для Bitwarden, 1Password и LastPass используйте официальные расширения. Firefox может сохранять пароли в системную связку ключей, если в about:config установить signon.management.page.os-auth.enabled = true.
Настройка обработчиков файлов по умолчанию делается через системные настройки: в GNOME через «Параметры → Приложения по умолчанию», в KDE через «Параметры системы → Приложения → Приложения по умолчанию». Для работы тачпад-жестов (свайп назад/вперёд двумя пальцами) в Wayland включите widget.disable-swipe-tracker = false. В X11 жесты зависят от libinput и могут требовать настройки через xinput или touchegg для корректного распознавания.