Linux – How to connect JACK Audio from windows to linux

jack-audiolinuxwindows

I'm trying to route a windows playback device to play all sound on a linux speaker set, but the first issue of course is connecting jack from windows to linux over my network.

Apparently the options are netjack1, netjack2 and jack.trip which are all meant for the purpose of connecting jack over network, but I can't for the life of me figure out how it is supposed to be done. It seems that jack ships with netjack2 and netjack1 (net/netone) when installed on both windows and linux, i have managed to set both up and start them, however they are both in "client" mode. I need the windows one to be set up as a server for the linux client to connect to.

Does anyone know how to do this?

Best Answer

I was able to get audio playback working from Windows to Linux with netjack2. I did a small write-up of it here: https://gist.github.com/kotarou3/3813bbf7833a0e4618f7fbe8a377872d

Partially quoting here for posterity:

Stream audio from Windows to Linux

Tested on Ubuntu 16.04 and Windows 10 Redstone 1

Both boxes need to be on the same network (such that multicast packets can be passed between them)

Installing

Linux

  1. Setup JACK (easy to do with Cadence)

Windows

  1. Install JACK and ASIO Bridge on the Windows box
  2. Run regsvr32 32bits\JackRouter.dll and regsvr32 64bits\JackRouter.dll from JACK installation directory
  3. Modify 32bits\JackRouter.ini and 64bits\JackRouter.ini to match your channel and sample config
  4. (Optional) Set the ASIO Bridge (Hi-Fi Audio) input as the default playback device

Running

  1. Start the netjack2 server on Linux with jack_load netmanager (probably also possible to add to .jackdrc for it to autoload)
  2. Run JACK NetDriver on Windows (it's in the Start menu), or jackd -R -d net
  3. A new device named the hostname of the Windows box should have appeared on the Linux JACK patch panel (Catia if you're using Cadence). Connect it as you see fit (Note: Channels might not match up as expected if you have more than 2).
  4. Run ASIO Bridge (also in the Start menu), turn ASIO on, and set the ASIO device to JackRouter
  5. The ASIO Bridge should have automatically set up routes to the system device in the Windows JACK patch panel. You can double check with qjackctl (Jack Control in the Start menu) → Connections and connect them if not