Your Config.prc file must name at least one valid panda display library via load-display or aux-display. error

1.1k Views Asked by At

I am using panda3d and have come across a bug in my code. I can't seem to find whats wrong. Here it is:

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/panda3d/etc/Confauto.prc

:util: Reading /Users/Munish/Desktop/python/pygame_games/Config.prc
Known pipe types:
(all display modules loaded.)
Traceback (most recent call last):
  File "3d.py", line 12, in <module>
    game = MyGame()
  File "3d.py", line 10, in __init__
    super().__init__()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 338, in __init__
    self.openDefaultWindow(startDirect = False, props=props)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 1020, in openDefaultWindow
    self.openMainWindow(*args, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 1055, in openMainWindow
    self.openWindow(*args, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 765, in openWindow
    win = func()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 745, in <lambda>
    func = lambda : self._doOpenWindow(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 817, in _doOpenWindow
    self.makeDefaultPipe()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 646, in makeDefaultPipe
    self.notify.error(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/direct/directnotify/Notifier.py", line 130, in error
    raise exception(errorString)
Exception: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

Here is my coding script:

from panda3d.core import loadPrcFile
from panda3d.core import ConfigPageManager
print( ConfigPageManager.getGlobalPtr())
loadPrcFile('Config.prc')

from direct.showbase.ShowBase import ShowBase

class MyGame(ShowBase):
    def __init__(self):
        super().__init__()
    
game = MyGame()

print(base)
ShowBase().run()

Here is my Config.prc:

 window-width 1280 720

What am I doing wrong? Thank you in advance.

2

There are 2 best solutions below

0
On

this should hopefully work:

3d.py:

from panda3d.core import loadPrcFile
from panda3d.core import ConfigPageManager
from direct.showbase.ShowBase import ShowBase

print(ConfigPageManager.getGlobalPtr())

# capitalization is important.
loadPrcFile('config.prc')

class MyGame(ShowBase):
    def __init__(self):
        super().__init__(self)
    
game = MyGame()

print(base)
game.run()

config.prc:

win-size 1280 720
0
On

Rename your Config.prc file to something else. Otherwise, you are overriding Panda3D's default configuration file, which is also called Config.prc.