Cannot open offsreen window on Linux cluster


#1

Hi all,
I’m getting some problems running Panda3d on cluster.
On my laptop the following code works for both Win and Linux and I can render to texture off-screen:
def init(self):
# Initialize the ShowBase class from which we inherit, which will
# create a window and set up everything we need for rendering into it.
ShowBase.init(self, windowType = ‘offscreen’)

On the cluster I get this error:

Known pipe types:
  glxGraphicsPipe
(all display modules loaded.)
:display:x11display(error): Could not open display ":0.0".
:ShowBase(warning): Unable to open 'offscreen' window.
Traceback (most recent call last):
  File "./masonry_to_buffer.py", line 44, in <module>
    cpi = ChronoPandaInterface.OffscreenRender()
  File "/hpc/home/simone.benatti/codes/vision/ChronoPandaInterface/OffscreenRen$
    ShowBase.__init__(self, windowType = 'offscreen')
  File "/hpc/home/simone.benatti/miniconda3/envs/pychrono/lib/python3.6/site-pa$
    self.openDefaultWindow(startDirect = False, props=props)
  File "/hpc/home/simone.benatti/miniconda3/envs/pychrono/lib/python3.6/site-pa$
    self.openMainWindow(*args, **kw)
  File "/hpc/home/simone.benatti/miniconda3/envs/pychrono/lib/python3.6/site-pa$
    self.openWindow(*args, **kw)
  File "/hpc/home/simone.benatti/miniconda3/envs/pychrono/lib/python3.6/site-pa$
    raise Exception('Could not open window.')
Exception: Could not open window.

Note that OpenGL is missing, could my issue be related to this?
glxinfo | grep “OpenGL version”
Error: unable to open display

Thanks,
Simone


#2

just from the top of my head, you may want to try something like xvfb to simulate a xserver frame buffer.

I also believe there to be a possibility to work with Panda3D w/o opening a window, depending on what you’re trying to achieve.


#3

Are you running any X11 server at all?

If you are using an NVIDIA GPU, you can do something like this to use a headless X11 server:


#4

Ok, thank you! Now I cannot directly edit the xorg.conf file because I don’t have admin permission on the server, but I’ll ask the administrator to let me do the trick. Thank you, anyway.