I am also a user of roon and love it. If you are going in the upnp direction you would probably need to look at software like volumio, emby, plex, tversity and the like to act as upnp servers. You would then need a upnp client/control point like mpd to control the server. I don’t think any of these are free anymore. Bubblepnp (I think) is free and could get you part of the way there. So you need server software, roon or otherwise and you need a client of some kind to control the server and direct the audio output to an end point of some kind. Hope that helps.
I was considering ampache or some mpd container on Unraid, and then some client on the laptop (connected to speakers) that can be managed by phone.
I’m going to keep working on it, I’ve used Volumio in the past. I forget if it’s still being developed. Will post back with what I attempt. The reason against Room for now is $. If I hit too many problems, maybe it is the way.
In case you missed it, Roon has a free trial. On top of that they offer a subscription at $12.99/month billed monthly (or 9.99/month billed annually ~120).
I’m still using an old Chromecast Audio to stream, using Plex from the phone. When the CCA breaks, I’ll probably buy a HAT for a SBC and stream to it with shairport.