Пришлось лечить от замираний и дёрганий всякие разные игры, и даже такую
годноту как Blaze Rush.
Занимательно и залипательно по ряду составляющих. Это не проблемы именно linux gaming'а и решается несколько сложнее, чем переключение системы на использование более современного и более разумного
eBPF-планировщика задач. Касается как игр работающих через Wine, так и нативных для линукса.
TL;DRВ рамках паттерна изменяются настройки и графического стека в системе, и в самой игре. Всё это в ориентиром на то, какие частоты поддерживает монитор. В самой игре снимается ограничение на число кадров секунду, а в графическом стеке выставляется ограничение исходя из параметров имеющегося дисплея в мониторе. В обязательном порядке в самой игры запрещается вертикальная синхронизация и адаптивное изменение частоты кадров в секунду.
Принцип и подходПаттерн примерно один и тот же, цель которого сводится к получению ровного поток кадров во время работы игры, без просадки по времени при подготовке каких-то отдельных. Даже раз в тысячу кадров заминки в подготовке кадра приносят лишь раздражение или даже разочарование в игровом процессе.
Технические нюансыЕсть игры на OpenGL, Vulkan, а так же DXVK (это DirectX 9|10|11) и VKD3D (современный DirectX 12). В добавок к этому, выполнены игры могут на разных движках и с разными заскоками. Например, те же файтинги на уровне программного кода очень странным образом обыгрывают физику работы хитбоксов, увязывая с количеством кадров в секунду отображаемых игрой.
Как минимум приходится учитывать комбинацию этих нюансов.
В системе с Wayland могут быть разные композиторы и KDE Plasma с композитором KWin требует действий отличных от других сред, с другим Wayland-композитором (иной реализацией графического сервера поддерживающего Wayland).
Wine-запускальщикиЗапускаться игры могут как через эмуляцию X11(т.н. XWayland), так и напрямую работая с Wayland. И проще всего, когда средствами разных версий Wine игра работает напрямую с Wayland.
VKD3D может быть свой конкретной версии у Wine, а может быть и свой форк VKD3D-Proton'а подставляемый обёрткой сродни Lutris.
Загрузка ядер процессора через асинхронную работу графического стека бывает как в виде gplasync, так и более древного async — это вариации DXVK.
Hardware и профилиУ современных видеокарт на борту есть своя прошивка (firmware) и свои контроллеры (SoC). Это всё может быть сконфигурировано или на более длительную и тихую работу или же под высокий уровень производительности при нагрузке. Беда в том, что вычислительная нагрузка бывает разная и нужные различные политики управления частотами. Иначе не получится обеспечить отсутствие задержек в подготовке отображаемых кадров. Производительность нужна не столько большая в целом за счёт резких пиков, сколько более-менее ровная и равномерная. Это область тонкого тюнинга custom-профия тулзами сродни LACT, которые всего лишь заменяют использование sysfs.
Однако, очень может быть, что запускать конкретную игру придётся скриптом, в котором изменяется таблица настроек профиля работы видеокарты. Потому что не все игры сделаны хорошо, авторам недостаточно просто взять годный движок, а почти всегда требуется изрядно поработать с оптимизацией программного кода. С этим вечно огребают проблем при портировании игр на различные консоли. Вот только и там тоже удаётся добиться приемлемой работы в том числе и за счёт такой же калибровки с переключением профилей работы железной составляющей.
Есть же FreeSyncВ ряд игр неприятно или откровенно сложно играть даже когда монитор идеально поддерживает и обрабатывает просадки FPS — падение со 120 до 40-50 FPS.
Т.е. повсеместное появление FreeSync в мониторах и видяхах было в какой-то мере революцией, но в несколько иной плоскости и для иных целей с задачами. Которые про другое, отнюдь не про нестабильную работу программного кода игры и постоянно скачущую производительность видеокарт.
Тишина и охлаждениеДа, иногда можно добиться всем этим и такого варианта, что компьютер становится крайне тихим при игре в какой-нибудь «Silksong» или же «Curse Of The Dead Gods», включая Quake-подобные шутеры вроде «Xonotic». Весьма актуально может быть для летней жары или при откровенно ночном использовании техники.
Однако, придётся смириться с тем, что приличная графика будет лишь на 60 Гц — т.е. в 60 FPS и при разрешении FullHD или ближайшем аналоге в 16:10.
#
игры #
games #
gaming #
linux #
linuxgaming #
wayland #
lact #
lutris #
lang_ru