Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 27063 - jack-audio-connect-kit - jackstart needed
Summary: jack-audio-connect-kit - jackstart needed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-21 09:41 UTC by Mark Knecht
Modified: 2004-03-18 00:00 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Knecht 2003-08-21 09:41:45 UTC
This relates to Bug 21752 which is currently marked as 'Won't fix'. I wasn't 
sure whether to append to that one or open a new one.

jackstart is required if I want to run specific applications using real-time 
scheduling with Alsa & the Jack-Audio-Connection-Kit as non-root. I understand 
that the current Gentoo kernel does not support capabilities, so jackstart 
won't run today. However, I'd like to patch my own custom kernel and then be 
able to use jackstart. This allows users to get root capabilities for specific 
applications while not having them working in a root xterm.

Is it possible to put jackstart into the ebuild for jack-audio-connection-kit 
and then:

1) (preferred) don't worry about it actually working for now? I believe 
jackstart will bomb out telling users the kernel doesn't have capabilities 
enabled

or

2) (not prefered) also patch the kernel to enable capabilities?

In my mind I will likely

1) Patch the kernel by hand anyway. The patch is simple.
2) emerge alsa
3) emerge jack

to get this working. I think it won't impact people who don't know what they 
are doing.

Thanks,
Mark

Reproducible: Always
Steps to Reproduce:
Comment 1 J. Ellis (RETIRED) gentoo-dev 2003-08-21 19:49:39 UTC
How about i add it hidden behind a local use flag that you'll have to explicitly turn on?

I don't want you to think that i'm making this difficult on purpose, it's just that i don't want to deal with the kernel part right.

In the past i've discussed working with one of the kernel tree maintainers to include patches to turn on capabilities. The problem is that not everyone want to use the same kernel package.

Anyway, one of us will get to this in the next couple of days.
Comment 2 Mark Knecht 2003-08-22 07:53:09 UTC
J.Ellis,
   By a 'hidden flag' do you mean a USE flag? I have no problem with that at all if there is some documentation that would tell people. Maybe on the jack-audio-connection-ket Gentoo Database page that calls it out? My issue is that no one will end up knowing what flag to use. (Please be aware I am a newer Gentoo user and do not always know where to go to get info like this.)

   The real point about jackstart is that you do NOT have to deal with the kernel at all, even if you build it by default with Jack. (my preference) If my machine's kernel doesn't have capabilities built in, and I run jackstart, it will just tell me my kernel doesn't have capabilities. The machine doesn't crash. jackstart gives a clear message. The jackd man page gives more explanation for users that are interested.

   I think you should just include jackstart in the ebuild, don't bother with the kernel patch, and let users that want to use it figure out how to patch the kernel. It was no different for me when I turned on 3D acceleration for my video card. The ebuild were only part of the story. I still had to do some work. The point was the ebuilds didn't stop me from using the program.

   Obviously we can't have people build from source as it breaks the dependeny flow.

   Thanks for your attention to this!

Cheers,
Mark
Comment 3 Patrik Kullman 2003-09-08 02:01:17 UTC
Really, jackstart could be integrated into an addition of an init.d script.
Also, since the "jack" use-flag exists, it could affect the patches applied to the kernel.
Comment 4 J. Ellis (RETIRED) gentoo-dev 2003-09-28 20:08:35 UTC
Commited in 0.80.0-r1, ~x86 masked. The local use flag is 'jack-caps'. Please
let me know if there are any issues.

Thanks, and sorry for the slow turn around. I've been away and this fell
through the cracks.
Comment 5 Brett I. Holcomb 2003-11-03 17:30:00 UTC
Has the 0.80-r1 ebuild been incorporated into portage yet?  I've synced today
(and the last several days) but no -r1.

Thanks.
Comment 6 Brian Harring (RETIRED) gentoo-dev 2004-02-07 17:45:48 UTC
perhaps I'm missing something, but there is no 0.80.0-r1 in the tree...
There is however 0.90.{0,1}, and 0.94.0.  Status of this?
Reopening, since the issue seems to exist.
Comment 7 Jeremy Huddleston (RETIRED) gentoo-dev 2004-02-21 12:48:15 UTC
Can someone fill me in on what 'capabilities' are in the kernel?  Are they in 2.6?  Have they been introduced in any 2.4 kernel patchset?  Can I look somewhere in /proc or grep some /usr/src/linux/include file or linux/.config to determine that capabilities have been enabled?
Comment 8 Brett I. Holcomb 2004-02-21 12:57:38 UTC
In /usr/src/include/kernel there is a file called capabilities.h which defines what users, etc. and and can not do on a system.  For Jack you have to modify it to allow some low latency stuff to happen (see the Jack web site under FAQs about increasing performance).  Basically you're allowing some low latency stuff.  In 2.4.20 there is an option to build that in.  I made the changes to capability.h and built in the low latency stuff.  I think that 2.6 includes this.

That's my understanding but you'd be better off asking on the jack mailing list.
Comment 9 Jeremy Huddleston (RETIRED) gentoo-dev 2004-03-18 00:00:42 UTC
setting this back to fixed as the ebuilds in portage use the 'caps' use flag for this feature.