LINUX.ORG.RU
ФорумGames

Как сбилдить low latency kernel?

 


0

1

Недавно столкнулся геймингом под линуксом и понял что одна и больших бед это довольно большие задержки дял звука через pulseaudio.

Почитав форумов понял что самое лучшее решение это ставить low latency ядро. Но просто качать уже скомпилированное ядро для убунты через apt не интересно.

Подкскажите хорошие гайды для сборки low latecny ядра? Какие параметры нужно твикать?

И вообще как это сказывается на поведении системы? Я видел что это увеличивает отзывчивоть системны на прерывания, но как это должно уменьшть latency для звука? (она же вроде из-за буферизации?).

Не начинает ли сильно просаживаться производительтность? Что если realtime ядро сбилдить? (чем кстати отличается? Я так понимаю это не настоящий все таки realtime)

Ответ на: комментарий от kto_tama

Да, вот именно.

Чтобы не перечитывать тонны писананы резюмирую.

Лучше всего работает не realtime ядро, а обычное ванильное с kernel.org, собранное с минимальной под железо конфигурацией.

Совсем не обязательно xanmod, хотя оно тоже хорошо работает, и если не хочется компилять, можно поставить его и все.

Плюс к этому - надо перевести процессор в режим performance.

Pulseaudio лучше заменить на pipewire, сконфинурированное для low latency и с модулем rtkit.

James_Holden ★★★
()

Если у тебя Ubuntu, то просто sudo apt install linux-lowlatency, если Debian, то sudo apt install linux-image-rt-amd64 linux-headers-rt-amd64. И всё.

Vsevolod-linuxoid ★★★★★
()

В сторону ядра смысла копать нет, когда речь идет об уменьшении задержек звука для игр. Если что и ковырять, то пульсаудио, либо попробовать заменить на пайпвайр.

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

Вообще-то имеет смысл. С этим ядром в некоторых ситуациях звук лучше, проверял лично. Но это очень к железу привязано, и что на моей HDA Intel PCH Realtek ALC3227 звук на обычных ядрах в PulseAudio и PipeWire заикается — это баг, причем плавающий, находил сведения о нём для ядра 3.10, но так как мне нужна виртуализация, а с ней на этом ядре потенциально могут быть проблемы, то перешел на чистую ALSA.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Вообще-то имеет смысл. С этим ядром в некоторых ситуациях звук лучше, проверял лично.

Когда речь идет о задержках в играх это задержки в районе 50 мс и выше, с нагруженным игрой процессором.

Оптимизации через ядро полезны, когда речь идет о миллисекундных задержках.

altwazar ★★★★
()

больших бед это довольно большие задержки дял звука через pulseaudio.

решение это ставить low latency ядро.

Проблемы в пульсемусоре, но чинить будем ядро? Просто удали пульсемусор.

Подкскажите хорошие гайды для сборки low latecny ядра? Какие параметры нужно твикать?

Там не параметры, там патчи.

firkax ★★★★★
()

В первую очередь я бы глянул на вывод «pactl list sinks», когда идет вывод звука из игры. На сколько я помню, там есть информация о задержке, которую выставила пульса.

В некоторых ситуациях с выставленной задержкой бывают проблемы как тут: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/780

Там же можно найти и варианты решений. Самый простой и надежный способ - tsched=0 и выставить вручную «default-fragments*default-fragment-size-msec» (это определяет буфер и задержку).

В пульсе есть противоречивая функция, когда приложение само запрашивает нужную задержку. Кроме головной боли на десктопах она ничего не вызывает. Из-за неё у некоторых бывает 100 мс задержки в играх.

С ядром нет смысла заморачиваться, так как на эти задержки оно не влияет. Об этом стоит задумываться тем, кто работает со звуком. Хотя xanmod игры не испортит.

Я бы целился в задержку 10-20 мс (2 фрагмента, по 5-10 мс). Зависит от производительности машины.

altwazar ★★★★
()
Последнее исправление: altwazar (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.