lunes, 1 de noviembre de 2021

Kernel RT de baja latencia (Ubuntu)

Os kernels RT (Tempo Real) permiten interromper as tarefas en máis cantidade de sitios que os kernel normais de tal xeito que a tarefa actual poderá ser desaloxada máis rapidamente e a tarefa prioritaria poderá acceder antes á CPU, polo que a latencia será máis baixa. 

Ademais,los kernels RT teñen un sistema de prioridades moito máis estrito, onde as tarefas prioritarias poden pegar machadazos ás demáis (preempting) para facerse co control da CPU, ralentizando os demais programas o que sexa necesario para cumprir cos seus requisitos.

¿Cando é importante usar un Kernel RT?

En dous casos:

1) Cando necesitamos latencias moi baixas, é dicir, reacciones moi  rápidas da máquina. O exemplo máis claro é a execución de instrumentos virtuais, onde necesitas que ó pulsar unha tecla dun teclado MIDI o instrumento soe inmediatamente.

2) Cando necesitamos prioridades moi estritas, é dicir, que a nosa tarefa de alta prioridade non se interrompa por nada del mundo (a no ser no caso catastrófico de que a CPU estea tan sobrecargada que se supere o 100% de utilización). Por exemplo, se estamos gravando una sesión de audio con Ardour e observando como soben e baixan os indicadores dos faders, non importa se perdemos algún cadro de refresco dos faders con tal de que o transporte de son do micrófono ó disco duro non se vexa interrompido. Un kernel RT ralentizará o refresco dos faders todo lo que sea necesario con tal de que non se perda ningunha mostra de audio.

 ¿Que latencia é aconsellable?

Partindo da base de que Algúns "oídos" son máis esixentes que outros, en xeral, non se percibirán como retardos as latencias que estean por debaixo dos 20 ms. A partir deste valor comezan a percibirse os retardos na chegada do son ó pulsar unha tecla con instrumentos virtuais.

Para máis información consulta o blog fonte desta información...


INSTALACIÓN DO KERNEL DE BAIXA LATENCIA EN UBUNTU

Abre unha terminal e executa as seguintes ordes:

sudo apt install linux-headers-lowlatency

sudo apt install linux-lowlatency

sudo update-grub

Reinicia o PC... 

...e arranca co kernel de baixa latencia dentro das opcións avanzadas de Ubuntu

(Poderás dispoñer das dúas opcións (o kernel normal e o de baixa latencia)


Podes comprobar o kernel cargado no S.O. co comando:

uname -sr        (Deberá responder co nome e versión do kernel: Linux X.X.X-X-Lowlatency)



Comproba tamén os valores de prioridade RT e os límites de memoria bloqueada, executa:

ulimit -r -l

Os valores que se aconsellan para traballar con programas de audio son os seguintes:

            real-time priority              (-r) 99

            max locked memory       (kbytes, -l) unlimited


Para camiar a estos valores abre o ficheiro "99-realtime.conf" nunha terminal, executa:

sudo nano /etc/security/limits.d/99-realtime.conf

e engade as seguientes 2 líñas:

@realtime - rtprio 99

@realtime - memlock unlimited

(Ctrl+O para gardar e Ctrl+X para sair)



Comproba que o teu usuario pertence ó grupo "audio", executa:

getent group audio

Se non aparece o nome do teu usuario podes engadilo ó grupo "audio" co seguinte comando:

sudo adduser nomedeusuario audio   (sustitue nomedeusuario polo teu nome de usuario)


No hay comentarios:

Publicar un comentario