> The implementations of the exfat and msdos file systems on macOS have changed; these file systems are now provided by services running in user-space instead of by kernel extensions.

This sounds interesting!

I really wish there was a native FUSE alternative on macOS; just recently I found myself in a pickle due to not being able to mount an ext4 boot volume on an SD card on my Mac at all. (Passing through to a VM works only via USB.)

> I really wish there was a native FUSE alternative on macOS

Isn’t that what DriverKit can be used for?

https://support.apple.com/en-gb/guide/security/secd0a47c14c:

“DriverKit is the framework that allows developers to create device drivers that the user installs on their Mac. Drivers built with DriverKit run in user space, rather than as kernel extensions, for improved system security and stability. This makes for easier installation and increases the stability and security of macOS“

It seems like the only two types of drivers are generic USB device drivers and HID input drivers, though.

There needs to be some OS-side FUSE-like kernel interface for userspace drivers like this to be able to actually mount them in the VFS.

File Providers are useful in some scenarios, but they are also not really a FUSE equivalent.

They're more geared towards Dropbox-like synchronizing use cases. Some developers have made it work for SSHFS too, but even that's already a bit of a stretch; for more custom solutions it definitely falls short: https://developer.apple.com/forums/thread/681325

The only option currently seems to be to implement a network file server such as SMB (which is what Google Drive used to do before File Providers existed!) or NFS, for which there even is a FUSE bridge available: https://github.com/macos-fuse-t/fuse-t

It's unfortunate that fuse-t follows the same closed source model as MacFUSE did. It's really holding things back.

I was hopeful that Ganesha NFS [1] would suffice as a bridge for the various FUSE filesystems I need to use with macOS, but alas, they have abandoned the FUSE interface and moved to FSAL/FSAL_VFS [2].

It would be really nice to have a clear path to building a copy of Ganesha NFS that supported a whole host of the great FUSE filesystems out there built to this API.

[1] https://github.com/nfs-ganesha/nfs-ganesha [2] https://github.com/nfs-ganesha/nfs-ganesha/issues/759