Skip to content

Breaking the macOS networking logjam in upstream MAME #53

Description

@rb6502

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions