2

I have a headless CentOS 8 Server with an AMD GPU. I want to use hardware acceleration but when I run OpenGL programs with xvfb-run (e.g glxinfo), the system reports I am using software rendering. How can I use hardware acceleration on a headless server?

Note that even though output displays the vendor as WMvare this machine is NOT a virtual machine.

sudo lshw -c display output:

*-display
   description: VGA compatible controller
   product: Cedar [Radeon HD 5000/6000/7350/8350 Series]
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: pci@0000:01:00.0
   version: 00
   width: 64 bits
   clock: 33MHz
   capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
   configuration: driver=radeon latency=0
   resources: irq:33 memory:e0000000-efffffff memory:f7e20000-f7e3ffff ioport:e000(size=256)  
   memory:c0000-dffff

xvfb-run glxinfo output:

   Extended renderer info (GLX_MESA_query_renderer):
   Vendor: VMware, Inc. (0xffffffff)
Device: llvmpipe (LLVM 9.0.0, 128 bits) (0xffffffff)
Version: 19.3.4
Accelerated: no
Video memory: 7746MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 3.3
Max compat profile version: 3.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 9.0.0, 128 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 19.3.4
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
  • 1
    Where does the graphics output go if this is a headless server? – Tero Kilkanen Sep 09 '20 at 17:51
  • @MichaelHampton Output goes nowhere physically, I thought the xvfb was handling all of it. Do I need a physical screen/monitor attached in order to use GPU? –  Sep 10 '20 at 02:39
  • You can do compute headless all day long, but you don't seem to be trying to do compute. I have no idea how you'd render graphics to a virtual display with hardware acceleration. I imagine there is probably some way to do it, since Windows can surely do this, but it's not something I've really looked into. – Michael Hampton Sep 10 '20 at 05:12
  • @MichaelHampton Thanks! When you mean "compute headless all day long" did you mean OpenCL/Cuda? Or is there another way of doing it? –  Sep 10 '20 at 05:54
  • Yes, I meant OpenCL (CUDA is NVIDIA-specific). – Michael Hampton Sep 10 '20 at 12:09
  • @MichaelHampton So I can use my GPU in video rendering? How Can I know if they use OpenCL/Cuda in video rendering/encoding? –  Sep 10 '20 at 12:39
  • What are you actually trying to do? – Michael Hampton Sep 10 '20 at 12:41
  • Rendering video for display where? – Michael Hampton Sep 10 '20 at 12:48
  • @MichaelHampton To a file, with video editing software. In this [post](https://www.reddit.com/r/videography/comments/ioowzk/offloading_the_heavy_work_to_a_separate_machine/) I got suggested to use a more powerful machine to do video rendering and encoding, and now I am trying to learn if I can use GPU on the machine when its headless. –  Sep 10 '20 at 12:52
  • Rendering to a file is compute, and you shouldn't need a virtual framebuffer or anything like that, nor should you be trying to run OpenGL anything (that's not compute). – Michael Hampton Sep 10 '20 at 12:55
  • @MichaelHampton Thanks, If you can compile your comments as an answer, I can accept it as the solution for this question. –  Sep 10 '20 at 12:57
  • Before that, I suggest you try to run something that resembles your actual workload (e.g. try to render a 10 second video) and get that working. – Michael Hampton Sep 10 '20 at 12:58

0 Answers0