- Выжимаем все соки из Chromium на Linux
- Chromium
- Contents
- Installation
- Configuration
- Default applications
- Certificates
- Making flags persistent
- Force GPU acceleration
- Hardware video acceleration
- Tips and tricks
- PDF viewer plugin
- Flash Player plugin
- Native Wayland support
- Tips and tricks
- Browsing experience
- chrome:// URLs
- Chromium task manager
- Chromium overrides/overwrites Preferences file
- Search engines
- Tmpfs
- Launch a new browser instance
- Directly open *.torrent files and magnet links with a torrent client
- Touch Scrolling on touchscreen devices
- Reduce memory usage
- User Agent
- DOM Distiller
- Forcing specific GPU
- Import bookmarks from Firefox
- Enabling native notifications
- U2F authentication
- Dark mode
- Profile maintenance
- Security
- Disable JIT
- WebRTC
- SSL certificates
- Canvas Fingerprinting
- Privacy extensions
- Do Not Track
- Force a password store
- Troubleshooting
- Fonts
- Tab font size is too large
- WebGL
- Incorrect HiDPI rendering
- Password prompt on every start with GNOME Keyring
- Chromecasts in the network are not discovered
- Everything is syncing except for password
- Losing cookies and passwords when switching between desktop environments
- Hang on startup when Google Sync enabled
- Chromium asks to be set as the default browser every time it starts
- «This browser or app may not be secure» error logging in to Google
- Chromium stuck at 60fps when using a 144Hz + 60Hz monitor
- Chromium low scroll speed
Выжимаем все соки из Chromium на Linux
В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.
Поехали!
Как сделать резервную копию всего профиля браузера (настройки, история. закладки и пр.), написано в конце статьи.
Заходим по адресу chrome://gpu (да, именно так наберите в адресной строке или скопипастьте)!
Как видите, у меня везде зеленая надпись «Hardware accelerated», что говорит, что данная функция использует аппаратное ускорение за счет выноса вычислений на видеокарту, а «Enabled» говорит, что программный алгоритм включен.
Теперь зайдите в chrome://flags .Здесь и будем производить большую часть настройки.
На скриншоте красным прямоугольников выделил #ignore-gpu-blacklist . Дальше все опции из этого списка буду именовать именно вот так. Можно нажать Ctrl+F и найти настройку по ее скопипащенному названию.
Теперь у нас открыты и chrome://gpu , и chrome://flags . Смотрим, какие параметры есть в chrome://gpu , и, если параметр не зеленый, а желтый или красный, в chrome://flags изменяем соответствующую настройку. Осторожно, некоторые настройки могут сделать работу браузера нестабильной, зависит от железа.
Canvas — аппаратное ускорение отрисовки канваса
В chrome://flags это #ignore-gpu-blacklist
Отключается включением опции #disable-accelerated-2d-canvas
CheckerImaging — суть в том, что растеризация картинки убрана из зависимости от растеризации остальной области, с которой связана картинка, что позволяет отрисовывать веб-страницу, не дожидаясь окончания обработки картинки, как-то так. Говорят, сайт Юлмарта начинает отрисовываться намного быстрее.
Это параметр командной строки —enable-features=»CheckerImaging» , подробнее ниже.
Flash, Flash Stage3D, Flash Stage3D, Flash Stage3D Baseline profile — аппаратное ускорение декодирования флеш-контента
Тоже #ignore-gpu-blacklist
Compositing — аппаратное ускорение наложения слоев
Скорее всего, тоже #ignore-gpu-blacklist , я не встречал, чтобы это было не работало (было не зеленым) «из коробки».
Multiple Raster Threads — распараллеливание на несколько потоков процесса растеризации векторных элементов веб-страницы
#enable-gpu-rasterization —> Force-enabled for all layers / Принудительно для всех слоев.
Включение этой опции также может помочь, если у вас моргает экран при просмотре сайтов, в т.ч. вконтакте, и видео.
Native GpuMemoryBuffers — исключается дополнительный буфер при копировании элементов между CPU и GPU, по умолчанию выключено, почему — подробно написано по ссылке.
Это параметр командной строки —enable-native-gpu-memory-buffers , подробнее ниже.
Rasterization — применение видеокарты для растеризации
#enable-gpu-rasterization
Video Decode — аппаратное ускорение декодирования видео (при просмотре видео декодируется)
Video Encode — аналогично кодирование
Входит в #ignore-gpu-blacklist
WebGL, WebGL2 — поддержка рендеринга на видеокарте набора инструкций OpenGL, входящих в стандарт WebGL; автоматически выключается, если драйвер видеокарты их не поддерживает.
Входит в #ignore-gpu-blacklist
Еще есть опция #enable-zero-copy , выше приведена ссылка на статью инженеров Intel, которые разрабатывали эту функцию (судя по скриншотам и вступлению в статье, разработка происходит на Ubuntu, но коммерчески выгодна в первую очередь из-за Chrome OS). Есть подозрение, что ее работа будет очень специфична для конкретного железа.
#enable-tcp-fast-open — TCP Fast Open, ускоряет работу сетевого стека, фича ядра Linux, на Windows и MacOS недоступно, виндузятниги с**** ничего не подозревая наслаждаются ущербностью своей операционной системы, яблочники от них не сильно отстают (не воспринимайте близко к сердцу, это шутка).
#expensive-background-timer-throttling — ограничивает максимальную нагрузку на процессор фоновыми вкладками (т.е. не та вкладка, с которой вы сейчас работаете) до максимум 1%. Далеко не всегда уместно. Вдруг у вас в фоновой вкладке запущена торговля на бирже.
#v8-cache-options — например, в режиме «Cache V8 compiler data» V8 будет лучше кешировать javascript и не компилировать их заново. Опять же. на некоторых сложных веб-приложениях в теории может вызывать проблемы. V8 — это движок обработки ( в т.ч. компиляции) яваскрипта в Chromium, а компиляция javascript создает основную нагрузку на процессор при работе браузера.
#v8-cache-strategies-for-cache-storage — можно включить агрессивный кеш V8, речь о кеше в предыдущем абзаце, возможное последствия те же.
#shared-array-buffer — экспериментальные функции работы с памятью в javascript, подробное объяснение здесь.
#enable-simple-cache-backend —> Enabled/Включено — вместо реализации своего подобия файловой системы в блочном файле для кеша, работаем с файлами непосредственно внутри файловой системы, возлагая большую часть работы на операционную систему и уменьшая нагрузку на ввод-вывод с диска, в т.ч. уменьшаем количество переключений контекста, что должно ускорить работу.
Теперь про опции командной строки Chromium и Google Chrome. Теоретически, всякие иные поделия браузеры на движке Сhromium должны их поддерживать, но гарантии нет.
Закрываем все открытые копии Chromium, открываем терминал и выполняем вот такую команду:
В chrome://gpu видим, как стали зелеными пункты CheckerImaging и Native GpuMemoryBuffers (либо браузер вообще не запустился 🙂 ) Но ведь каждый раз запускать браузер через терминал неудобно, поэтому открываем графический редактор desktop-файлов и в нем дописываем в команду запуска браузера нужные нам параметры (обратите внимание, что на конце есть %U , оно заменяется на ссылку или путь к файлу, который нужно открыть, так что его не нужно удалять. В KDE это kmenuedit (вызов либо через терминал командой kmenuedit , либо подвести курсор к кнопке вызова меню приложений и нажать на правую кнопку мыши 1 раз, затем левой 1 раз нажать на «Редактор меню» в появившемся списке), на остальных DE (XFCE, GNOME, Budgie, LXDE, LXQt и др.) это menulibre .
Тру-униксоиды могут скопировать /usr/share/applications/chromium-browser.desktop в
/.local/share/applications/chromium-browser.desktop и отредактировать параметр Exec, получится то же самое:
В зависимости от DE, вам может потребоваться повторно вынести ярлык на рабочий стол и/или панели.
UPD 10.05.2018.
Здесь ведется полный список флагов для Chromium, который можно прописать непосредственно в Exec в Desktop-файле, чтобы не нужно было их все включать вручную:
Как измерить скорость работы браузера, понять, какие опции на вашем сочетании железа и видеодрайвера ускоряют работу, а какие замедляют?
Для этого запускайте онлайн бенчмарк web.basemark.com с различными сочетаниями настроек и сравнивайте количество набранных попугаев баллов.
В chrome://gpu браузер может мамой клясться, что включено аппаратное ускорение декодирования видео. Но ведь не каждое видео будет декодироваться аппаратно!
Открываем chrome://media-internals/ , параллельно запускаем проигрывание какого-нибудь видео с Youtube и смотрим, каким кодеком оно декодируется.
Сейчас Google все видео отдает в кодеке VP9 собственной разработки, но на довольно многих старых видеокартах возможно аппаратное декодирование только H.264; расширение h264ify заставит браузер сообщать, что он не поддерживает кодеки VP8 и VP9, что заставит Youtube отдавать видео в H.264. См. youtube.com/html5
По умолчанию так:
С включенным h264ify на его стандартных настройках:
Вообще нет единого нормального списка, какие драйверы и на каких видеокартах поддерживают аппаратное декодирование, но вот Chromium 62 появится полноценная работа VA-API (API для аппаратного ускорения кодирования и декодирования видео), которая была и раньше, но только на ChromeOS, а, например, здесь, Хромиум собирали и собирают с патчем, который включает это и на Линуксе. Для работы рекомендуется свежая версия libva; если у вас, к примеру, Ubuntu 16.04, то можно обновить весь графический стек отсюда, что рекомендуется пользователям современных и не очень видеокарт Intel и AMD, т.к. в наши дни опенсорсный графический стек развивается очень быстро, а мы в статье задействовали множество функций работы с видеокартой. Разработчики Ubuntu 17.10 работали над улучшением работы VA-API из коробки. Вообще, с проигрыванием видео на Линуксе никогда не встречал проблем, все хорошо работает из коробки. Для Firefox было дополнение, которое позволяло ролик с Youtube проигрывать во внешнем плеере mpv, что на очень старых машинах могло существенно снижать нагрузку на процессор.
— Памагите. Браузер перестал запускаться.
— Такое бывает очень редко, но все же иногда случается, когда настройки работы с видеокартой выкручиваются так, что у браузера не получается с ней работать. Открываем в файловом менеджере папку
— это ваша домашняя папка) и находим папку chromium (для Google Chrome она называется google-chrome, Vivaldi — Vivaldi и т.д.).
В ней хранится наш профиль. Можно просто переименовать папку, например, в chromium.old, а при следующем запуске chromium создаст ее заново и начнет с чистого листа. В качестве резервной копии (бекапа) рекомендую до проведения всех манипуляций заархивировать эту папку (и хранить, как зеницу ока). Если вы что-то поломали, а начинать с чистого профиля не хочется, то попробуйте открыть терминал внутри
/.config/chromium и выполнить команду:
где вместо ignore-gpu-blacklist подставьте название опции, которая, как вы думаете, с тала причиной неполадок. В ответ команда grep выдаст путь к файлу и номер строки, где есть шанс поправить настройку. Возможно, часть настроек хранится в SQLite базе данных, и тогда потребуется какая-нибудь программа для работы с SQLite-БД и поиска по ним. Честно говоря, ни разу не пробовал так делать.
За сим отчаливаю, спасибо за внимание, жду отзывов и вопросов в комментариях.
Источник
Chromium
Chromium is an open-source graphical web browser based on the Blink rendering engine. It is the basis for the proprietary Google Chrome browser.
See this page for an explanation of the differences between Chromium and Google Chrome. Additionally:
- Sync is unavailable in Chromium 89+ (2021-03-02) [1]
Consider switching to xbrowsersync for bookmarks syncing as long term solution.
See List of applications/Internet#Blink-based for other browsers based on Chromium.
Contents
Installation
There are several packages available to install Chromium with:
Google Chrome packages:
Configuration
Default applications
To set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see default applications.
Certificates
Chromium uses Network Security Services for certificate management. Certificates can be managed in chrome://settings/certificates .
Making flags persistent
You can put your flags in a chromium-flags.conf file under $HOME/.config/ (or under $XDG_CONFIG_HOME if you have configured that environment variable).
No special syntax is used; flags are defined as if they were written in a terminal.
- The arguments are split on whitespace and shell quoting rules apply, but no further parsing is performed.
- In case of improper quoting anywhere in the file, a fatal error is raised.
- Flags can be placed in separate lines for readability, but this is not required.
- Lines starting with a hash symbol (#) are skipped. (This is only supported by the chromium launcher script and will not work when using chrome-flags.conf with the google-chromeAUR package.)
Below is an example chromium-flags.conf file that defines the flags —start-maximized —incognito :
Force GPU acceleration
By default Chromium on Linux does not use any GPU acceleration. To force GPU acceleration, append the following flags to persistent configuration:
Additionally the flag —disable-gpu-driver-bug-workarounds may need to be passed to prevent GPU workaround from being used. Flags in chrome://gpu should state «Hardware accelerated» when configured and available.
—enable-native-gpu-memory-buffers is broken since mesa 20.1.1 [2]
Hardware video acceleration
To enable VA-API support in Chromium:
- Install the correct VA-API driver for your video card and verify VA-API has been enabled and working correctly, see Hardware video acceleration. For proprietary NVIDIA support, installing libva-vdpau-driver-chromiumAUR or libva-vdpau-driver-vp9-gitAUR is required.
- Set the option —enable-features=VaapiVideoDecoder . If you are on X11, set —disable-features=UseOzonePlatform as well. This is enough when using ANGLE GL renderer and libva-intel-driver .
- When using ANGLE, Chromium forces the older i965 driver and fails when intel-media-driver is used. As a workaround, configure VA-API manually. See [4] for details.
- To use the system GL renderer on Xorg, use either —use-gl=egl or —use-gl=desktop . On XWayland, use the —use-gl=egl flag (Currently exhibits choppiness FS#67035 on some systems).
Tips and tricks
To check if it’s working play a video which is using a codec supported by your VA-API driver (vainfo tells you which codecs are supported, but Chromium will only support VP9 and h264):
- Open the DevTools by pressing Ctrl+Shift+I or on the Inspect button of the context (right-click) menu
- Add the Media inspection tab: Hamburger menu > More tools > Media
- In the newly opened Media tab, look at the hardware decoder state of the video decoder
Test on a large enough video. Starting with version 86, Chromium on desktop will only accelerate videos larger than 720p.
To reduce CPU usage while watching YouTube where VP8/VP9 hardware decoding is not available use the h264ify or enhanced-h264ify extension.
On some systems (especially on XWayland) you might need to #Force GPU acceleration. Only —ignore-gpu-blocklist is enough for our purposes.
This article or section needs expansion.
You might need to disable the Skia renderer, as it is currently not compatible with video decode acceleration: —disable-features=UseSkiaRenderer
PDF viewer plugin
Chromium and Google Chrome are bundled with the Chromium PDF Viewer plugin. If you do not want to use this plugin, check Open PDFs using a different application in chrome://settings/content/pdfDocuments .
Flash Player plugin
Support for Flash Player was removed in Chromium 88.[5]
Native Wayland support
Since version 87, native Wayland support in Chromium can be enabled with the following flags [6]:
See #Making flags persistent for a permanent configuration.
Tips and tricks
The following tips and tricks should work for both Chromium and Chrome unless explicitly stated.
Browsing experience
chrome:// URLs
A number of tweaks can be accessed via Chrome URLs. See chrome://chrome-urls for a complete list.
- chrome://flags — access experimental features such as WebGL and rendering webpages with GPU, etc.
- chrome://extensions — view, enable and disable the currently used Chromium extensions.
- chrome://gpu — status of different GPU options.
- chrome://sandbox — indicate sandbox status.
- chrome://version — display version and switches used to invoke the active /usr/bin/chromium .
An automatically updated, complete listing of Chromium switches (command line parameters) is available here.
Chromium task manager
Shift+ESC can be used to bring up the browser task manager wherein memory, CPU, and network usage can be viewed.
Chromium overrides/overwrites Preferences file
If you enabled syncing with a Google Account, then Chromium will override any direct edits to the Preferences file found under
/.config/chromium/Default/Preferences . To work around this, start Chromium with the —disable-sync-preferences switch:
If Chromium is started in the background when you login in to your desktop environment, make sure the command your desktop environment uses is:
Search engines
Make sites like wiki.archlinux.org and wikipedia.org easily searchable by first executing a search on those pages, then going to Settings > Search and click the Manage search engines.. button. From there, «Edit» the Wikipedia entry and change its keyword to w (or some other shortcut you prefer). Now searching Wikipedia for «Arch Linux» from the address bar is done simply by entering «w arch linux«.
Tmpfs
Cache in tmpfs
To limit Chromium from writing its cache to a physical disk, one can define an alternative location via the —disk-cache-dir flag:
Cache should be considered temporary and will not be saved after a reboot or hard lock. Another option is to setup the space in /etc/fstab :
Profile in tmpfs
Relocate the browser profile to a tmpfs filesystem, including /tmp , or /dev/shm for improvements in application response as the entire profile is now stored in RAM.
Use an active profile management tool such as profile-sync-daemon for maximal reliability and ease of use. It symlinks or bind mounts and syncs the browser profile directories to RAM. For more, see Profile-sync-daemon.
Launch a new browser instance
When you launch the browser, it first checks if another instance using the same data directory is already running. If there is one, the new window is associated with the old instance. If you want to launch an independent instance of the browser, you must specify separate directory using the —user-data-dir parameter:
Directly open *.torrent files and magnet links with a torrent client
By default, Chromium downloads *.torrent files directly and you need to click the notification from the bottom-left corner of the screen in order for the file to be opened with your default torrent client. This can be avoided with the following method:
- Download a *.torrent file.
- Right-click the notification displayed at the bottom-left corner of the screen.
- Check the «Always Open Files of This Type» checkbox.
See xdg-open to change the default assocation.
Touch Scrolling on touchscreen devices
You may need to specify which touch device to use. Find your touchscreen device with xinput list then launch Chromium with the —touch-devices=x parameter, where «x» is the id of your device.
Reduce memory usage
By default, Chromium uses a separate OS process for each instance of a visited web site. [7] However, you can specify command-line switches when starting Chromium to modify this behaviour.
For example, to share one process for all instances of a website:
To use a single process model:
In addition, you can suspend or store inactive Tabs with extensions such as Tab Suspender and OneTab.
User Agent
The User Agent can be arbitrarily modified at the start of Chromium’s base instance via its —user-agent=»[string]» parameter.
DOM Distiller
Chromium has a similar reader mode to Firefox. In this case it’s called DOM Distiller, which is an open source project. It is disabled by default, but can be enabled using the chrome://flags/#enable-reader-mode flag, which you can also make persistent. Not only does DOM Distiller provide a better reading experience by distilling the content of the page, it also simplifies pages for print. Even though the latter checkbox option has been removed from the print dialog, you can still print the distilled page, which basically has the same effect.
After enabling the flag, you will find a new «Toggle reader mode» menu item and corresponding icon in the address bar when Chromium thinks the website you are visiting could do with some distilling.
Forcing specific GPU
In multi-GPU systems, Chromium automatically detects which GPU should be used for rendering (discrete or integrated). This works 99% of the time, except when it does not — if a unavailable GPU is picked (for example, discrete graphics on VFIO GPU passthrough-enabled systems), chrome://gpu will complain about not being able to initialize the GPU process. On the same page below Driver Information there will be multiple GPUs shown (GPU0, GPU1, . ). There is no way to switch between them in a user-friendly way, but you can read the device/vendor IDs present there and configure Chromium to use a specific GPU with flags:
. where 0x8086 and 0x1912 is replaced by the IDs of the GPU you want to use (as shown on the chrome://gpu page).
Import bookmarks from Firefox
To ease the transition, you can import bookmarks from Firefox into Chromium.
Navigate Chromium to chrome://settings/importData
If Firefox is already installed on your computer, you can directly import bookmarks as well as many other things from Firefox.
Make sure Mozilla Firefox is selected. Optionally, you can uncheck some unwanted items here. Click the Import and then Done. You are done with it.
If you import bookmarks from another PC, you have to export bookmarks from Firefox first.
Ctrl + Shift + O > Import and Backup > Export Bookmarks To HTML in Firefox
The procedure is pretty much the same. You need to go to chrome://settings/importData . However, this time, in the From drop-down menu, select Bookmarks HTML File and click the Choose File button and upload the desired bookmark file.
Enabling native notifications
Go to chrome://flags#enable-system-notifications and select Enabled.
U2F authentication
Install libfido2 library. This provides the udev rules required to enable access to the U2F key as a user. U2F keys are by default only accessible by root, and without these rules Chromium will give an error.
Dark mode
To enable dark mode (used in prefers-color-scheme in CSS, JavaScript, Settings and Dev-Tools) and enable the dark theme (normally used for incognito mode) append the following flag to persistent configuration:
Dark mode by system preference
This Chromium issue aims to bring dark mode based on GTK theme selection into Chromium.
In the future, all that will be required to properly use system preference, is setting Designs to GTK in chrome://settings/appearance .
Profile maintenance
Chromium uses SQLite databases to manage history and the like. Sqlite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve startup and some other bookmarks- and history-related tasks is to defragment and trim unused space from these databases.
Security
Disable JIT
At the cost of reduced performance, you can disable just-in-time compilation of JavaScript to native code, which is responsible for roughtly half of the security vulnerabilities in the JS engine, by passing —js-flags=—jitless in $HOME/.config/chromium-flags.conf .
WebRTC
WebRTC is a communication protocol that relies on JavaScript that can leak one’s actual IP address and hardware hash from behind a VPN. While some software may prevent the leaking scripts from running, it’s probably a good idea to block this protocol directly as well, just to be safe. As of October 2016, there is no way to disable WebRTC on Chromium on desktop, there are extensions available to disable local IP address leak, one is this extension.
One can test WebRTC via this page.
SSL certificates
Chromium does not have an SSL certificate manager. It relies on the NSS Shared DB
/.pki/nssdb . In order to add SSL certificates to the database, users will have to use the shell.
Adding CAcert certificates for self-signed certificates
Grab the CAcerts and create an nssdb , if one does not already exist. To do this, first install the nss package, then complete these steps:
Now users may manually import a self-signed certificate.
Example 1: Using a shell script to isolate the certificate from TomatoUSB
Below is a simple script that will extract and add a certificate to the user’s nssdb :
Syntax is advertised in the commented lines.
Example 2: Using Firefox to isolate the certificate from TomatoUSB
The firefox browser can be used to save the certificate to a file for manual import into the database.
- Browse to the target URL.
- Upon seeing the «This Connection is Untrusted» warning screen, click: I understand the Risks > Add Exception.
- Click: View > Details > Export and save the certificate to a temporary location ( /tmp/easy.pem in this example).
Now import the certificate for use in Chromium:
Canvas Fingerprinting
Canvas fingerprinting is a technique that allows websites to identify users by detecting differences when rendering to an HTML5 canvas. This information can be made inaccessible by using the —disable-reading-from-canvas flag.
To confirm this is working run this test and make sure «hash of canvas fingerprint» is reported as undetermined in the full results.
Privacy extensions
Do Not Track
To enable Do Not Track, visit chrome://settings , scroll down to Advanced and under Privacy and security, check Send a «Do Not Track» request with your browsing traffic.
Force a password store
Chromium uses a password store to store your passwords and the Chromium Safe Storage key, which is used to encrypt cookie values. [11]
By default Chromium auto-detects which password store to use, which can lead to you apparently losing your passwords and cookies when switching to another desktop environment or window manager.
You can force Chromium to use a specific password store by launching it with the —password-store flag with one of following the values [12]:
- gnome , uses Gnome Keyring
- kwallet5 , uses KDE Wallet
- basic , saves the passwords and the cookies’ encryption key as plain text in the file Login Data
- detect , the default auto-detect behavior
For example, to force Chromium to use Gnome Keyring in another desktop or WM use —password-store=gnome , see #Making flags persistent for making it permanent.
When using a password store of another desktop environment you probably also want to unlock it automatically see: GNOME/Keyring#Using the keyring outside of GNOME [broken link: invalid section] and KDE Wallet#Unlock KDE Wallet automatically on login.
Troubleshooting
Fonts
Tab font size is too large
Chromium will use the GTK settings as described in GTK#Configuration. When configured, Chromium will use the gtk-font-name setting for tabs (which may mismatch window font size). To override these settings, use —force-device-scale-factor=1.0 .
WebGL
There is the possibility that your graphics card has been blacklisted by Chromium. See #Force GPU acceleration.
If you are using Chromium with Bumblebee, WebGL might crash due to GPU sandboxing. In this case, you can disable GPU sandboxing with optirun chromium —disable-gpu-sandbox .
Visit chrome://gpu/ for debugging information about WebGL support.
Chromium can save incorrect data about your GPU in your user profile (e.g. if you use switch between an Nvidia card using Optimus and Intel, it will show the Nvidia card in chrome://gpu even when you are not using it or primusrun/optirun). Running using a different user directory, e.g, chromium —user-data-dir=$(mktemp -d) may solve this issue. For a persistent solution you can reset the GPU information by deleting
Incorrect HiDPI rendering
Chromium will automatically scale for a HiDPI display, however, this may cause an incorrect rendered GUI.
The flag —force-device-scale-factor=1 may be used to overrule the automatic scaling factor.
When native Wayland support is enabled, Chromium will automatically scale based on the configured scale of each monitor.
Password prompt on every start with GNOME Keyring
Chromecasts in the network are not discovered
You will need to enable the Media Router Component Extension in chrome://flags/#load-media-router-component-extension .
Everything is syncing except for password
If synchronization is not working for password only (you can check it on chrome://sync-internals/ ) delete profile login data:
Losing cookies and passwords when switching between desktop environments
If you see the message Failed to decrypt token for service AccountId-* in the terminal when you start Chromium, it might try to use the wrong password storage backend. This might happen when you switch between Desktop Environments.
Hang on startup when Google Sync enabled
Try launching Chrome with —password-store=basic or another appropriate password store.
Chromium asks to be set as the default browser every time it starts
If you are using KDE and have once set Firefox as the default browser (by clicking the button inside Firefox), you might find Chromium asks to be set as the default browser every time it starts, even if you click the «set as default» button.
Chromium checks for this status by running xdg-settings check default-web-browser chromium.desktop . If the output is «no», it is not considering itself to be the default browser. The script xdg-settings checks for the following MIME associations and expect all of them to be chromium.desktop :
To fix it, go to System settings > Applications > Default applications > Web browser and choose Chromium. Then, set the MIME association for text/html :
«This browser or app may not be secure» error logging in to Google
As of 2020.04.20 if you run chromium with —remote-debugging-port=9222 flag for web development, you cannot log in to your Google account. Temporarily disable this flag to login and then you can enable it back.
Chromium stuck at 60fps when using a 144Hz + 60Hz monitor
There is a suitable workaround for this issue, append the following flags to persistent configuration:
This should make Chromium run at 144fps when used on your 144hz display, assuming your compositor is refreshing at 144fps. Keep in mind it might be a little choppy FS#67035, but this is way better than it being stuck at 60fps.
Chromium low scroll speed
Mouse whell scrolling in chromium and electron based applications may be too slow for daily usage. Here are some solutions.
Libinput#Mouse wheel scrolling speed scaling injects libinput_event_pointer_get_axis_value function in libinput and provides an interface to change scale factor. This is not a application level injection, so an addition script for application specific scale factor tuning is needed. Note that scroll on chromium’s small height developer tools may be too fast when scale factor is large enough.
IMWheel increases scroll distance by replaying X wheel button event for multiple times. However, chromium assumes the real scroll and the replayed ones as two events. There is a small but noticeable delay tween them, so one mouse wheel scroll leads to twice page jumps. Also, touchpad scroll needs addition care.
Linux Scroll Speed Fix and SmoothScroll are two chromium extensions with suppport for scroll distance modification. Upon wheel scroll in a web page, the closest scrollable ancestor of current focused node will be found, then a scroll method with given pixel distance will be called on it, even if it has been scrolled to bottom. So once you scroll into a text editor or any scrollable element, you can never scroll out of it, except moving mouse. Also, extension based methods can not be used outside chromium.
Источник