

There are plugins for other editors that use neovim as a headless server, which is how I’d do what you want here. You just pass all input events straight through to neovim, read the buffer back and render it as you want. At least that’s how I imagine it would work, I’ve never done it myself.
Not always, for example this laptop has external monitors wired to the dGPU. https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Extreme