No graphics pipe is available!

This is odd. Yesterday I was running panda (under Linux) without any problems. Today when I try to run the same file (or anything else) I get a traceback:


[malcolmr@buzzer Basic-Tutorials--Lesson-1-Scene-Graph]$ ppython Tut-Step-5-Complete-Solar-System.py
DirectStart: Starting the game.
Warning: DirectNotify: category 'Interval' already exists
Known pipe types:
(all display modules loaded.)
Traceback (most recent call last):
  File "Tut-Step-5-Complete-Solar-System.py", line 12, in ?
    import direct.directbase.DirectStart

...

  File "/export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/direct/../../direct/src/directnotify/Notifier.py", line 121, in error
    raise exception(errorString)
StandardError: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

Yesterday it would show:


DirectStart: Starting the game.
Warning: DirectNotify: category 'Interval' already exists
Known pipe types:
  glxGraphicsPipe
(all display modules loaded.)

Where did glxGraphicsPipe go?

My Config.prc is in the same place it was yesterday:


[malcolmr@buzzer Basic-Tutorials--Lesson-1-Scene-Graph]$ ls -l /export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/etc
total 8
-rw-------  1 malcolmr malcolmr 3811 Jan 10 13:55 Confauto.prc
-rw-------  1 malcolmr malcolmr 2139 Jan 10 13:55 Config.prc

And the PATH and LD_LIBRARY_PATH still point to the appropriate bin and llib directories respectively. Any ideas what may have changed?

Malcolm

Try starting Python and inputting these commands:

from pandac.PandaModules import *
print ConfigPageManager.getGlobalPtr()

Printing the ConfigPageManager will list all of the config.prc files that were found and loaded. That may give you some insight. You might also try:


print ConfigPageManager.getGlobalPtr().getSearchPath()

to list where it thinks it is looking.

David

[malcolmr@buzzer Basic-Tutorials--Lesson-1-Scene-Graph]$ ppython
Python 2.3.5 (#2, May  4 2005, 08:51:39)
[GCC 3.3.5 (Debian 1:3.3.5-12)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pandac.PandaModules import *
>>> print ConfigPageManager.getGlobalPtr()
0 explicit pages:

2 implicit pages:
  /export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/etc/Config.prc
  /export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/etc/Confauto.prc

>>> print ConfigPageManager.getGlobalPtr().getSearchPath()
/export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/etc

That seems to be in order.

Malcolm

Are you sure that your Config.prc has a “load-display pandagl” line in it?


print ConfigVariableString('load-display')

David

Yep:


>>> print ConfigVariableString('load-display')
ConfigVariable load-display:
  load-display pandagl  (from /export/buzzer/1/scratch/malcolmr/panda3d-1.1.0/built/etc/Config.prc)

I think it may be a problem with openGL. ‘glxgears’ and ‘glxinfo’ don’t work either:


malcolmr@buzzer Basic-Tutorials--Lesson-1-Scene-Graph]$ glxgears
X Error of failed request:  BadImplementation (server does not implement operation)
  Major opcode of failed request:  146 (NV-GLX)
  Minor opcode of failed request:  2 ()
  Serial number of failed request:  8
  Current serial number in output stream:  8
Segmentation fault

I’ve rebooted my computer and now it is working fine. I think my graphics card must have got its knickers in a knot.

Malcolm