How can I use my discrete graphics card on a headless server?

I am working on a BioMesh3D remote visualization project using an enhanced server for processing and rendering. It's easy to get it working if we configure the user to automatically log in to the graphical desktop, because then xserver works for us. We would like to run it completely without a head and without the need for automatic login.

It seems our only choice is to rely on something like Xvfb if we want to completely start the server without problems. But since we are doing rather complicated rendering, we would like to take advantage of the discrete graphics card.

Can I use Xvfb to use a graphics card? If not, is there another method we can use?

+6
source share
2 answers

If you want to use OpenGL hardware rendering on Linux, then your options are:

  • Try the bleeding face of Mesa with the Gallium and EGL drivers. IIRC last I checked only supported GLES, so you might need to set up a rendering code.
  • Launch the X server to access the OpenGL hardware using the traditional driver.

The NVIDIA bluetooth binary unit supports the launch of a headless X server (even several). You can learn more about this at http://vizstack.sourceforge.net/ .

As for VirtualGL, this will allow you to achieve transparent remote rendering without modifying your application (I don’t understand your “it is too intrusive” or “rewrite the application, could you expand it?), But it still requires the X server to work.

+2
source

Have you looked at http://www.virtualgl.org ?

+1
source

Source: https://habr.com/ru/post/897487/


All Articles