use real device as input if present, else use virtual device