LINUX.ORG.RU

Как исправить мигание изображения и прочие глюки отрисовки на связке KDE Plasma + Wayland + Nvidia

 , , , ,


0

3

Если вы используете KDE с Wayland на фирменном (проприетарном) видеодрайвере Nvidia, вы можете регулярно сталкиваться с миганием изображения, как будто кусок предыдущего кадра быстро чередуется с куском текущего.

У меня, например, такое часто бывало в диалоге открытия/сохранения при прокрутке списка файлов, а также в экране гостевых систем VirtualBox. Это ужасно раздражает глаза и порой делает невозможной работу на компьютере.

Вот как можно исправить мерцание текстур и шрифтов на KDE Plasma + Wayland + Nvidia

  • Прежде всего, обновите Plasma, Qt, Wayland и драйвер Nvidia до самых последних версий. Возможно, в этих версиях досаждающие вам баги уже исправлены.
  • Избавьтесь от полупрозрачностей везде, где это возможно. Сочетание Wayland + Nvidia до сих пор криво обрабатывает размытые полупрозрачности, так что проблема может быть в них.
  • Если предыдущие меры не помогли, то откройте Konsole и выполните следующую команду: echo "export KWIN_USE_BUFFER_AGE=0" >> ~/.bash_profile, после чего перезапустите сеанс (т.е. выйдите из системы и залогиньтесь снова).

Последний финт может сделать отрисовку менее плавной, но уж лучше пожертвовать плавностью в пользу отсутствия глюков. Не факт, что это вам поможет, но мне помогло.



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)

Всё-таки это больше тянет на заметку, чем на статью. Я не говорю, что таковых не должно быть. Но наверное, их следует как-то отделить от полноразмерных статей…

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

А в ворохе тем на форуме они теряться не будут? Какой-то совершенно странный аргумент. Если статья никому не полезна и не интересна, то её никто не будет читать, хоть ты её на главную прилепи. А если статья за 3 абзаца решает проблему читателя, то она лучше километровой простыни, наполненной мудрствованиями (я не про лонг по ссылке, а вообще).

Придумывать какие-то ограничения на ровном месте - я этого вообще понять не могу.

alex1101
() автор топика
Последнее исправление: alex1101 (всего исправлений: 1)
Ответ на: комментарий от hobbit

Людям плевать на структуры и все эти кучи категорий. Им нужен контент 🙂 Самые востребованные ресурсы вообще валят всё в кучу, и это не просто случайная корреляция.

А для поиска есть поисковые системы и теги.

alex1101
() автор топика
Ответ на: комментарий от alex1101

Если переименовать раздел в «Блоги», то все непонятки отпадут как класс.

alex1101
() автор топика
Ответ на: комментарий от hobbit

А если разделить статьи на собственно статьи и мини-статьи у которых будет отображаться только заголовок (как это сделано в новостях)?

gill_beits ★★★★
()

Проще не использовать nvidia

Grapow ★★
()
Ответ на: комментарий от hobbit

Как раз такие лайфхаки и нужны линуксоидам — заметки по решению проблем.

papin-aziat ★★★★★
()
Ответ на: комментарий от ox55ff

Я пытался откатиться обратно на иксы - чуть глаза не вытекли от тормозов и лагов (успел отвыкнуть), даже тройная буферизация не всегда спасает. Не говоря уж о том, что иксы просто говнят изображение.

alex1101
() автор топика
Ответ на: комментарий от alex1101

Так запустить вейланд сессию и я могу. Но во время работы начинаются глюки. То тут то там. У меня было несколько попыток захода. Всякий раз приходилось откатываться.

Например в yakuake не работала кнопка закрепить на переднем плане, чтобы при потере фокуса он не сворачивался. Это уже исправили. Но это было потом, а в тот момент мне пришлось обратно на иксы откатится.

В последний раз откатился на иксы потому что в вейланде не работала ночная схема. Для меня это критично.

И т.д. Проблема то не в том, что плазма на вейланде не может отрендерить рабочий стол и пару окон. Может. Но в то же время есть куча мелких, но противных багов, которые раздражают. Подожду пока исправят. А пока не готов.

ox55ff ★★★★★
()

Ждать исправление этого бага. Проблема нетривиальная и на исправление может понадобится много времени.

X512 ★★★★★
()
Ответ на: комментарий от ox55ff

Я уже около года пользуюсь Вейландом. Причём, что забавно, поначалу, когда KWin работал через клятый невидиевский EGL Streams, всё было идеально. Потом разрабы решили сделать по-опенсорсному правильно, переехали на GBM - и появилась проблема, описанная в стартпосте.

Типичное улушательство в мире СПО.

alex1101
() автор топика
Ответ на: комментарий от alex1101

У нативного Wayland тоже есть проблемы с explicit synchronization.

X512 ★★★★★
()

миганием изображения, как будто кусок предыдущего кадра быстро чередуется с куском текущего

Это называется «тиринг» (tearing)

MrClon ★★★★★
()

По состоянию на 2020 год KWin не поддерживает explicit syncronization с Wayland.

