I just tried running paraview within xvfb, and it seems to run perfectly (this is on an actual linux box, not WSL, but that shouldn’t make a difference). Using xvfb to run glxinfo gives me the following, which shows the capabilities of the software OpenGL renderer that xfvb uses:
$ xvfb-run glxinfo | grep OpenGL
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.0, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.2.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 20.2.6
OpenGL shading language version string: 1.40
If something is running in xvfb, it is possible to pipe it out via vnc. As a very crude test with paraview, I did this:
xvfb-run -n 99 -f /tmp/Xauthority.99 /path/to/paraview &
x11vnc -display :99 -auth /tmp/Xauthority.99 &
From there, I could use a VNC viewer to connect to x11vnc over port 5900, and thereby view and control paraview.
I’m sure that there are tidier ways of putting xvfb and vnc together, but the above serves as a proof-of-concept.