yes, all the things you mention are obstacles to getting the stack working on macos.
on linux, things are much easier: everything already works except the screen (and GPIO of course.) to get the screen working would “just” be a matter of attaching a different cairo surface - i would probably use SDL to create and manage a window, and attach it to cairo as shown here
https://www.cairographics.org/SDL/
emulating encoders and keys is the other step. this could actually just be done at the lua level with OSC. another option would be to use window UI functions from SDL (or whatever) and post key/enc events at the C level.
certainly we are open to PRs. different people have already started down these roads before, there are branches and discussions on GH. there is even a “desktop” flag in the waf configuration.
@forestcaver your question is not clear to me. remote development is one thing (we do it all the time with things like tramp-mode and remote filsystems), emulating the screen is another, and i’m unclear on how vagrant would fit in. (i guess you mean, if we had a norns emulator on linux, then you could use vbox to run it on mac. i guess that’s true, though in my experience it can be quite a headache to get audio stuff working correctly.)