Hi, I’m trying to use AudioRelay 1.0.0-alpha07 on CachyOS Linux and I’m hitting a socket/address-family issue when connecting to any another device Mac or Windows.
System info:
AudioRelay: 1.0.0-alpha07
OS: CachyOS Linux
Kernel: 7.0.2-2-cachyos
Arch: amd64
Network interface: Ethernet, IPv4 working, IPv6 enabled
The app discovers the other device and attempts to connect, but fails with:
java.net.SocketException: Address family not supported by protocol
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at nq6.invokeSuspend(SourceFile:46)
at x10.resumeWith(SourceFile:5)
at wj3.run(SourceFile:165)
at hx7.run(SourceFile:1)
at xne.run(SourceFile:1)
at y62.run(SourceFile:261)
I also saw related errors earlier:
Failed to start the legacy server on port 0
java.net.SocketException: Protocol family unavailable
Creating the search socket failed
java.nio.channels.UnsupportedAddressTypeException
UDP search failed
com.azefsw.audioconnect.discovery.search.ServerSearchException: java.nio.channels.UnsupportedAddressTypeException
IPv6 is enabled on the system, and nothing appears to be using port 29150. I also tried forcing IPv4 with Java options, but the same bind/connect issue remained. Replacing the bundled runtime with system Java 26 got past some networking behavior but crashed Skiko/UI, so it seems tied to the bundled runtime or native networking behavior on this distro/kernel.
Is there a recommended JVM/runtime version or launch flag for Linux alpha07, or a way to force AudioRelay to bind/connect using IPv4 only?
I’ve been pretty patient with this. Been more than a week without a response from devs. Can I please get a response on this issue?
I could somewhat repro your issue by running AudioRelay like this
cd <where audio relay is installed>
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" ./bin/AudioRelay
Then, trying to connect to an IPv6 address, I get the same SocketException.
Connecting to an IPv4 address still works, though. (Sending audio seems OK but, receiving fails with a bind issue)
What happens on your end when you try to manually connect to an IPv4 address?
Do you think that this property could be set somewhere?
Could you try this?
cd <where audio relay is installed>
# Set to false
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=false" ./bin/AudioRelay
I’ll need to update the app to handle this situation.
Can confirm it just chokes on .local but connecting to the ip directly works fine:
1.0.0-alpha07 2026-05-14 01:33:12.615 INFO Dispatcher-worker-12 kt zeroconf registration
established
1.0.0-alpha07 2026-05-14 01:33:24.252 INFO AWT-EventQueue-0 Requesting connection
to Matthews-Mac-mini
1.0.0-alpha07 2026-05-14 01:33:24.256 INFO tDispatcher-worker-3 Connecting to server:
Matthews-Mac-mini.local:29150...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO tDispatcher-worker-3 Binding to local addre
ss WithoutPort(host=192.168.1.2, networkIdentity=Indexed(index=2, name='enp4s0')) which corresponds to the net
work interface enp4s0...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO tDispatcher-worker-3 Connecting to Matthews
-Mac-mini.local:29150...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO tDispatcher-worker-3 Initial RSocket connec
tion failed: Address family not supported by protocol
1.0.0-alpha07 2026-05-14 01:33:24.257 WARNING tDispatcher-worker-3 kx1 Connecting to 'Matthew
s-Mac-mini' (WithPort(host=Matthews-Mac-mini.local, port=29150, networkIdentity=Indexed(index=2, name='enp4s0'
))) failed
java.net.SocketException: Address family not supported by protocol
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at nq6.invokeSuspend(SourceFile:46)
at x10.resumeWith(SourceFile:5)
at wj3.run(SourceFile:165)
at hx7.run(SourceFile:1)
at xne.run(SourceFile:1)
at y62.run(SourceFile:261)
Thanks for reporting back, could you please also confirm whether it fails to connect if you select one of IPv6 address(es)? Or is it just when connecting via the .local address?
Only works on ipv4 in this build.
So for now, the app will prioritize IPv4 addresses. (Since since 1.0.0-alpha08)