The idea of "start to use what you plug in" is nice. If you plug something in, you likely want to use it. Or do you? Anyway, that approach seems to me to have an unsolvable problem: We don't know that it actually was plugged in. I've tried to talk to a few people, and from what I can tell, there is no point in time when the system can be considered to be fully "up and running". This means e g, if a new bluetooth device shows up say 30 seconds after PulseAudio starts, we don't know if this was because someone actually connected the bluetooth headset at that point, or if it was connected from start but took 30 seconds to respond and negotiate with the bluez stack. Same goes for USB, and in theory other devices as well, but I've never seen it happen in practice to anything internal/PCI. Also, this applies not only at boot, but also at resume from suspend or hibernate. Given that lack of information from the kernel/hardware, I can only assume that order-based handling is bound to fail. And so is module-switch-on-connect, that implements this. (And so is Ubuntu's suspend/resume script, btw.) This leaves us rule/priority-based policy decisions, which I believe is what Colin thinks as well. Comments? -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic