OK, it turns out Mir does correctly render a frame (or three!) immediately as soon as the compositor is restarted. The problem then is in unity-mir failing to stop/restart the compositor.
unity-mir assumes that turning the screen on is enough. Actually, it appears to not be enough. You have to stop/start the compositor _as_well_as_ turning screens on and off. An example of how to do this is in Mir: examples/demo-shell/window_manager.cpp And it appears the code that needs fixing is in unity-mir: src/unity-mir/dbusscreen.cpp You need to remember to compositor->stop() and compositor-start(). And redraws will be scheduled immediately upon the call to start(). I think the reason why Mir doesn't do it automatically is because Mir has to consider and support multiple displays simultaneously. Just because you're turning one display off doesn't necessarily mean all compositing should stop in all use-cases. But for Unity8 on a touch device, it probably should. ** Project changed: mir => unity-mir ** Changed in: unity-mir Milestone: 0.1.3 => None ** Package changed: mir (Ubuntu) => unity-mir (Ubuntu) ** Changed in: unity-mir (Ubuntu) Assignee: Kevin DuBois (kdub) => (unassigned) ** Also affects: mir Importance: Undecided Status: New ** Changed in: mir Status: New => Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1255045 Title: screen does not turn on on maguro when pressing the power button To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1255045/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs