This series first improves driver probing when using modular daemons. Currently when URI is NULL, we connect to virtproxyd and it looks at which UNIX sockets exist and what binaries exist, to decide which modular hypervisor daemon to connect to. This means the common case results in all traffic going via virtproxyd. Moving the logic out of virtproxyd into the remote client means we can avoid using virtproxyd by default. With this, we can now switch to the modular daemons by default. The latter change primarily impacts how autostart works When running as root we simply connect to whatever UNIX socket exists and rely on systemd to autostart if needed. Whether the UNIX sockets are for the modular daemon or libvirt doesn't matter - we'll look for both. Defaults are dependent on the distros' systemd presets. I intend to get Fedora / RHEL-9 presets changed to use the modular daemons. When running as non-root, we again try to connect to whatever UNIX socket exists, whethe a modular daemon or libvirtd. When no socket exists though, we need to pick a daemon to start and that's where the meson default setting toggle comes into effect, so we prefer spawning modular daemons now and don't spawn libvirtd. Daniel P. Berrangé (4): remote: extract logic for probing for modular daemons remote: add support for probing drivers with modular daemons remote: remove probing logic from virtproxyd dispatcher remote: switch to auto-spawn modular daemons by default meson.build | 6 +- meson_options.txt | 2 +- src/libvirt_remote.syms | 5 + src/remote/remote_daemon_dispatch.c | 130 +------------------ src/remote/remote_sockets.c | 192 ++++++++++++++++++++++++++-- src/remote/remote_sockets.h | 7 + 6 files changed, 202 insertions(+), 140 deletions(-) -- 2.31.1