First of all: I understand that the PRD says that Fedora Workstation focuses on developers, and, I also know about the Fedora Jam-KDE Spin...
That said, the fact is that, right now, in Fedora 21 Workstation, is simply frustrating to open (for example) Ardour and watch the whole thing dependent on PulseAudio go mute, and JACK initialize with (serious?) errors/warnings/misconfigurations(?), like:
[ERROR]: JACK: Cannot use real-time scheduling (RR/15)(1: Operação não permitida) [ERROR]: JACK: JackClient::AcquireSelfRealTime error
So, the thing is: there would be a way to make JACK and PulseAudio work together out-of-the-box in Fedora Workstation 22+?
Of course, I am suggesting this because I really think that an audio producer (beginner, amateur or professional) isn't interested in dealing with sound systems, sound servers, packages, config files and technical documentation just to make their audio tools work (well).
What do you think? There is interest? Is worth the work? Any ideas? Am I missing something?
(really sorry for English)
On Mon, Feb 16, 2015 at 12:02 AM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
First of all: I understand that the PRD says that Fedora Workstation focuses on developers, and, I also know about the Fedora Jam-KDE Spin...
That said, the fact is that, right now, in Fedora 21 Workstation, is simply frustrating to open (for example) Ardour and watch the whole thing dependent on PulseAudio go mute, and JACK initialize with (serious?) errors/warnings/misconfigurations(?), like:
[ERROR]: JACK: Cannot use real-time scheduling (RR/15)(1: Operação não permitida) [ERROR]: JACK: JackClient::AcquireSelfRealTime error
So, the thing is: there would be a way to make JACK and PulseAudio work together out-of-the-box in Fedora Workstation 22+?
Of course, I am suggesting this because I really think that an audio producer (beginner, amateur or professional) isn't interested in dealing with sound systems, sound servers, packages, config files and technical documentation just to make their audio tools work (well).
What do you think? There is interest? Is worth the work? Any ideas? Am I missing something?
You've asked to make it easier but you've made no suggestions or proposals on how it might be achieved.
Peter
You've asked to make it easier but you've made no suggestions or proposals on how it might be achieved.
Sorry if it seemed a random complaint.
Fact is that I am a victim of this issue, so I really did not feel comfortable to propose solutions at a technical level.
Anyway, since you asked:
1- Install JACK.
I think the package would be "jack-audio-connection-kit".
2- Set a list of standard and optimized initialization options for JACK.
Most likely disabling the "realtime" option (with "--no-realtime"), since, as far as I understand, the Fedora kernel does not have support for it.
And probably - if this is possible at all - using options/values that follow the technical specifications/capabilities of user's sound-card/sound-chip/sound-thing (like "--period x", "--rate x", etc).
And maybe some other options too (like "-d alsa").
3- Make sure that when JACK start, PulseAudio do not stop working.
I believe this is possible with the package "pulseaudio-module-jack" and/or "jack-audio-connection-kit-dbus" and then changing some setting somewhere.
IMPORTANT ---> of course, the whole point of this would be to install the required packages (and set the required configurations) *by default*, so that it can always be *tested by QA*. All of this to make sure things will *work out-of-the-box*, for when the user install and use their preferred audio app dependent on JACK.
Again, I am a noob; can be talking nonsense.
(sorry for the bad English)
On Mon, Feb 16, 2015 at 6:23 AM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
You've asked to make it easier but you've made no suggestions or proposals on how it might be achieved.
Sorry if it seemed a random complaint.
Fact is that I am a victim of this issue, so I really did not feel comfortable to propose solutions at a technical level.
Anyway, since you asked:
1- Install JACK.
I think the package would be "jack-audio-connection-kit".
2- Set a list of standard and optimized initialization options for JACK.
Most likely disabling the "realtime" option (with "--no-realtime"), since, as far as I understand, the Fedora kernel does not have support for it.
It does. The thing is that setting real time scheduling for an app is a privileged operation. Jack should use rtkit for that (like pulseaudio does).
On Mon, Feb 16, 2015 at 1:50 AM, drago01 drago01@gmail.com wrote:
On Mon, Feb 16, 2015 at 6:23 AM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
You've asked to make it easier but you've made no suggestions or proposals on how it might be achieved.
Sorry if it seemed a random complaint.
Fact is that I am a victim of this issue, so I really did not feel comfortable to propose solutions at a technical level.
Anyway, since you asked:
1- Install JACK.
I think the package would be "jack-audio-connection-kit".
2- Set a list of standard and optimized initialization options for JACK.
Most likely disabling the "realtime" option (with "--no-realtime"), since, as far as I understand, the Fedora kernel does not have support for it.
It does. The thing is that setting real time scheduling for an app is a privileged operation. Jack should use rtkit for that (like pulseaudio does).
The Fedora kernel doesn't carry the -rt patchset, which is what most people equate to "realtime" in the Linux world. I'm not sure what you were thinking of here?
josh
On Mon, Feb 16, 2015 at 1:49 PM, Josh Boyer jwboyer@fedoraproject.org wrote:
On Mon, Feb 16, 2015 at 1:50 AM, drago01 drago01@gmail.com wrote:
On Mon, Feb 16, 2015 at 6:23 AM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
You've asked to make it easier but you've made no suggestions or proposals on how it might be achieved.
Sorry if it seemed a random complaint.
Fact is that I am a victim of this issue, so I really did not feel comfortable to propose solutions at a technical level.
Anyway, since you asked:
1- Install JACK.
I think the package would be "jack-audio-connection-kit".
2- Set a list of standard and optimized initialization options for JACK.
Most likely disabling the "realtime" option (with "--no-realtime"), since, as far as I understand, the Fedora kernel does not have support for it.
It does. The thing is that setting real time scheduling for an app is a privileged operation. Jack should use rtkit for that (like pulseaudio does).
The Fedora kernel doesn't carry the -rt patchset, which is what most people equate to "realtime" in the Linux world. I'm not sure what you were thinking of here?
Its not about the -rt patches (those would improve things for audio producers; but that's a different story) but what jack tries to do is simply set the scheduling policy of the process to SCHED_RR. Pulseaudio already does this (for the same reason) using rtkit:
"RealtimeKit is a D-Bus system service that changes the scheduling policy of user processes/threads to SCHED_RR (i.e. realtime scheduling mode) on request. It is intended to be used as a secure mechanism to allow real-time scheduling to be used by normal user processes."
So what I suggested is to change jack to use rtkit instead of requiring setuid or even full root privileges for it. Non of this require any kernel changes nor the -rt patches.
3- Make sure that when JACK start, PulseAudio do not stop working.
I can confirm that with this 3 packages (below) installed, this *can* work.
- "jack-audio-connection-kit" - "jack-audio-connection-kit-dbus" - "pulseaudio-module-jack"
But there is 2 problems:
1- The JACK server must be started with "jack_control", instead of "jackd"; but "jack_control" is misconfigured by default. It needed, at least, change the "driver" parameter to "alsa", first.
2- Seems that when JACK server isn't running, the application tries to run it with "jackd". Although this can be prevented by running JACK server (with "jack_control") all the time. If not optimal, maybe some parameter in "jack_control" can fix it.
So, does anyone know how to fix any of these problems? Also, if fixed, does anyone agree that this may be an interesting little feature for Fedora Workstation? if yes, I could also try to check why JACK is not getting permission to use Realtime Scheduling.
(sorry for bad English)
I could also try to check why JACK is not getting permission to use Realtime Scheduling.
Turns out this can be fixed by adding itself to "jackuser" group.
So, even if, for whatever reason, is not desirable to have JACK working together with PulseAudio...
Would be interesting, nonetheless, add all users to "jackuser" group by default, to prevent users have a not so good experience with JACK Apps?
(sorry for bad English)
On Mon, Feb 16, 2015 at 5:41 PM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
I could also try to check why JACK is not getting permission to use Realtime Scheduling.
Turns out this can be fixed by adding itself to "jackuser" group.
So, even if, for whatever reason, is not desirable to have JACK working together with PulseAudio...
Would be interesting, nonetheless, add all users to "jackuser" group by default, to prevent users have a not so good experience with JACK Apps?
It sounds like all the issues discussed above are mostly about the JACK defaults when installed. I don't believe it's worth shipping JACK in the Workstation by default as most people won't use it but it would be good to see JACK just work OOTB when someone does install it.
Peter
1. A lot of the "real-time kernel" aka "low-latency kernel" work happens at Stanford University's CCRMA lab. Their home page is http://ccrma.stanford.edu/planetccrma/software/. 2. For JACK there are some things you may need to do: a. Install jack-audio-connection-kit-devel and qjackctl. Qjackctl is a plugboard / patch panel for various devices and audio sources / sinks. It's mainly a GUI but IIRC there is a command line / config file interface too.
b. Add the user to *both* the 'jackuser' and 'audio' groups. Otherwise you need to be 'root' to use JACK.
On Sun, Feb 15, 2015 at 4:02 PM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
That said, the fact is that, right now, in Fedora 21 Workstation, is simply frustrating to open (for example) Ardour and watch the whole thing dependent on PulseAudio go mute, and JACK initialize with (serious?) errors/warnings/misconfigurations(?), like:
[ERROR]: JACK: Cannot use real-time scheduling (RR/15)(1: Operação não permitida) [ERROR]: JACK: JackClient::AcquireSelfRealTime error
So, the thing is: there would be a way to make JACK and PulseAudio work together out-of-the-box in Fedora Workstation 22+?
Of course, I am suggesting this because I really think that an audio producer (beginner, amateur or professional) isn't interested in dealing with sound systems, sound servers, packages, config files and technical documentation just to make their audio tools work (well).
What do you think? There is interest? Is worth the work? Any ideas? Am I missing something?
If the Ardour package doesn't work out of the box, I think the place to start is filing a bug (or bugs) against it.
The places to start learning about Ardour in Fedora are:
https://apps.fedoraproject.org/packages/ardour and https://apps.fedoraproject.org/packages/ardour3
(There are two versions of Ardour in Fedora, it seems).
I'm no expert on PulseAudio (my only advice is that in Xfce, you MUST install https://apps.fedoraproject.org/packages/pavucontrol), and I know nothing about Jack, but I bet there are plenty of Fedora users out there who have experience and tips to share on Ardour.
If the Ardour package doesn't work out of the box, I think the place to start is filing a bug (or bugs) against it.
I'm no expert on PulseAudio (my only advice is that in Xfce, you MUST install https://apps.fedoraproject.org/packages/pavucontrol), and I know nothing about Jack, but I bet there are plenty of Fedora users out there who have experience and tips to share on Ardour.
Ardour itself is working fine.
What I'm trying to do is, at least, raise awareness about bad out-of-the-box integration between PulseAudio and JACK in Fedora Workstation.
Anyway, thanks for the tips :)
On Sun, Feb 15, 2015 at 9:55 PM, Diogo Campos (gmail) diogocamposwd@gmail.com wrote:
Ardour itself is working fine.
What I'm trying to do is, at least, raise awareness about bad out-of-the-box integration between PulseAudio and JACK in Fedora Workstation.
Now I see what you are saying. I've always assumed that if you want to run Jack, you need a dedicated box on which you're NOT running PulseAudio.
Maybe there's a way to install both but turn one off and the other on?
-- Steven Rosenberg http://stevenrosenberg.net/blog http://blogs.dailynews.com/click
Maybe there's a way to install both but turn one off and the other on?
Yes. There is. In fact, this happens automatically when you install and run a JACK App.
I just think this is suboptimal, since, as far as I know, there is a way to make both work at the same time. So, at least for me, having this by default would be a really nice thing to Fedora Workstation.
(sorry for bad English)
desktop@lists.fedoraproject.org