Chargement...
 
Skip to main content

5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres...


Paramétrage Jack avec M-AUDIO M-Track 8x4M

Bonjour à tous,

J'ai un soucis avec une nouvelle carte M-AUDIO M-Track 8x4M. La carte est bien reconnue mais je n'arrive pas à l'utiliser car j'ai trop de XRUNS.

Après lancement de jack j'ai des XRUNS qui apparaissent après quelques secondes avant même de lancer mes applications. Ci-dessous les messages de jack après 1 min de lancement.

Copy to clipboard
Mon Nov 19 20:03:42 2018: New client 'PulseAudio JACK Sink' with PID 30791 Mon Nov 19 20:03:42 2018: Connecting 'PulseAudio JACK Sink:front-left' to 'system:playback_1' Mon Nov 19 20:03:42 2018: Connecting 'PulseAudio JACK Sink:front-right' to 'system:playback_2' Mon Nov 19 20:03:42 2018: New client 'PulseAudio JACK Source' with PID 30791 Mon Nov 19 20:03:42 2018: Connecting 'system:capture_1' to 'PulseAudio JACK Source:front-left' Mon Nov 19 20:03:42 2018: Connecting 'system:capture_2' to 'PulseAudio JACK Source:front-right' Mon Nov 19 20:03:42 2018: New client 'qjackctl' with PID 1655 20:04:24.675 XRUN callback (1). 20:04:26.336 XRUN callback (64 skipped). 20:04:28.346 XRUN callback (76 skipped). 20:04:30.356 XRUN callback (77 skipped). 20:04:32.366 XRUN callback (76 skipped). 20:04:34.376 XRUN callback (75 skipped). 20:04:36.386 XRUN callback (76 skipped). 20:04:38.396 XRUN callback (77 skipped). 20:04:40.406 XRUN callback (77 skipped). 20:04:42.415 XRUN callback (76 skipped). 20:04:44.424 XRUN callback (65 skipped).


J'ai essayé plusieurs combinaisons de paramétrage avec la condition d'avoir une latence < 20 ms sans succès par rapport à la récurrence des XRUNS.

cat /proc/asound/cards
Copy to clipboard
0 [HDMI ]: HDA-Intel - HDA Intel HDMI HDA Intel HDMI at 0xf7d14000 irq 33 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xf7d10000 irq 32 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xf7080000 irq 17 3 [C525 ]: USB-Audio - HD Webcam C525 HD Webcam C525 at usb-0000:00:14.0-4, high speed 4 [M8X4M ]: USB-Audio - M-Track 8X4M M-Audio M-Track 8X4M at usb-0000:00:14.0-9, high speed


Ci-dessous quelques informations utiles

ls /etc/security/limits.d
Copy to clipboard
audio.conf


