Google Chrome или Chromium в Arch Linux
2023-03-12T17:10:47+05:00
linuxВнимание: Я не рекомендую пользоваться Гугл Хромом на Арче по нескольким причинам:
- Возникают мелкие графические артефакты, в определённых местах, пока не знаю с чем это связано (пикча)
- Возникают проблемы с открытием “Настройка и управление Chrome”, которая совсем не открывается, фиксится сменой раб. столов
Поэтому как замену google-chrome рекомендуется использовать chromium или ungoogled-chromium
Необходимо установить шрифты для корректной работы данных браузеров
sudo pacman -S ttf-dejavu noto-fonts noto-fonts-emoji
Устанавливаем на выбор браузер
# AUR пакет Google Chrome
yay -S google-chrome
# Стандартный Chromium
sudo pacman -S chromium
# Включение Аппаратного Декодирования (Hardware Decode)
Для проверки наличия VA-API
vainfo
При такой ошибке необходим пакет libva-mesa-driver
vaInitialize failed with error code -1 (unknown libva error),exit
Для проверки наличия VDPAU
vdpauinfo
При такой ошибки необходим пакет mesa-vdpau
display: :0 screen: 0 Failed to open VDPAU backend libvdpau_radeonsi.so: cannot open shared object file: No such file or directory Error creating VDPAU device: 1
Скачиваем эти пакеты для AMD
sudo pacman -S libva-mesa-driver mesa-vdpau
Также очень рекомендуется установить расширение enhanced-h264ify чтобы принудительно ставить аппаратный рендер видео в H264 вместо vp8/vp9/AV1 (без него в консоли показывается что аппаратный видеодекодер отключен)
С включёнными флагами описанными ниже удалось заставить google chrome и chromium/ungoogled-chromium работать на аппаратном декодировании
Включаем любое видео в ютубе, жмём F12 - три точки - More tools - Media. Далее жмём на вкладку Media и видим название видоса в списке, жмём на него и видим всю инфу о декодировании, в данном случае работает VDAVideoDecoder
# Необходимые и полезные флаги
Все флаги которые у вас включены в браузер: chrome://version/
Повзаимствованые флаги
- https://github.com/dreammjow/ChromiumHardening
- https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md
Настройка флагов для подобных браузеров идентична, кроме разве что названия конфига
Для Chromium / Ungoogled-Chromium: Вводим параметры конфига по данному пути ~/.config/chromium-flags.conf
Для Google Chrome (НЕ ТЕСТИРОВАЛ): Вводим параметры конфига по данному пути ~/.config/chrome-flags.conf
Для Brave: Вводим параметры конфига по данному пути
~/.config/brave-flags.conf
- Описание:
- WebUIDarkMode - Включает тёмную тему
- ScrollableTabStrip - (Рекомендуется для Arch Linux) Отключает скролл вкладок
- DownloadBubble - Новый вид загрузок как в Edge
--enable-features=WebUIDarkMode,ScrollableTabStrip,DownloadBubble
- Описание: Принудительная тёмная тема браузера
--force-dark-mode
- Описание: Убираем уведомление "Сделать хром браузером по умолчанию"
--no-default-browser-check
- Описание: Отключить автоматическое добавление поисковых систем с веб-страниц
--disable-search-engine-collection
- Описание: Включает параллельную закачку для ускорение скорости скачивания
--enable-parallel-downloading
- Описание: Убирает панель "Список для чтения"
--hide-sidepanel-button
- Описание: Убирает в newtab самые посещаемые сайты
--disable-top-sites
- Описание: Отключает ненужную иконку профиля
--show-avatar-button=never
- Описание: Автоматический отклоняет любые уведомления разрешения браузера
--deny-permission-prompts
- Описание: Восстанавливает последнюю сессию
--restore-last-session
- Описание: Улучшаем производительность путём включения Hardware Acceleration (Аппаратное ускорение)
--ignore-gpu-blocklist
--enable-gpu-rasterization
--enable-zero-copy
--use-vulkan
- Описание: Включаем 144hz, вставляете любую т.к обе команды одинаково действуют и работают
На выбор:
- VA-API для xwayland (wayland)
--use-gl=desktop
- VA-API для Xorg
--use-gl=egl
- Описание: Дополнительно прописываем вот это, чтобы отключить сообщения о ошибках
--disable-gpu-driver-bug-workarounds
UPD (17.03.22): Обнаружил такую проблему при обновленном google-chrome/chromium
Problems Detected
Accelerated video decode/encode has been disabled, either via blocklist, about:flags or the command line.
Disabled Features: video_decode/video_encode
Решение: Вводим в *-flags.conf внутри данной секции
--enable-features=....VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization..
--disable-features=UseChromeOSDirectVideoDecoder
Проверить на поддержку Hardware Acceleration, введите chrome://gpu
UPD (11.06.22): Следующая ошибка при обновлённом chromium'e/chrome
Problems Detected
WebGPU has been disabled via blocklist or the command line.
Disabled Features: webgpu
Это экспериментальная опция, может нарушить работу браузера. Но чуть увеличивает плавность рендера 3D объектов
--enable-unsafe-webgpu
Описание: Браузер будет подхватывать pac прокси от antizapret (не используя расширения)
--proxy-pac-url=https://antizapret.prostovpn.org/proxy.pac
- Тестирование браузера на 144hz
- Тестирование на 3D объекты 1
- Тестирование на 3D объекты 2
- Тестирование на аппаратное ускорение
Совет: Raw Draw игнорьте и не включайте, будут проблемы в отображениях шрифтов
# Решаем проблему медленного скролла мыши Chromium Based браузеров (Исправлено в 109.0.5414.74)
Это не проблема Linux а проблема браузеров на основе electron/chromium об этом упоминается в Arch Wiki + способы решения
Самым простым решением будет использовать расширение SmoothScroll
Есть вариант с использование инструмента imwheel который умеет настраивать ход колеса мыши к любому софту. Однако работает оно с некоторыми раздражающими ПРОБЛЕМАМИ.
Устанавливаем пакет
sudo pacman -S imwheel
Создаём конфиг в $HOME директории и вставляем
nvim .imwheelrc
"^(chromium|google-chrome|brave-browser)$"
# Фикс scroll
None, Up, Button4, 2.8
None, Down, Button5, 2.8
# Без изменений для zoom'а страниц
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
# vim:ts=4:shiftwidth=4:syntax=sh
Для меня нормальное значение скролла будет 2.8, вы же можете играться с этими значениями если вас не устраивает мои
Далее для теста запустим данный инструмент командой
imwheel -b "45" -k
Описание опций:
-b "45"
- боковые кнопки мыши не будут затрагиваться при запуске этой команды, без этой опции боковые вообще не будут работать-k
- перезагружает процесс imwheel
Если видите такой выхлоп в терминале значит инструмент запущен
INFO: imwheel started (pid=6604)
Убить данный процесс командой
pkill imwheel
Для автозапуска imwheel при запуске системы прописываем в автозапуск файла ~/.xprofile
(Для DM) или ~/.xinitrc
(запуск с TTY)
# Исправление скролла мыши
imwheel -b "45"
# Установка удалённых расширений
Папка с расширениями находится по такому пути
Chrome: ~/.config/google-chrome/Default/Extensions
Chromium: ~/.config/chromium/Default/Extensions
Для примера я установлю удалённый из магазина расширений chrome, open source торрент поисковик
Скачиваем данное расширение в формате zip
Открываем окно расширения chrome - "Загрузить распакованное расширение". И открываем папку с распакованным расширением, имя которого начинается с ngcldk...
У вас в списке появится данное расширение