Currently, it’s only implemented in Weston and the ChromeOS compositor; gnome-shell, kwin, and sway are all still 100% implicit sync AFAIK. We also have to deal with X11.

https://www.mail-archive.com/wayland-devel@lists.freedesktop.org/msg40614.html

https://wayland.app/protocols/linux-explicit-synchronization-unstable-v1

X512 ★★★★★
()
Ответ на: комментарий от alex1101

Драйвер NVidia использует только explicit synchronization и не поддерживает implicit synchronization. XWayland, KWin и многие другие компоненты Линукс систем на данный момент поддерживают только implicit synchronization что будет приводить к артифактам на NVidia. Синхронизация грубо говоря нужна для того, чтобы узнать когда рендеринг на стороне видеокарты завершён и картинку можно показывать.

X512 ★★★★★
()
Ответ на: комментарий от X512

что будет приводить к артифактам на NVidia

Ну, артефакты я уже починил методом выше, больше не встречаются.

Но лучше бы разрабы kwin не прогибались под фанатиков опенсорса и продолжали использовать egl streams.

alex1101
() автор топика
Последнее исправление: alex1101 (всего исправлений: 2)
Ответ на: комментарий от alex1101

Но лучше бы разрабы kwin не прогибались под фанатиков опенсорса и продолжали использовать egl streams.

Напомню что EGL Streams – это стандарт Khronos и спецификация полностью открытая и свободная, её может реализовать и использовать кто угодно.

X512 ★★★★★
()
Ответ на: комментарий от X512

Да я знаю. Это фанатики вопили тут, что egl streams это невидиевская проприетарщина и её надо закопать.

alex1101
() автор топика
Ответ на: комментарий от MrClon

Тиринг это разрыв картинки от дропа кадров. А тут - мигание из-за зацикленной последовательной смены двух кадров.

Снимать лень, т.к. это надо удалять переменную, перелогиниваться и ловить этот баг.

alex1101
() автор топика
Ответ на: комментарий от alex1101

Странно. У меня и на EGL Streams всё было криво. Какие ещё ты устанавливаешь переменные среды кроме KWIN_USE_BUFFER_AGE? Может ты как-то по особенному готовишь вялого. У меня арч, из коробки ничего не работает.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Никаких переменных больше не нужно. На самой заре запиливания Wayland нужно было выставлять что-то там для Qt и прочего, но год назад уже не надо было. Я тогда просто установил пакет plasma-wayland-session и перелогинился в Wayland-сессию.

А, ну и для браузеров нужно переменные выставить, чтобы через Wayland работали.

У меня и на EGL Streams всё было криво.

На этом мои полномочия всё)

alex1101
() автор топика
Ответ на: комментарий от ox55ff

Можешь попробовать эти добавить:

export GBM_BACKEND=nvidia-drm
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export LIBVA_DRIVER_NAME=nvidia

но я не помню, чтобы от них был какой-то эффект.

alex1101
() автор топика
Ответ на: комментарий от alex1101

А, ващет я соврал, что «никаких переменных больше не нужно»). Ядру же необходимо передать опцию nvidia-drm.modeset=1 через загрузчик. Но скорее всего ты и сам в курсе.

alex1101
() автор топика

Внезапно, вяленый заработал более-менее. Глюки есть, но работать можно, если бы не косяк со шрифтами - при одинаковом апскейле в 125%, мылит ужасно по сравнению с Х. Конфиг такой:

KDE Plasma Version: 5.26.80
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Kernel Version: 5.15.0-48-generic (64-bit)
Graphics Platform: Wayland
Processors: 12 × Intel® Core™ i7-9750H CPU @ 2.60GHz
Memory: 31,3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 2080 with Max-Q Design/PCIe/SSE2
Driver: 515.65.01
Anoxemian ★★★★★
()
Ответ на: комментарий от alex1101

Старость.

UPD. Выставил DPI в 120 и убрал апскейл. Все вылечилось, претензия снимается.

Anoxemian ★★★★★
()

Заменой невидии на видеокарту )

erfea ★★★★★
()
Ответ на: комментарий от alex1101

Да, эти добавлял. Но улучшений не видел. nvidia-drm.modeset=1 конечно же стоит.

ox55ff ★★★★★
()

Нужно подождать ещё пару десятков лет пока Вейланд и основанные на нём тулкиты доведут до ума. Всего делов.

thegoldone
()

Сочетание Wayland + Nvidia до сих пор криво обрабатывает размытые полупрозрачности

intel + wayland также криво обрабатывает, фпс дико проседает.

usi_svobodi
()
Ответ на: комментарий от alex1101

Вот удивительно. Пользуюсь иксами уже лет 25 - и не знаю что такое тиринг. Вернее слышал о том что в иксах тиринг от фанатов вяленда.

Правда не пользовался нвидией - видимо в этом секрет.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Правда не пользовался нвидией - видимо в этом секрет.

Не, не в этом. Я много лет пользовался связкой nvidia + блоб — тоже ни про какой тиринг не слышал до недавнего времени. Сейчас тоже начали возникать вопросы…

hobbit ★★★★★
()

Столько пилят этот Wayland, а он до сих пор не работает из коробки.

duott ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.