> > However, if this used to work, > This used to work indeed; it worked on GNU/Linux with default (non-Cairo) builds for Emacs 24 to 27. > > it would be good to understand which change broke it. > Got it! :-) The commit I identified is indeed the culprit. With USE_CAIRO, gui_init_fringe() is called in x_initialize(); without USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now be fixed on Windows, too. Patch attached.