Instances of cutouts? Modeling a ceiling with recessed lights

I am using Blender 2.8, modeling.
I use an object where it’s mesh’s vertices are the positions of lights on a ceiling.
The light models consist of 3 objects:

  1. The model of the light itself
  2. A light source, spotlight and
  3. An object use to carve out the ceiling
    Each is repeated as several instances along the vertices of the layout object.
    #1 and #2 work fine. #3 however doesn’t work. To model it I start by making the hole volume then I parent it to the layout (like I do with #1 and #2) and it repeats also BUT though I can see the hole operate as a boolean difference to the ceiling, as a cut-out in it’s original location, as soon as I turn it to display only as wireframe or turn it’s visibility off, it stops performing the cutout.

Why?

Also, if instances cannot participate in boolean modifier operations, is there a way to turn instances to real objects?

You can convert the duplicates to real geometry by pressing ctrl+A > Make duplicates real.

And no, I don’t think you can duplicate a boolean operation. You can, however, duplicate the object being operated on. Use the carve object to cut a hole in a small, square section of the ceiling, then duplicate that ceiling piece itself.