Closed GoogleCodeExporter closed 9 years ago
Someone else had this problem too. Go to
http://www.pyweek.org/e/ambling/ratings/ and
search the page for "No conforming visual exists"
Original comment by nek...@gmail.com
on 20 Aug 2007 at 6:09
(Lots of people have had this problem, it's mostly a matter of finding the
particular workaround for your
hardware/driver...)
Can you attach the output of glxinfo, and your Xorg.conf file if it's no
problem?
Original comment by Alex.Hol...@gmail.com
on 20 Aug 2007 at 7:42
This is related to issue 19. AFAIK no-one else has evaluated pyglet in 16-bit
color. We're not doing anything to
explicitly disable it, but I've not looked into the problem much. Any help
from those with similar setups & time
would be appreciated.
Original comment by Alex.Hol...@gmail.com
on 21 Aug 2007 at 12:14
I changed the color depth and it works perfectly now, thanks.
I ran `gksudo gedit /etc/X11/xorg.conf`,
replaced "DefaultDepth 16" with "DefaultDepth 24",
then restarted and it worked fine.
Original comment by nek...@gmail.com
on 21 Aug 2007 at 12:28
I realised on the train that the problem was probably the depth buffer, not the
color
buffer. By default pyglet requests a depth size of 24, but with a 16-bit
display
only 16-bit depth buffers are available. If you (or someone else) can confirm
that
the following works on a 16-bit display, I'll add fallback code for the default
case::
from pyglet import gl
from pyglet import window
config = gl.Config(depth_size=16)
w = window.Window(config=config)
while not w.has_exit:
w.dispatch_events()
w.clear()
w.flip()
Original comment by Alex.Hol...@gmail.com
on 21 Aug 2007 at 2:39
[deleted comment]
[deleted comment]
[deleted comment]
The code you gave me appears to work fine, but with slight modification, it
fails to
work correctly. When I try to draw an image, it flickers. The image basically
appears
as a series of horizontal bars. I tried taking a few screenshots and all but one
turned out as a black screen. The only one that had the image on it had about
half of
the image (the top half). I tried it with both vsync on and off, with the same
results both ways. Here's the code I'm using:
######
from pyglet import gl
from pyglet import window
from pyglet import image
config = gl.Config(depth_size=16)
w = window.Window(200, 200, config=config)
im = image.load("test.png")
while not w.has_exit:
w.dispatch_events()
w.clear()
im.blit(50, 50)
w.flip()
######
Kind of off topic, but for now I strongly suggest giving a more descriptive
error
message that tells the user that they need 24 or higher.
Original comment by nek...@gmail.com
on 21 Aug 2007 at 4:32
Attachments:
The window is single buffered, so w.flip() has no effect (the equivalent for
single
buffers is glFinish), causing the flickering. The solution is to add a back
buffer
by specifying the Config as::
config = gl.Config(depth_size=16, double_buffer=True)
Original comment by Alex.Hol...@gmail.com
on 21 Aug 2007 at 2:55
Oh, sorry about that.
Original comment by nek...@gmail.com
on 21 Aug 2007 at 3:02
Implemented in r1195: fallback to 16-bit depth if 24-bit is not available.
Original comment by Alex.Hol...@gmail.com
on 24 Aug 2007 at 9:39
Original issue reported on code.google.com by
nek...@gmail.com
on 20 Aug 2007 at 6:07