native: Displays briefly turned off when a monitor is hot(un)plugged
When a monitor is connected or disconnected, mutter briefly turns all outputs black before adding or removing the changed output. It'd be a nicer experience if the new output was just added without turning all the others black, or removing it and moving the windows / primary screen to another one. This is how weston works and it looks so smooth compared to mutter.
It seems that whenever the monitor layout changes, we get a new view created in meta_renderer_native_create_view which calls meta_onscreen_native_allocate which sets onscreen_native->pending_set_crtc to true, which changes the fb (RmFB / SetCrtc) in the next swap buffers call, and that causes the screens to go black.