Skip to content

Instantly share code, notes, and snippets.

@asheshambasta
Created June 12, 2020 16:59
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save asheshambasta/f778053a809d10cacf8f1b9b980aaf49 to your computer and use it in GitHub Desktop.
Fri Jun 12 18:54:23 2020: Starting jack server...
Fri Jun 12 18:54:23 2020: JACK server starting in realtime mode with priority 10
Fri Jun 12 18:54:23 2020: self-connect-mode is "Don't restrict self connect requests"
Fri Jun 12 18:54:23 2020: ERROR: Allocate: can't check in named futex name = jack_sem.default_system err = Permission denied
Fri Jun 12 18:54:23 2020: ERROR: Cannot allocate synchro
Fri Jun 12 18:54:23 2020: ERROR: Cannot allocate internal client for driver
Fri Jun 12 18:54:23 2020: ERROR: Cannot initialize driver
Fri Jun 12 18:54:23 2020: ERROR: JackServer::Open failed with -1
Fri Jun 12 18:54:23 2020: ERROR: Failed to open server
@AsbjornOlling
Copy link

I'm finding this gist out of context - I'm having the same issue (or at least the same symptoms) on NixOS at the moment.
Did you ever find a solution for this?
Thanks

@asheshambasta
Copy link
Author

@AsbjornOlling: yes! I found the solution with the wonderful @srk on #nixos. The issues happen due to permissions and the groups jack/pa must belong to.
Something like this works for me:

  • make sure jack2 and pulseaudioFull are installed
    jackd = { 
      enable = true; 
      extraOptions = [ 
        "-dalsa"
        "-dhw:UR242,0"
        "-r48000"
        "-p1024"
      ];
    };
    # support ALSA only programs via ALSA JACK PCM plugin
    alsa.enable = false;
    # support ALSA only programs via loopback device (supports programs like Steam)
    loopback = {
      enable = true;
      # buffering parameters for dmix device to work with ALSA only semi-professional sound programs
      #dmixConfig = ''
      #  period_size 2048
      #'';
    };
  };

  hardware.pulseaudio = { 

    enable = true;

    package = pkgs.pulseaudioFull.override { jackaudioSupport = true; };


    # extraConfig = ''
    #             load-module module-jackdbus-detect channels=2
    #             '';
  };
  
  systemd.services.jack.serviceConfig.SupplementaryGroups = [ "users" ];
  
  systemd.user.services.pulseaudio.environment = { 
      JACK_PROMISCUOUS_SERVER = "jack";
  };

You will need to modify services.jack.extraOptions to suit your system.

I hope it helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment