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

Add Sun backend option for JACK #468

Closed
wants to merge 2 commits into from
Closed

Conversation

alarixnia
Copy link
Contributor

JACK's Sun backend is used on NetBSD, illumos, GNU/HURD (?), others (?).

@alarixnia alarixnia mentioned this pull request Feb 12, 2020
@pauldavisthefirst
Copy link
Contributor

I'd prefer to see the basic conditionals that make this available be wrapped in compile-time OS ident #ifdefs

@alarixnia
Copy link
Contributor Author

alarixnia commented Feb 12, 2020

It's not really OS-specific since it's available through the rumpkernel driver collection, but yeah I can do this - it's not really the common use case and any platform where using it that way is a good idea will probably need more work before ardour works.

@krytarowski
Copy link
Contributor

sun backend is OS independent.

@pauldavisthefirst
Copy link
Contributor

It is not OS independent. It uses ioctl's that are OS dependent.

@krytarowski
Copy link
Contributor

krytarowski commented Feb 13, 2020

These ioctls can be rump syscalls (hypercalls). rump is a NetBSD kernel built as a literal standalone library. It can be executed in userland on Windows, Linux, Darwin, inside a bootloader (sun audio on baremetal: https://www.youtube.com/watch?v=EyeRplLMx4c), in HURD etc. No need for real syscall ioctls. rump runs in theory on anything more or less with a C99/C11 compiler.

But agreed that Ardour users will most likely use their native audio backends and nobody will run Ardour from a bootloader.

@pauldavisthefirst
Copy link
Contributor

That maybe true, but that would in turn require different build options for JACK on the non-Sun-ish/BSD host platform, since the configure time check is for the presence of sys/audioio.h (JACK1) and/or python's sys.platform saying "sunos" (JACK2).

Ardour's "JACK configuration" options are absolutely not intended to be all-encompassing. There are other JACK front-ends that can and should be used for unusual situations. If you're running on Linux, the "sun" driver for JACK is not a sensible option to present to users.

@alarixnia
Copy link
Contributor Author

In any case, can we get this merged? It's only going to show up on platforms where it's the primary audio API baked into the kernel, in the current state of this PR.

@pauldavisthefirst
Copy link
Contributor

manually rebased and merged. thanks!

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