Chargement...
 
Skip to main content

4 - Toutes les autres applications, les émulateurs...


Soucis de config audio (Jack) et questions existentielles

Articles: 14
(Copie du poster écrit hier sur le forum Ubuntu.fr)

Hello à tous, Linuxiens, et MAOistes en particulier

J'ai migré, il y a maintenant 3 semaines, de Vista à Ubuntu (8.04) sur une vieille machine que j'ai bricolé. Ca m'a permis de me faire la main et d'appréhender les notions de langage propre à Linux-Ubuntu.

Bref...
Comme j'utilise l'informatique essentiellement pour faire de la zic, je me suis lancé et j'ai installé Ubuntu sur mon PC-récent-qu'a-une-bonne-carte-son-et-plein-de-RAM, en dual boot avec un Vista pré-installé. Tout ne s'est pas trop mal déroulé, et, après quelques frayeurs, j'ai maintenant un PC bien équipé pour faire "chanter" une chorale de manchots et de hérons... 😉

Pour ça, j'ai ajouté (à mon Ubuntu8.04) le métapaquet UbuntuStudio, Le noyau basse-latence (rt), ainsi que toutes les applis dédiées au traitement du son.

Jusque là, tout va bien, du moins l'essentiel pour moi: Ma carte son (M-Audio Delta44) est reconnue sans soucis.

Ou ça se complique c'est avec l'utilisation et la config de Jack.

J'ai le fameux "Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info. 😑

Je m'explique, je vous montre après...

