lts24-lts26-upgrade: call Firefox огнелис in the Firefox note

This commit is contained in:
4aiman 2026-11-08 15:32:16 +03:00
commit 6e0f9fde4a

View file

@ -1,7 +1,7 @@
# firefox на nvidia - рисует процессором, видео 30 fps
После апгрейда ютуб в фаерфоксе (deb из PPA mozillateam, 159) стал дёргаться: 60, потом хрясь - 30. Хоть 1080, хоть 2К, хоть в отдельном плеере.<br>
Композитор не виноват: счётчик кадров в моём xfwm4 показывал, что он ни разу не опоздал - просто фаерфокс сам отдавал 16-48 кадров.
После апгрейда ютуб в огнелисе (deb из PPA mozillateam, 159) стал дёргаться: 60, потом хрясь - 30. Хоть 1080, хоть 2К, хоть в отдельном плеере.<br>
Композитор не виноват: счётчик кадров в моём xfwm4 показывал, что он ни разу не опоздал - просто огнелис сам отдавал 16-48 кадров.
В `about:support` -> Графика:
```
@ -9,13 +9,13 @@
OPENGL_COMPOSITING ... FEATURE_FAILURE_GLXTEST_FAILED
X11_EGL ... glxtest could not use EGL
```
То есть вся страница и видео рисуются процессором. Флаги в about:config (`gfx.webrender.all` и компания) тут не помогают - фаер честно пишет "force enabled by pref", а потом всё равно уходит в софтвар.
То есть вся страница и видео рисуются процессором. Флаги в about:config (`gfx.webrender.all` и компания) тут не помогают - огнелис честно пишет "force enabled by pref", а потом всё равно уходит в софтвар.
## Причина - аппармор
На 26.04 пакет фаерфокса из mozillateam тащит свой профиль `/etc/apparmor.d/usr.bin.firefox` в режиме enforce. Он называется так же (`firefox`), как пустышка Убунты `/etc/apparmor.d/firefox` (там `flags=(unconfined)`), и перебивает её. Смотреть надо не на файл, а на то, что загружено - в выводе фаера из терминала видно `label="firefox (enforce)"`.
На 26.04 пакет огнелиса из mozillateam тащит свой профиль `/etc/apparmor.d/usr.bin.firefox` в режиме enforce. Он называется так же (`firefox`), как пустышка Убунты `/etc/apparmor.d/firefox` (там `flags=(unconfined)`), и перебивает её. Смотреть надо не на файл, а на то, что загружено - в выводе огнелиса из терминала видно `label="firefox (enforce)"`.
В профиле есть доступ к mesa, а к nvidia - нет. Фаер при старте гоняет тест графики `gfxtest`, тот под профилем не может открыть драйвер - и всё, чёрный список на всё ускорение.
В профиле есть доступ к mesa, а к nvidia - нет. Огнелис при старте гоняет тест графики `gfxtest`, тот под профилем не может открыть драйвер - и всё, чёрный список на всё ускорение.
Проверить без гаданий:
```
@ -36,7 +36,7 @@ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
```
sudo apparmor_parser -r /etc/apparmor.d/firefox
```
Фаер перезапустить полностью. Бонусом в `about:support` -> Песочница "Пользовательские пространства имён" становится true.
Огнелис перезапустить полностью. Бонусом в `about:support` -> Песочница "Пользовательские пространства имён" становится true.
Вернуть как было:
```
@ -60,7 +60,7 @@ media.hardware-video-decoding.force-enabled true
```
HARDWARE_VIDEO_DECODING ... FEATURE_HARDWARE_VIDEO_DECODING_NO_LINUX_NVIDIA
```
Это чёрный список самого фаера, force-enabled его не перебивает. Нужен `nvidia-vaapi-driver` и две переменные (из README драйвера):
Это чёрный список самого огнелиса, force-enabled его не перебивает. Нужен `nvidia-vaapi-driver` и две переменные (из README драйвера):
```
LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 firefox
```
@ -70,12 +70,12 @@ LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 firefox
```
Exec=env LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 firefox %u
```
И для ссылок из других программ, если фаер стоит браузером по умолчанию в XFCE, - копия помощника `~/.local/share/xfce4/helpers/firefox.desktop`:
И для ссылок из других программ, если огнелис стоит браузером по умолчанию в XFCE, - копия помощника `~/.local/share/xfce4/helpers/firefox.desktop`:
```
X-XFCE-Commands=env LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 %B;
X-XFCE-CommandsWithParameter=env LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 %B "%s";
```
Ещё грабли: если когда-то выбирал фаер в "Открыть с помощью -> другое приложение", в `~/.local/share/applications/` лежит `userapp-Firefox-*.desktop` с `Exec=/usr/lib/firefox/firefox-bin %u`. На 26.04 `firefox-bin` больше нет - html-файлы и прочее, привязанное к этому ярлыку в `mimeapps.list`, тупо не открываются. Поправить там `Exec=` так же, как выше.
Ещё грабли: если когда-то выбирал огнелис в "Открыть с помощью -> другое приложение", в `~/.local/share/applications/` лежит `userapp-Firefox-*.desktop` с `Exec=/usr/lib/firefox/firefox-bin %u`. На 26.04 `firefox-bin` больше нет - html-файлы и прочее, привязанное к этому ярлыку в `mimeapps.list`, тупо не открываются. Поправить там `Exec=` так же, как выше.
Итог: основной процесс фаера 84% -> 32% CPU, декодер 42% -> 9%, видюха декодирует, ровные 60.
Итог: основной процесс огнелиса 84% -> 32% CPU, декодер 42% -> 9%, видюха декодирует, ровные 60.