cat ~/.config/rncbc.org/QjackCtl.conf
Copy to clipboard
[Defaults] ConnectionsTabPage=0 MessagesStatusTabPage=0 PatchbayPath= SessionSaveVersion=true [Geometry] qjackctlConnectionsForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\a\x9f\0\0\x1\xb3\0\0\t\x98\0\0\x2\xf2\0\0\a\x9f\0\0\x1\xb3\0\0\t\x98\0\0\x2\xf2\0\0\0\x1\0\0\0\0\a\x80) qjackctlConnectionsForm\visible=false qjackctlMainForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\xb9\0\0\x2V\0\0\x2\x89\0\0\x2\xd9\0\0\0\xba\0\0\x2p\0\0\x2\x88\0\0\x2\xd8\0\0\0\0\0\0\0\0\x3\x84) qjackctlMainForm\visible=true qjackctlMessagesStatusForm\geometry="@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0+\0\0\0U\0\0\x2\xce\0\0\x1\xaf\0\0\0,\0\0\0o\0\0\x2\xcd\0\0\x1\xae\0\0\0\0\0\0\0\0\x3\x84)" qjackctlMessagesStatusForm\visible=true qjackctlPatchbayForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\x2\a\0\0\x1?\0\0\0\0\0\0\0\0\0\0\x2\a\0\0\x1?\0\0\0\0\0\0\0\0\x3\x84) qjackctlPatchbayForm\visible=false qjackctlSessionForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\x1\xdf\0\0\x1?\0\0\0\0\0\0\0\0\0\0\x1\xdf\0\0\x1?\0\0\0\0\0\0\0\0\x3\x84) qjackctlSessionForm\visible=false [History] MessagesLogPathComboBox\Item1=qjackctl.log PostShutdownScriptShellComboBox\Item1=pulseaudio --start ServerConfigNameComboBox\Item1=.jackdrc ServerNameComboBox\Item1=(default) ServerPrefixComboBox\Item1=/usr/bin/jackd ServerPrefixComboBox\Item2=jackd ServerPrefixComboBox\Item3=jackdmp ServerPrefixComboBox\Item4=jackstart StartupScriptShellComboBox\Item1=pulseaudio --kill XrunRegexComboBox\Item1=xrun of at least ([0-9|\\.]+) msecs [Options] ActivePatchbay=false ActivePatchbayPath= ActivePatchbayReset=false AliasesEditing=false AliasesEnabled=false AlsaSeqEnabled=true BaseFontSize=0 BezierLines=false ConnectionsFont="Noto Sans,10,-1,5,50,0,0,0,0,0" ConnectionsIconSize=0 DBusEnabled=true DisplayBlink=true DisplayEffect=true DisplayFont1="Noto Sans,14,-1,5,75,0,0,0,0,0" DisplayFont2="Noto Sans,8,-1,5,50,0,0,0,0,0" JackClientPortAlias=0 JackClientPortMetadata=false JackDBusEnabled=true KeepOnTop=false LeftButtons=true MessagesFont="Noto Sans,10,-1,5,50,0,0,0,0,0" MessagesLimit=true MessagesLimitLines=1000 MessagesLog=false MessagesLogPath=qjackctl.log PostShutdownScript=true PostShutdownScriptShell=pulseaudio --start PostStartupScript=false PostStartupScriptShell= QueryClose=true QueryDisconnect=true QueryShutdown=true RightButtons=true ServerConfig=true ServerConfigName=.jackdrc ServerConfigTemp=false ShutdownScript=false ShutdownScriptShell= Singleton=true StartJack=false StartMinimized=false StartupScript=true StartupScriptShell=pulseaudio --kill StdoutCapture=true StopJack=true SystemTray=false SystemTrayQueryClose=true TextLabels=true TimeDisplay=0 TimeFormat=0 TransportButtons=true XrunRegex=xrun of at least ([0-9|\\.]+) msecs [Presets] DefPreset=(default) [Program] Version=0.4.5 [Settings] Audio=0 Chan=0 Dither=0 Driver=alsa Frames=288 HWMeter=false HWMon=false IgnoreHW=false InChannels=0 InDevice="hw:M8X4M,0" InLatency=0 Interface= MidiDriver=none Monitor=false NoMemLock=false OutChannels=0 OutDevice="hw:M8X4M,0" OutLatency=0 Periods=2 PortMax=512 Priority=85 Realtime=true SampleRate=48000 Server=/usr/bin/jackd ServerName= ServerSuffix= Shorts=false SoftMode=false StartDelay=2 Timeout=500 UnlockMem=false Verbose=false Wait=21333 WordLength=16 [Splitter] AlsaConnectView\sizes=38, 20, 38 AudioConnectView\sizes=268, 92, 268 InfraClientSplitter\sizes=13, 13 MidiConnectView\sizes=38, 20, 38 PatchbayView\sizes=38, 20, 38


Par ailleurs, je lance pluseaudio --kill au démarrage de jack

Aussi, le PC tourne sous Ubuntu Studio 18.04 installé sur un SSD, CPU: i7-4790K et 16 GB de RAM.

Avez-vous des pistes pour m'orienter dans la résolution de ce problème.

Salutations,

Blackpearl
France
Bonjour,

donne nous le retour de
Copy to clipboard
cat /etc/security/limits.d/audio.conf
ainsi que celui de
Copy to clipboard
groups


Et aussi, utilises-tu un noyau basse-latence ou un noyau-rt ?
cat /etc/security/limits.d/audio.conf

Copy to clipboard
# Provided by the jackd package. # # Changes to this file will be preserved. # # If you want to enable/disable realtime permissions, run # # dpkg-reconfigure -p high jackd @audio - rtprio 90 @audio - memlock unlimited #@audio - nice -19


groups
Copy to clipboard
blackpearl adm cdrom sudo audio dip plugdev lpadmin sambashare vboxusers


uname -a
Copy to clipboard
Linux Mothership 4.15.0-42-lowlatency #45-Ubuntu SMP PREEMPT Thu Nov 15 23:24:08 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

France
Ça semble correct.

Je suppose que la M-AUDIO M-Track 8x4M est une interface USB ? Si c'est bien le cas, as-tu essayé de la brancher sur différents ports USB de la machine ?
Bonsoir olinuxx,

J'ai fait le test ce soir en gardant que le clavier, la souris et l'interface audio sur les ports USB et j'ai fait tourner sur l'ensemble des ports. Les XRUNS persistent....

J'observe que les XRUNS n'apparaissent pas dès le démarrage de jack mais au bout d'au moins 30s environ. Est-ce que cela pourrait correspondre à un processus qui se lance en arrière plan?
France
Juste une question qui me taraude, dans ton premier message, on voit le pont Pulse Jack Sync activé dans les logs de QjackCtl, or tu dis le tuer au lancement de jack.
Ça ne serait pas pulseaudio qui essaierait de se relancer ? D'ailleurs pourquoi tuer PulseAudio ? De mes expériences récentes,la cohabitation est plutôt heureuse avec ce pont.
France
@Blackpearl_Venus : essaie avec un live USB de LibraZiK et dis moi si le comportement est le même.
Bonsoir,

@Sub26nico, en effet PulseAudio se relancait. J'ai fait le nécessaire pour l'arrêter complètement en modifiant le fichier client.conf, ce qui ne règle pas le problème. Tu as raison je pense, le problème ne vient pas de là.

@olinuxx, j'ai essayé avec KXStudio et LibraZik. Essai non-concluant.

Je viens de faire un autre test ce soir:
J'ai rebranché mon ancienne interface, une M-AUDIO Fastrack C400 que j'ai utilisé plusieurs années sans problèmes et tout fonctionne à merveille même en chargeant des gros projets. Aucun XRUNS!

Est-ce que ce dernier test vous donne de nouvelles pistes?

Pour information la M-Track 8x4M vient avec un port USB-C que je n'ai pas sur ma carte mère. J'utilise le cable USB-C -> USB fournit avec le matériel pour le branchement. Est-ce qu'il peut y avoir un problème de communication de ce fait?

Bonne soirée
France
Quand tu dis essais non concluant, tu veux dire quoi exactement ? Tu as eu les mêmes symptômes et messages d'erreurs ?
Bonsoir Olinuxx,

Désolé pour le délai de ma réponse. J'ai relancé LibraZik en live USB pour reprendre les messages dans Jack, ci-dessous. J'ai les mêmes symptômes, de nombreux XRUNS moins d'une minute après le démarrage de Jack. Je ne sais pas interpréter les messages d'erreurs.

Copy to clipboard
16:45:54.662 Journalisation démarrée --- dim. déc. 9 16:45:54 2018 --- 16:45:54.752 Réinitialisation des statistiques. 16:45:54.756 Changement des connexions ALSA. Cannot connect to server socket err = Aucun fichier ou dossier de ce type Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock 16:45:54.766 Changement du graphe des connexions ALSA. qjackctlAlsaGraph::updateItems() 16:45:55.926 Script de démarrage... 16:45:55.927 pulseaudio --start Cannot connect to server socket err = Aucun fichier ou dossier de ce type Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock 16:45:56.337 Script de démarrage terminé avec succès. 16:45:56.337 JACK démarre... 16:45:56.337 /usr/bin/jackd -P70 -dalsa -r48000 -p288 -n2 -D -Chw:M8X4M,0 -Phw:M8X4M,0 16:45:56.340 JACK a été démarré avec le PID=1908. no message buffer overruns no message buffer overruns no message buffer overruns jackdmp 1.9.12 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2016 Grame. Copyright 2016-2017 Filipe Coelho. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details JACK server starting in realtime mode with priority 70 self-connect-mode is "Don't restrict self connect requests" audio_reservation_init Acquire audio card Audio3 creating alsa driver ... hw:M8X4M,0|hw:M8X4M,0|288|2|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 288 frames (6.0 ms), buffer = 2 periods ALSA: final selected sample format for capture: 32bit integer little-endian ALSA: use 2 periods for capture ALSA: final selected sample format for playback: 32bit integer little-endian ALSA: use 2 periods for playback 16:45:58.392 Changement des connexions JACK. 16:45:58.393 Configuration du serveur enregistrée dans « /home/user/.jackdrc ». 16:45:58.393 Réinitialisation des statistiques. 16:45:58.396 Client activé. 16:45:58.396 Baie de brassage désactivée. 16:45:58.396 Script post-démarrage... 16:45:58.396 pactl load-module module-jack-sink && pactl load-module module-jack-source && echo "set-default-sink jack_out" | pacmd && echo "set-default-source jack_in" | pacmd && a2j -e 16:45:58.402 Changement du graphe des connexions JACK. 28 29 hardware ports export --- enable export of hardware ports --- start 16:45:58.759 Changement du graphe des connexions ALSA. 16:45:58.958 Script post-démarrage terminé avec statut de sortie=256. 16:45:58.959 Changement des connexions JACK. qjackctlJackGraph::updateItems() qjackctlJackGraph::updateItems() qjackctlAlsaGraph::updateItems() 16:46:41.474 Récupération désynchronisation (XRUN) (1). 16:46:43.038 Récupération de désynchronisation (XRUN) (55 sauté). 16:46:45.048 Récupération de désynchronisation (XRUN) (71 sauté). 16:46:47.058 Récupération de désynchronisation (XRUN) (71 sauté). 16:46:49.068 Récupération de désynchronisation (XRUN) (71 sauté). 16:46:51.072 Récupération de désynchronisation (XRUN) (11 sauté).


Je n'ai pas fait de progrès. Je n'ai aucune pistes pour le moment.

Cordialement,
France
Ce qui me semble curieux c'est :
Copy to clipboard
/usr/bin/jackd -P70 -dalsa -r48000 -p288 -n2 -D -Chw:M8X4M,0 -Phw:M8X4M,0

le '-p288' ne devrait pas être, c'est 128, 256, 512, 1024, etc..., mais 288, c'est la première fois que je vois cette valeur. Il faudrait changer cela dans QjackCtl ou autre application pour Jack.