Because other emulators, notably QEMU, have had the same problems we do with unsigned binaries/requiring a root helper, there are now centralized solutions:
https://github.com/nirs/vmnet-helper does the same thing as our vmnet-helper but is system-installed (and I believe available through Homebrew), which would immediately eliminate many of the issues we had getting networking into upstream.
macOS 26 has new virtual networking capabilities which don't require root or permission bits and can achieve much higher performance. Those are leveraged by https://github.com/nirs/vmnet-broker which provides an XPC service for emulators to connect to a shared virtual network that's persistent across individual emulator launches.
vmnet-helper supports connecting to vmnet-broker on macOS 26 and later so the path of least resistance is like this:
- Kill the built-in vmnet support and MAME's vmnet-helper
- Have MAME's vmnet-helper networking provider use the shared vmnet-helper instead of ours
We could potentially add a new networking provider that directly connects to vmnet-broker later (or even just directly to the macOS 26 APIs) but for a first pass the shared vmnet-helper seems like the way to go.
Because other emulators, notably QEMU, have had the same problems we do with unsigned binaries/requiring a root helper, there are now centralized solutions:
https://github.com/nirs/vmnet-helper does the same thing as our
vmnet-helperbut is system-installed (and I believe available through Homebrew), which would immediately eliminate many of the issues we had getting networking into upstream.macOS 26 has new virtual networking capabilities which don't require root or permission bits and can achieve much higher performance. Those are leveraged by https://github.com/nirs/vmnet-broker which provides an XPC service for emulators to connect to a shared virtual network that's persistent across individual emulator launches.
vmnet-helpersupports connecting tovmnet-brokeron macOS 26 and later so the path of least resistance is like this:We could potentially add a new networking provider that directly connects to vmnet-broker later (or even just directly to the macOS 26 APIs) but for a first pass the shared vmnet-helper seems like the way to go.