Hi, Community
When running in headless mode, my program encounters some problems. I use simple-pbr
in my program and it works fine with NVIDIA-A6000/A5000/1080ti/A100 in headless mode, while fails to run on Nvidia-V100 GPU. According to the error message, we can conclude that when initialization simple-pbr
, renderSceneInto()
fails to return a texture for rendering.
I have no idea why this happened. Is it caused by requesting wrong framebuffer properties or failing to initialize EGL?
Panda3D is installed via pip and prc config is:
loadPrcFileData("", "window-title {}".format(EDITION))
loadPrcFileData("", "framebuffer-multisample 1")
loadPrcFileData("", "multisamples 8")
loadPrcFileData("", 'bullet-filter-algorithm groups-mask')
loadPrcFileData("", "audio-library-name null")
loadPrcFileData("", "model-cache-compressed-textures 1")
loadPrcFileData("", "textures-power-2 none")
loadPrcFileData("", "garbage-collect-states 0")
loadPrcFileData("", "compressed-textures 1")
The error message is as follows.
Known pipe types:
glxGraphicsPipe
(1 aux display modules not yet loaded.)
:display:x11display(error): Could not open display ":0.0".
:display:egldisplay(warning): Couldn't initialize the default EGL display: EGL_NOT_INITIALIZED
:display(warning): FrameBufferProperties available less than requested.
requested: depth_bits=1 color_bits=3 red_bits=1 green_bits=1 blue_bits=1 alpha_bits=1 multisamples=8 back_buffers=1 force_hardware
got: depth_bits=32 color_bits=24 red_bits=8 green_bits=8 blue_bits=8 alpha_bits=8 back_buffers=1 force_hardware
:display(error): Could not get requested FrameBufferProperties; abandoning window.
requested: depth_bits=24 float_color color_bits=48 red_bits=16 green_bits=16 blue_bits=16 alpha_bits=16 multisamples=16 force_hardware
got: depth_bits=24 float_color color_bits=48 red_bits=16 green_bits=16 blue_bits=16 alpha_bits=16 stencil_bits=8 multisamples=1 force_hardware
File "/home/stevenlee/miniconda3/envs/driving/lib/python3.7/site-packages/simplepbr/init.py", line 136, in init
self._setup_tonemapping()
File "/home/stevenlee/metadriving/metadrive/metadrive/engine/core/our_pbr.py", line 87, in _setup_tonemapping
self.tonemap_quad.set_shader(tonemap_shader)
AttributeError: 'NoneType' object has no attribute 'set_shader'