The issue is the following, taking just one active surface only visible in display A not display B
- compositor A consumes surface ready buffer. The buffer queue associated with the surface now has put that ready buffer into a "current compositor buffer" - i.e. it's the buffer that the compositor will use if there's another compositing pass and no other ready buffers are available. -- compositor A asks if there are any more ready buffers. --- BufferQueue returns 0 ready buffers. a. compositor B runs, figures out there are no visible surfaces for its area so doesn't consume anything from the buffer queue. b. compositor B asks buffer queue if there are more ready buffers c. buffer queue says 1 buffer is available - because it didn't consume the ready buffer as it wasn't visible on it. d. repeat a-c indefinitely until surface actually is visible in display B -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mir in Ubuntu. https://bugs.launchpad.net/bugs/1499039 Title: compositing never stops when external monitor is connected Status in Mir: In Progress Status in mir package in Ubuntu: New Bug description: Start the following with no external display: sudo mir_demo_server --arw-file --display-config=sidebyside --window-manager system-compositor --hwc-report log mir_demo_server --host-socket /tmp/mir_socket -f /tmp/nested_mir --display-config=sidebyside After hotplugging an external display, the compositor loop never stops compositing as evidenced by the root server hwc logs. To manage notifications about this bug go to: https://bugs.launchpad.net/mir/+bug/1499039/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp