At the moment podman machine on macOS uses Qemu and their filesharing stack. Qemu allowed us to move quickly utilizing the same deployment stategy. However I work on CRC (a related project) and we have a driver based on virtualization framework using virtiofs. We hope to integrate this in `podman machine` soon as it will improve performance. Ideally we want to boot with the kernel and ramdisk provided by the image, though this isn't the case until macOS 13 (which brings EFI support). So, yes... hopefully soon. We just want to make sure we provide a stable and maintainable solution.
The virtiofs implementation we use is the native one provided by Apple according to our virtiofs spec. https://virtio-fs.gitlab.io/
You can try running https://github.com/crc-org/crc with the podman preset (!) to test it. It would not be exactly the same how podman machine will use it eventually, but might help to give an idea of performance or issues we can improve on. We have seen a lot of users being more than content as it also works in a vpn environment. Note that the CRC tool primarily aims at OpenShift deployment... This is a different preset (resource intensive). Only available as an installer with our tray (sorry about this).
The driver we use is https://github.com/crc-org/vfkit and I am sure Christophe could share a method to just run the VM with our driver. HMU by email if you prefer.
Thanks for the info. I don't actually use MacOS myself, but I'm interested in getting faster userspace networking and filesystem sharing for Linux and Windows hosts. virtiofs is interesting but it's unfortunate that it requires a daemon and AFAIK doesn't run on Windows hosts.
Right. HyperV only does eh... Well, they do 9P for WSL2, but not for HyperV itself. This is one of our issues. We work with the virtiofs team to get this resolved, but their implementation targets Linux first. We hope to see Microsoft adopting this too. We are glad to help. Especially as the current 9P implementation for WSL2 has known syncing and performance issues. On a VM you would have to resort to CIFS, sshfs or something else... Which are all not ideal for locally attached storage