La carte son est prise en charge par ALSA (jusque là tout va bien), je peux la sélectionner dans systeme->préférences->son, j'arrive à gérer les niveaux par l'Alsamixer, je peux écouter du rock sur Audacious ou le Lecteur video, en streaming sur Monespace, etc... (par contre j'ai pas de sons système, mais je ferais un autre post pour ça)

Tout part en sucette lorsque je veux enfin exploiter (à sa juste valeur) mon nouveau joujou. Pour utiliser tous les merveilleux outils (la plupart du moins) que propose Ubuntustudio, il faut que je passe par Jack. Je crois avoir saisi (à peu près) la mécanique d'utilisation et d'exploitation de l'engin. Mais rien y fait, il ne veut pas se connecter.

Malgré les dizaines d'heures ce week-end de lectures sur le sujet , je suis un peu paumé, et je n'arrive plus à comprendre certains trucs, ni a dresser la liste des manips que j'ai pu faire (sans résultats).

Bon, quelques résultats de terminaux valent mieux qu'un long discours:

Ma config

regis@LinuxMinionne:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
regis@LinuxMinionne:~$ lspci
00:00.0 RAM memory: nVidia Corporation MCP61 Memory Controller (rev a1)
00:01.0 ISA bridge: nVidia Corporation MCP61 LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP61 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP61 Memory Controller (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP61 USB Controller (rev a3)
00:02.1 USB Controller: nVidia Corporation MCP61 USB Controller (rev a3)
00:04.0 PCI bridge: nVidia Corporation MCP61 PCI bridge (rev a1)
00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)
00:06.0 IDE interface: nVidia Corporation MCP61 IDE (rev a2)
00:07.0 Bridge: nVidia Corporation MCP61 Ethernet (rev a2)
00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
00:08.1 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
00:09.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
00:0b.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices AMD K8 Athlon64/Opteron HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices AMD K8 Athlon64/Opteron Address Map
00:18.2 Host bridge: Advanced Micro Devices AMD K8 Athlon64/Opteron DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices AMD K8 Athlon64/Opteron Miscellaneous Control

01:06.0 Multimedia audio controller: VIA Technologies Inc. ICE1712 Envy24 PCI Multi-Channel I/O Controller (rev 02)
01:09.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
02:00.0 VGA compatible controller: nVidia Corporation GeForce 8400 GS (rev a1)
regis@LinuxMinionne:~$ lsmod
Module Size Used by
ipv6 275236 10
snd_rtctimer 4640 1
af_packet 24196 2
rfcomm 43280 2
l2cap 25984 13 rfcomm
bluetooth 62564 4 rfcomm,l2cap
ppdev 10372 0
powernow_k8 16704 1
cpufreq_userspace 5284 0
cpufreq_powersave 2688 0
cpufreq_ondemand 9740 1
cpufreq_conservative 8840 0
cpufreq_stats 7360 0
freq_table 5536 3 powernow_k8,cpufreq_ondemand,cpufreq_stats
sbs 15368 0
video 19984 0
output 4736 1 video
sbshc 7808 1 sbs
container 5760 0
dock 11564 0
battery 14596 0
iptable_filter 3840 0
ip_tables 14820 1 iptable_filter
x_tables 16644 1 ip_tables
ac 7044 0
sbp2 24456 0
parport_pc 36516 0
lp 13252 0
parport 38600 3 ppdev,parport_pc,lp
snd_usb_audio 84192 0
snd_usb_lib 18432 1 snd_usb_audio
snd_ice1712 63860 1
snd_ice17xx_ak4xxx 5120 1 snd_ice1712
snd_ak4xxx_adda 9472 2 snd_ice1712,snd_ice17xx_ak4xxx
snd_cs8427 10240 1 snd_ice1712
snd_ac97_codec 101284 1 snd_ice1712
snd_hda_intel 344728 0
ac97_bus 3200 1 snd_ac97_codec
snd_pcm_oss 42400 0
snd_mixer_oss 18048 1 snd_pcm_oss
snd_i2c 6528 2 snd_ice1712,snd_cs8427
snd_mpu401_uart 9984 1 snd_ice1712
snd_pcm 78724 5 snd_usb_audio,snd_ice1712,snd_ac97_codec,snd_hda_intel,snd_pcm_oss
snd_page_alloc 11400 2 snd_hda_intel,snd_pcm
snd_hwdep 10628 2 snd_usb_audio,snd_hda_intel
snd_seq_dummy 4868 0
snd_seq_oss 35968 0
snd_seq_midi 9376 0
snd_seq_midi_event 8576 2 snd_seq_oss,snd_seq_midi
snd_seq 54992 10 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
gspca 643792 0
nvidia 7826784 34
videodev 29696 1 gspca
v4l2_common 18432 1 videodev
v4l1_compat 15492 1 videodev
snd_rawmidi 25632 3 snd_usb_lib,snd_mpu401_uart,snd_seq_midi
agpgart 34900 1 nvidia
snd_timer 24836 3 snd_rtctimer,snd_pcm,snd_seq
snd_seq_device 9612 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq,snd_rawmidi
button 9232 0
snd 57636 24 snd_rtctimer,snd_usb_audio,snd_usb_lib,snd_ice1712,snd_ak4xxx_adda,snd_cs8427,snd_ac97_codec,snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_i2c,snd_mpu401_uart,snd_pcm,snd_hwdep,snd_seq_dummy,snd_seq_oss,snd_seq,snd_rawmidi,snd_timer,snd_seq_device
k8temp 6656 0
evdev 13312 3
pcspkr 4224 0
i2c_nforce2 7680 0
i2c_core 25344 2 nvidia,i2c_nforce2
shpchp 34708 0
pci_hotplug 31776 1 shpchp
soundcore 9312 1 snd
ext3 137480 2
jbd 49044 1 ext3
mbcache 9856 1 ext3
sg 36624 0
sr_mod 18084 0
cdrom 37152 1 sr_mod
sd_mod 31232 6
ohci1394 34096 0
ieee1394 95544 2 sbp2,ohci1394
usb_storage 73536 1
libusual 19392 1 usb_storage
usbhid 32640 0
hid 39040 1 usbhid
sata_nv 27656 3
pata_amd 14340 0
pata_acpi 8320 0
forcedeth 51340 0
ata_generic 8452 0
ehci_hcd 37644 0
libata 160112 4 sata_nv,pata_amd,pata_acpi,ata_generic
scsi_mod 153196 6 sbp2,sg,sr_mod,sd_mod,usb_storage,libata
ohci_hcd 26512 0
usbcore 147308 9 snd_usb_audio,snd_usb_lib,gspca,usb_storage,libusual,usbhid,ehci_hcd,ohci_hcd
thermal 16924 0
processor 37896 2 powernow_k8,thermal
fan 5636 0
fuse 51604 5


Le message d'erreur de Jack (tiens, ça me rappelle un film...)

19:18:27.675 Patchbay deactivated.
19:18:27.795 Statistics reset.
19:18:27.839 Startup script...
19:18:27.840 artsshell -q terminate
19:18:27.850 ALSA connection graph change.
19:18:28.286 Startup script terminated with exit status=256.
19:18:28.288 JACK is starting...
19:18:28.289 /usr/bin/jackd -R -dalsa -r44100 -p256 -n2 -D -Chw:1 -Phw:1 -m -i4 -o4
19:18:28.293 JACK was started with PID=9340.
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd 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 compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:1|hw:1|256|2|44100|4|4|nomon|swmeter|-|32bit
control device hw:1
configuring for 44100Hz, period = 256 frames (5.8 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: cannot set channel count to 4 for capture
ALSA: cannot configure capture channel
cannot load driver module alsa
no message buffer overruns
19:18:28.371 JACK was stopped successfully.
19:18:28.372 Post-shutdown script...
19:18:28.372 killall jackd
19:18:28.494 ALSA connection change.
jackd: aucun processus tué
19:18:28.790 Post-shutdown script terminated with exit status=256.
19:18:30.508 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.


A priori, un Pb de modules, je comprend plus, d'autant qu'en bidouillant (je sais plus quoi) j'ai réussi à le connecter 1 ou 2 fois dans le week-end. Mais essentiellement, il me renvoi tout le temps ce message...

Quelques questions existentielles avant de terminer:

Il est indiqué (dans la doc et sur LinuxMAO) qu'il faut "tuer" les autres serveurs audios (ESD, Arts) pour utiliser Jack (car ils "monopolysent" la carte son) mais comment savoir s'ils sont en cours d'utilisation, et comment les tuer et vérifier qu'on les a tué? J'ai tenté des ikillall/i sur chacun d'eux mais je ne suis pas sur d'avoir bien utilisé (écrit) la commande.

En plus de ESD et Arts, j'ai une interface de config pour le serveur Pulseaudio (qui "remplacerait" ESD d'après ce qu'il me semble avoir lu... pas sûr). Tous ces trucs ne sont ils pas en "conflit"?

Bref, j'aurais besoin d'un peu d'aide pour débloquer tout ça.
Faites moi savoir si vous avez besoin de résultats de commandes, etc...

++ et merci d'avance.
Articles: 2020 Allemagne
salut,
es tu sû que ta carte son fonctionne en 44100Hz ? C'est peut être un problème qui vient de là. A changer dans Jack Control dans la fenêtre setup. Essaie aussi de mettre 3 periods/buffer.
Tu peux tuer pulseaudio avec
killall pulseaudio
ou alors via le menu système>administration>moniteur système et tuer le processus. Si le problème vient de là, il suffit de faie un script qui autmatise ça et de demander à jack d'exécuter le script au démarrage.

Sinon tu peux nous mettre la sortie de jack en mode console en tapant :
jackd -v -R -dalsa -r44100 -p256 -n3 -D

et
jackd -v -R -dalsa -r48000 -p256 -n3 -D

Articles: 14
Ma carte: M-Audio Delta44 / Interface d'enregistrement full duplex 24 bits/96kHz à 4 entrées/4 sorties (http://www.m-audio.fr/products/fr_fr/Delta44.html)

Pas de soucis à ce niveau, je pense.

La réponse aux killall des différents processus audio:

regis@LinuxMinionne:~$ killall pulseaudio
pulseaudio: aucun processus tué
regis@LinuxMinionne:~$ killall esd
esd: aucun processus tué
regis@LinuxMinionne:~$ killall arts
arts: aucun processus tué

Le problème ne vient pas de là...

Les résultats que tu demandes:
regis@LinuxMinionne:~$ jackd -v -R -dalsa -r44100 -p256 -n3 -D
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_freebob.so
getting driver descriptor from /usr/lib/jack/jack_dummy.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd 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 compiled with System V SHM support.
server `default' registered
registered builtin port type 32 bit float mono audio
registered builtin port type 8 bit raw midi
clock source = system clock via clock_gettime
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x805a008 fd = -1
apparent rate = 44100
creating alsa driver ... hw:0|hw:0|256|3|44100|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 44100Hz, period = 256 frames (5.8 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 3 periods for playback
new buffer size 256
registered port system:capture_1, offset = 1024
registered port system:capture_2, offset = 2048
registered port system:playback_1, offset = 0
registered port system:playback_2, offset = 0
registered port system:playback_3, offset = 0
registered port system:playback_4, offset = 0
registered port system:playback_5, offset = 0
registered port system:playback_6, offset = 0
++ jack_rechain_graph(): client alsa_pcm: internal client, execution_order=0. -- jack_rechain_graph()
6447 waiting for signals
load = 0.2068 max usecs: 24.000, spare = 5780.000
load = 0.3015 max usecs: 23.000, spare = 5781.000
load = 0.5212 max usecs: 43.000, spare = 5761.000
load = 0.4415 max usecs: 21.000, spare = 5783.000...

- - - - - - - - - - - -

regis@LinuxMinionne:~$ jackd -v -R -dalsa -r48000 -p256 -n3 -D
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_freebob.so
getting driver descriptor from /usr/lib/jack/jack_dummy.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd 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 compiled with System V SHM support.
server `default' registered
registered builtin port type 32 bit float mono audio
registered builtin port type 8 bit raw midi
clock source = system clock via clock_gettime
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x805a008 fd = -1
apparent rate = 48000
creating alsa driver ... hw:0|hw:0|256|3|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 3 periods for playback
new buffer size 256
registered port system:capture_1, offset = 1024
registered port system:capture_2, offset = 2048
registered port system:playback_1, offset = 0
registered port system:playback_2, offset = 0
registered port system:playback_3, offset = 0
registered port system:playback_4, offset = 0
registered port system:playback_5, offset = 0
registered port system:playback_6, offset = 0
++ jack_rechain_graph(): client alsa_pcm: internal client, execution_order=0. -- jack_rechain_graph()
6473 waiting for signals
load = 0.2063 max usecs: 22.000, spare = 5311.000
load = 0.1500 max usecs: 5.000, spare = 5328.000...

Il semble (sur ces logs) que le périphérique audio utilisé soit hw:o - ce qui correspond à la carte intégrée (Nvidia...), alors que la Delat44 est en hw:1.
Par contre, dans le gestionnaire de réglage de volume, c'est bien la Delta qui apparaît. C'est aussi elle qui est sélectionnée dans le Setup de Jack... ??!!

Je pige plus...
Articles: 2020 Allemagne
Mais là, ça marche non ?
une fois que tu as fait ça, tu lances qjackctl et ça devrait aller non ?
Articles: 276
Oui tout à fait, ces tests utilisent ta carte interne qui ne semble pas poser de problèmes, et il faut mettre hw:1 dans qjackctl comme dans ton premier rapport.
Je crois que le problème est lié au nombre de canaux que tu as mis à 4 en entrée et sortie. C'est normal c'est ce que tu veux 😉, mais est-ce que tu peux essayer avec 2 canaux d'abord en entrée et sortie dans qjackclt? Si dans ce cas là ça marche il faut peut-être un autre alsa device (aplay -L en produit une liste) et creuser de ce coté là pour faire marcher les 4. Sinon j'ai l'impression qu'il y a surtout un problème pour les entrées?

"ALSA: cannot set channel count to 4 for capture
ALSA: cannot configure capture channel
cannot load driver module alsa"
Articles: 14
Merci pour ces conseils, je fouille de ce coté.

Je suis à 2 doigts de ré-installer Alsa et tous ses composants (ça coûte rien, à part du temps)

J'essaie aussi quelques trucs proposés sur le forum Ubuntu.fr (j'ai ouvert un topic au même nom)

Je vous tiens au jus...
Articles: 371
19:18:28.289 /usr/bin/jackd -R -dalsa -r44100 -p256 -n2 -D -Chw:1 -Phw:1 -m -i4 -o4

"ALSA: cannot set channel count to 4 for capture
ALSA: cannot configure capture channel
cannot load driver module alsa"

ton problème risque bien d'être dans les paramètres -i4 -o4. Il ne faut pas les indiquer jack et la carte son se débrouillent très bien ensemble pour négocier les valeurs qui leur vont bien.
En l'occurence le chipset ICE1712 de ta carte son a 12 entrées et 10 sorties mais ta carte son n'exploite qu'une partie. Par contre le transfert carte son jack doit se faire avec toutes les entrés sorties.
Dans qjackctl mets ces paramètres sur (default).
Idem pour les Input et outputs device, laisse les sur (default) et choisi la carte son en cliquant sur le signe > a droite de la case interface.