desktop: Delay surface creation until committed