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
jackd2 -> Pulse Audio "mmap-based access is not possible" #161
Comments
By all means, you do not want to connect to the "pulse" plugin with jack. What you can do to get jack running is the following:
I do not want to use the HDMI device, so it is card number 1 I choose. To connect directly to the device for playback only, I would the run:
Which seems like a sane starting point just for playback without much care for latency. |
That breaks the other programs using audio already running. While your jack config is running, e.g. Firefox stops playing audio. While this is a possible way to improve on that, it still breaks the desktop's mixer and volume control hotkeys and the user can't adjust the volume levels while jack is running. |
Also
Forgive my ignorance, but why not, exactly? |
The "pulse" plugin is meant for PulseAudio to connect to, not jack. Since only one sound server can be connected to a device at the same time, you can not have JACK and PulseAudio run with the same card the easy way. There are workarounds and for a first primer, have a look here: http://jackaudio.org/faq/pulseaudio_and_jack.html Also there is a Wiki entry on this topic: https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack There are also people who are successfully using the dmix alsa plugin to run pulse and JACK but honestly, I have never tried that. What I did in the past, was running PulseAudio on top of JACK, so that desktop applications can still use PulseAudio. |
JACK is a professional sound-server: To guarantee this jackd needs exclusive access to the soundcard (hardware). Pulseaudio is almost the opposite: sliding buffers, no fixed latency, irregular wakeup (powersaving), resampling as-needed.. Pulseaudio can live on top of JACK, but not the other way around. Most distros set this up automatically: start jackd, pulseaudio yields the soundcard and connects to jackd instead. it's seamless integration (users don't even notice). Sadly the most widespread distro regularly screes this up. |
PS. yes, one can hack this and make jackd use virtual devices or.. well you have the source. but by design it make no sense. Also the "exclusive access to the soundcard (hardware)" is not entirely true: On OSX this is not a requirement because Apple's Coreaudio provide a mechanism that is equally suitable. |
Could you point me to where it screws it up? What exactly is Ubuntu doing wrong that others are doing right? (Afaict the same problems occur on Debian and Raspbian.) |
Works fine on debian/stable (jessie) and debian/testing. Also Fedora users report it working I don't know what Ubuntu is doing, but there its the number 1 issue on jack/ardour IRC support channels. Raspian is a different issue (jackdbus related, there's usually no active session to connect to dbus). |
The main issue is the pulseaudio jack module being in a separate package, which needs to be installed by the user manually. Somewhat recently Ubuntu had a bug in their pulseaudio package that prevented this from working even if pulseaudio-module-jack was installed. |
Thanks! |
I'm trying to find a "foolproof" setup for jackd that works "good enough" for a newbie user who only wants audio output and where latency isn't a big problem. A longer description of the situation is here.
Now my naive idea was to use jackd and then connect it the "pulse" ALSA interface of the Ubuntu system. But:
Ok, where can I address this? Is the mmap-based access a hard requirement of jackd or can it be configured to run without it? Can PulseAudio be told to offer mmap in its ALSA device simulation?
(Forgive any novice mistakes. I'm still stumbling through these audio settings and how they relate with each other.)
The text was updated successfully, but these errors were encountered: