KDE в Kubuntu 18.04 мерцает, дергает, мигает, flickering (intel + amd видеокарты)
Думаю многие кто пользуется KDE читали темы о том как KDE дергает (гуглить по запросу kde flickering). Можно даже ролики на youtube посмотреть.
Одно из решений проблемы мерцания это включение в настройках Display and Monitor > Compositor > Xrandr вместо OpenGL. Но тогда начнется tearing (разрывы изображения при быстрой смене картинок). Это потому что в OpenGL вертикальная синхронизация (VSync) убирала этот тиринг.
Решение проблемы tearing при Xrandr это включение Tear Free технологии видеокарт. По умолчанию в Ubuntu (Kubuntu в этом случае) она отключена. Включается правкой Xorg.conf файла.
Как вариант вместо правки Xorg.conf можно создать отдельные файлы /etc/X11/xorg.conf.d/20-intel.conf для intel или /etc/X11/xorg.conf.d/20-radeon.conf для AMD (radeon драйвер, для дрйвера amdgpu файл другой).
Содержание файл настроек 20-intel.conf:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"
EndSection
Полный список «скрытых» опций видео драйверов: для intel и для amd и для amd (amdgpu)
Тут начинается другая проблема KDE не видит дискретную видеокарту, если в файле Xorg.conf есть какие-то опции для интегрированной видеокарты. Это связано с особенностями инициализации оборудования. Чтобы дискретную видеокарту система стала использовать нужно помимо настроек TearFree для интегрированной видеокарты вручную дописать настройки для дискретной (файл /etc/X11/xorg.conf.d/20-radeon.conf):
Section "Device"
Identifier "Radeon"
Driver "radeon"
Option "DRI" "3"
EndSection
Мы подошли к сути, причине. Долгое время я думал, что такие мерцания случайны. Потому что они проявлялись не всегда. И вот я наконец понял в чем причина конкретно у меня. При установке Steam он устанавливает x32 (32 битную) версию mesa драйвера. И вот после этого начинаются все проблемы. Причем даже после установки x32 mesa драйвера такие мерцания проявляются не всегда (поэтому и не было понятно, что виноват он). Уверенности в том, что причина в драйвере, а не в том что Steam делает что-то еще у меня нет. Но в том, что виноват Steam я уверен.
Кто хочет эксперементов с включение TearFree можете почитать вики archlinux.
Это больше информативное сообщение. Я очень долго искал информацию по решению проблемы в англ. сегменте, никакого решения для intel + amd не нашел. Но если кто-то что-то знает, то я был бы благодарен, если напишите совет.