compositor: automatically choose a backend if none is provided