Bug 650314 - fluidsynth can't connect to jackd
Summary: fluidsynth can't connect to jackd
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: fluidsynth
Version: 12
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Anthony Green
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-05 18:58 UTC by Mika Länsirinne
Modified: 2010-12-03 12:02 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-03 12:02:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mika Länsirinne 2010-11-05 18:58:55 UTC
Description of problem:
fluidsynth or neither qsynth are unable to get audio connection with jackd server. The fluidsynth's log says immediately after start:
zombified - calling shutdown handler
fluidsynth: error: Help! Lost the connection to the JACK server

The midi side works ok, midi connections show correctly and notes are sent to qsynth (the led is flashing), but no audio is available and no audio client is created to the jackd (as seen in qjackctl's connection pane).

Version-Release number of selected component (if applicable):
qsynth-0.3.5-1.fc12.x86_64
fluidsynth-1.1.3-1.fc12.x86_64
jack-audio-connection-kit-0.118.0-1.fc12.x86_64
qjackctl-0.3.6-1.fc12.x86_64


How reproducible:
Currently every time. It used to work before I upgraded fluidsynth (propably from version 1.1.1-1) and other components.

Steps to Reproduce:
1. start qjackctl (or jackd)
2. start qsynth (or fluidsynth)
  
Actual results:
No audio client is created to the qjackctl's connection pane

Expected results:
Audio client is created and can be used to route audio from the synth

Additional info:
I tried also the rpms from Fedora 13, but these did not help at all, as was expected since the versions are the same. Fedora 14's jack-audio-connection-kit (rebuilt rpm) was more successfull such that the audio client was created, but no audio could be heard in that case either.

Comment 1 Orcan Ogetbil 2010-11-05 19:46:39 UTC
Hmm, thank for the report.

I don't have this problem. Did you try downgrading fluidsynth and see it fixes things? You can manually download the fluidsynth-libs package and do

rpm -Uvh --oldpackage <path to the rpm>

Comment 2 Orcan Ogetbil 2010-11-05 23:08:04 UTC
I forgot to ask the standard question:
   Do you have pulseaudio installed?

Comment 3 Mika Länsirinne 2010-11-05 23:31:36 UTC
I have pulseaudio-libs installed since fluidsynth seems to require it. Otherwise I try to avoid pulseaudio ;).

I did just try to downgrade to fluidsynth-1.0.9-4.fc12.x86_64 & qsynth-0.3.4-2.fc12.x86_64. And yes, it does work again!

However, the reason for upgrading it in the first place was that the newer version works much better when converting midi files to audio files in the command line.

