De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Habilitando seu usuário a rodar aplicações em tempo real

Colaboração: Clovis F Reis

Depois de muito apanhar, tentando fazer o Ardour funcionar utilizando o jack descobri que o Ardour precisa que o jack trabalhe em tempo real, coisa que o meu usuário não estava habilitado a fazer.

Nota: O Ardour me avisava sobre esta particularidade toda vez que era iniciado, coisa que eu ignorava, preferindo quebrar a cabeça e praguejar tentando entender o porquê da falha.

Então vamos configurar o Jack para execução em tempo real:

1. Verifique o limite de memória que pode ser bloqueada pelo seu usuário e o limite para o real time

$ ulimit -l -r
max locked memory       (kbytes, -l) 64
real-time priority              (-r) 99

2. Verifique se existe o grupo audio ou jackuser

$ grep -E 'jackuser|audio' /etc/group 
audio:x:63:clovis
jackuser:x:970:clovis

3. Verifique se o seu usuário está nestes grupos

$ groups
clovis wheel audio jackuser

4. Caso não esteja, inclua-o nestes grupos

$ usermod -a -G audio,jackuser seuUsuario

Note que não é necessário que o usuários esteja em ambos os grupos. Existindo apenas o grupo audio ou jackuser (ou outro similar), as permissões de uso dos recursos já funcionarão.

5. Localize o arquivo de configuração de limites

Localize o arquivo /etc/security/limits.d/jack.conf ou um similar. No caso do Fedora 33 o nome do arquivo é /etc/security/limits.d/95-jack.conf.

Ele estabelece alguns limites para processos iniciados por usuários, e se o jack foi instalado corretamente, ele deve estar dentro do /etc.

Caso ele não exista deverá ser criado manualmente.

Consulte a documentaçao da sua distribuição caso haja dúvidas do local exato onde criá-lo.

No meu caso o arquivo encontrava-se assim:

# Default limits for users of jack-audio-connection-kit
@jackuser - rtprio 70
@jackuser - memlock 4194304
@pulse-rt - rtprio 20
@pulse-rt - nice -20

Isso significa que usuários do grupo jackuser podem iniciar processos com prioridade de real time de 70 e um bloqueio de memória de 4194304 Bytes

Para o funcionamento adequado é necessário aumentar o real time e memória bloqueada que o jack pode utilizar. Após a edição o arquivo deve ficar assim:

@jackuser - rtprio 99
@jackuser - memlock unlimited
@pulse-rt - rtprio 20
@pulse-rt - nice -20
@audio - rtprio 99
@audio - memlock unlimited

Ou seja, a mais alta prioridade em real time e lock de memória ilimitado

6. Aplique as alterações

Para que as alterações tenham efeito, é necessário finalizar as sessões do usuário em questão, ou até mesmo reiniciar a máquina.

Após novo login, execute o ulimit novamente para verificar se tudo correu como o esperado.

$ ulimit -a

   core file size          (blocks, -c) unlimited
   data seg size           (kbytes, -d) unlimited
   scheduling priority             (-e) 0
   file size               (blocks, -f) unlimited
   pending signals                 (-i) 127767
   max locked memory       (kbytes, -l) unlimited
   max memory size         (kbytes, -m) unlimited
   open files                      (-n) 1024
   pipe size            (512 bytes, -p) 8
   POSIX message queues     (bytes, -q) 819200
   real-time priority              (-r) 99
   stack size              (kbytes, -s) 8192
   cpu time               (seconds, -t) unlimited
   max user processes              (-u) 127767
   virtual memory          (kbytes, -v) unlimited
   file locks                      (-x) unlimited

Ardour é um DAW (Digital Audio Workstation) livre desenvolvido sob licença GPL. Atualmente é suportado nas plataformas Linux, FreeBSD, Solaris, Mac OS X e Microsoft Windows. Seu primeiro autor foi Paul Davis, também responsável pelo JACK Audio Connection Kit. O objetivo do software Ardour é possibilitar a edição de áudio digital profissional. (Fonte: Wikipedia)

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Clovis F Reis