I tried to make JACK running on my Gentoo for a day or two, but I kept getting this
$ jackd -v -R -d alsa jackd 0.118.0 Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn 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 getting driver descriptor from /usr/lib64/jack/jack_dummy.so getting driver descriptor from /usr/lib64/jack/jack_net.so getting driver descriptor from /usr/lib64/jack/jack_alsa.so 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 .. start poll on 3 fd's new client: alsa_pcm, id = 1 type 1 @ 0x608fc0 fd = -1 creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit control device hw:0 configuring for 48000Hz, period = 1024 frames (21.3 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 new buffer size 1024 registered port system:capture_1, offset = 4096 registered port system:capture_2, offset = 8192 registered port system:playback_1, offset = 0 registered port system:playback_2, offset = 0 ++ jack_sort_graph ++ jack_rechain_graph(): +++ client is now alsa_pcm active ? 1 client alsa_pcm: internal client, execution_order=0. -- jack_rechain_graph() -- jack_sort_graph 5485 waiting for signals [Ten seconds later] 6624 waiting for signals jackd watchdog: timeout - killing jackd
I googled it and found a lot are about realtime, but it's not my case. After many tries, I still couldn't solve my problem so I asked for help, and someone's reply helped me indirectly.
By default, JACK would try to open two ports, one for playback, the other for capture. The problem was on capture, I guess jackd
couldn't receive data, so it times out. I have to enable Capture in alsamixer
or only use the playback by specifying -P
. If I don't do either, the timeout always occurs.
I also tried to use TiMidity++ to create a virtual MIDI device, but there is a problem
$ timidity -iA -Oj -B2,7 TiMidity starting in ALSA server mode ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory error in snd_seq_open
modprobe snd-seq
loads the kernel module TiMidity++ needs. Put it into /etc/modules.autoload.d/kernel-2.6
would be helpful for loading at boot time.