I rely on NanoVG currently which requires OpenGL support. I've experimented with using Cairo as a backend (and there is even a branch currently with that), but from my limited testing the performance was not very great even when a GPU is present.
To my understanding Cairo should work both with GPU when present, and only on pure CPU when not, but it didn't fit my needs. Even with limited integrated graphics on my old Macbook Air I got decent performance with the current NanoVG implementation. The project could ofc be rewritten to support different backends, but I do not intend to maintain such a project. Anyone is ofc free to fork it and rewrite nanim though, so go ahead!