Comment 4 Orcan Ogetbil 2010-11-06 00:07:50 UTC
Yeah, I did not want to build fluidsynth against pulseaudio-libs, but our Steering Committee forced me to do so. :(

There is also 1.1.2 you can still download from koji:
   http://koji.fedoraproject.org/koji/buildinfo?buildID=198505

What happens (with 1.1.3) when you run the fluidsynth executable directly (the one that comes with the plain "fluidsynth" package) ? Does it freeze? Can you post its output here? You can start it via

   $ fluidsynth -m jack -a jack
   $ fluidsynth -m alsa_seq -a jack
   $ fluidsynth -m alsa_seq -a alsa
etc.

Comment 5 Mika Länsirinne 2010-11-06 01:19:01 UTC
fluidsynth does not freeze, I get the prompt there ok, after the error messages. The version 1.1.2 does not work either.

# fluidsynth -m jack -a jack
FluidSynth version 1.1.3
Copyright (C) 2000-2010 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

Created project project-1 in directory /home/mika/audio-projects/project-1
Added client 770b226d-6c3f-4b3f-812b-3ad8bf700850 of class fluidsynth to project project-1
lash_init: Not attempting to start daemon server automatically
fluidsynth: Jack sample rate mismatch, adjusting. (synth.sample-rate=44100, jackd=48000)
Type 'help' for help topics.

> zombified - calling shutdown handler
fluidsynth: error: Help! Lost the connection to the JACK server


# fluidsynth -m alsa_seq -a jack
FluidSynth version 1.1.3
Copyright (C) 2000-2010 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

Created project project-1 in directory /home/mika/audio-projects/project-1
Added client 5cbbf1d6-be5c-4e4d-b1f5-db0bdd446173 of class fluidsynth to project project-1
lash_init: Not attempting to start daemon server automatically
fluidsynth: Jack sample rate mismatch, adjusting. (synth.sample-rate=44100, jackd=48000)
Type 'help' for help topics.

> zombified - calling shutdown handler
fluidsynth: error: Help! Lost the connection to the JACK server
fluidsynth: warning: Failed to set thread to high priority


# fluidsynth -m alsa_seq -a alsa
FluidSynth version 1.1.3
Copyright (C) 2000-2010 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

Created project project-1 in directory /home/mika/audio-projects/project-1
Added client fc8742e5-ce73-4170-afac-6a23e4889723 of class fluidsynth to project project-1
lash_init: Not attempting to start daemon server automatically
fluidsynth: warning: Requested a period size of 64, got 940 instead
fluidsynth: warning: Requested 16 periods, got 8 instead
Type 'help' for help topics.

> fluidsynth: warning: Failed to set thread to high priority
fluidsynth: warning: Failed to set thread to high priority

Comment 6 Orcan Ogetbil 2010-11-06 03:52:12 UTC
Thank you.

Before I send these to the developers, I would like to know a few more things.

How do you start jackd? If you are using qjackctl, you can find how jackd is started towards the beginning of the log in the Messages window. It should say something close to
    /usr/bin/jackd -v -P20 -dalsa -dhw:0 -r48000 -p1024 -n2 -Xseq

Did you try changing Periods/Buffer ? In qjacktl, you can find it in the Setup window. Some soundcards only work with Periods/Buffer=2, some with =3 , some with both. Also try playing with the other settings (Sample Rate, Frames/Period, etc) and see if it makes a difference. I think see settings should also match to what you set in QSynth's Setup->Audio window.

The last thing that I need to know is: Are you in the jackuser group?
   $ getent group |grep jack

Comment 7 Mika Länsirinne 2010-11-06 10:37:35 UTC
I use qjackctl, the jackd which is run is this:
/usr/bin/jackd -v -P10 -dalsa -r48000 -p64 -n2 -D -Chw:7,0 -Phw:7,0 -Xseq

Yes, I did try to play around with the jack settings a little, but they didn't seem to help.

Yes, I am in the jackuser group.

Comment 8 Orcan Ogetbil 2010-11-06 20:09:24 UTC
Thanks,
I forwarded your problem to the developers
   http://lists.gnu.org/archive/html/fluid-dev/2010-11/msg00013.html
and apparently they are aware of the issue. However they don't know yet what causes it. You can subscribe to their mailing list if you want. They are very nice and friendly.

I noticed that you are starting jackd with a nonstandard priority value 10. I wanted to ask, are you using a realtime kernel (self compiled or from PlanetCCRMA or ?) or are you using the stock Fedora kernel? Does it do any difference to increase/decrease the number? If I remember correctly the default is 20 on Fedora.

Comment 9 Mika Länsirinne 2010-11-07 02:02:36 UTC
Ok, thanks for your efforts. I'll keep looking to that developer's case. Meanwhile, I kind of created a temporary workaround by installing a custom-built 1.1.3 to /usr/local which I can use for command-line conversions and use 1.0.9 otherwise.

I'm afraid I can't recall if I changed the priority to 10 myself or when or why :), but yes, I am running self compiled RT kernel (2.6.33.4-rt20 currently). It made a huge impression to me when first tested making real-time audio processing working perfectly with no noticeable latency (2.67msec with current settings with no xruns!).

Comment 10 Orcan Ogetbil 2010-11-07 02:17:53 UTC
Hmm, if you are using a realtime kernel, you may need to patch jack.

I maintain the jack2 (1.9.5) package for Fedora 14, and we are using a patch to support both the stock Fedora kernel and the CCRMA realtime kernel. I am not familiar with jack1 (0.118.0) codebase but it may need a similar patch. You can see our jack2 patch at 
   http://pkgs.fedoraproject.org/gitweb/?p=jack-audio-connection-kit.git;a=blob;f=jack-realtime-compat.patch;h=8ab34b47514636b5e622fcd55e15c5af2e3a909e;hb=HEAD

Note that jack1 codebase is a lot different than jack2, although jack1 and jack2 are API/ABI compatible.

Comment 11 Bug Zapper 2010-12-03 12:02:58 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.