Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jack doesn't work across users on OSX #52

Closed
Qix- opened this issue Sep 18, 2016 · 11 comments
Closed

Jack doesn't work across users on OSX #52

Qix- opened this issue Sep 18, 2016 · 11 comments

Comments

@Qix-
Copy link

Qix- commented Sep 18, 2016

It appears as if jackd cannot be accessed if run as a daemon process on OSX (under sudo) by non-sudo users.

Any way of making this not so?

@jdek
Copy link
Contributor

jdek commented Sep 18, 2016

Change permissions on the socket?

@Qix-
Copy link
Author

Qix- commented Sep 19, 2016

Shouldn't that be an automatic thing, though?

@jdek
Copy link
Contributor

jdek commented Sep 19, 2016

Why would it be? If you start it as root, jack wont infer that you meant to start it as another user.

@Qix-
Copy link
Author

Qix- commented Sep 19, 2016

No but setting the file permissions (not ownership) can be an automatic thing.

@jdek
Copy link
Contributor

jdek commented Sep 19, 2016

Making it world readable/writable isn't a sane thing to do.

@adiknoth
Copy link
Member

PROMISCUOUS_MODE has been discussed on the mailing list multiple times.

The default is per-user, and there's no intention to make it easy to run in a multi-user environment.

@Qix-
Copy link
Author

Qix- commented Jan 10, 2017

But this makes JACK unusable on OSX...

@jdek
Copy link
Contributor

jdek commented Jan 10, 2017

@Qix- you have already found a solution to your problem. It shouldn't be too hard for you to add a chmod somewhere in a fork of jack in order to achieve your goal.

@Qix-
Copy link
Author

Qix- commented Jan 11, 2017

@enoposix No, I haven't.

JACK does not work with newer versions of OS/X as an audio device since the new HAL architecture runs as a separate user when running the daemon. Since JACK doesn't support multiple users (as noted by @adiknoth), there is absolutely no way to pipe audio to the audio card.

Not that it really matters; #50 still prevents JACK from being used on OSX anyway.

@adiknoth
Copy link
Member

I didn't say this. Jack communicates via shared memory, which is a file. You can chmod that file to allow access to another group or even everyone.

Since this mode is (was?) discouraged, it's not documented to great extend, but you can search the mailing list for JACK_PROMISCUOUS_SERVER. And grep the source, it's supposed to be an environment variable.

There's also a proxy driver in jackd2 that connects a per-user jackd to a global one running in promiscuous mode.

My memory fails me, but maybe we've deleted some of the code required to make this work. Either way, it's really just a chmod under the hood.

@Qix-
Copy link
Author

Qix- commented Jul 12, 2019

it's really just a chmod under the hood.

Yes, correct. However it's a chmod that should be happening automatically since it degrades user experience when installing e.g. the HAL server I was trying to write. Requiring users do a sudo chmod is dangerous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants