Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in Brownian example #7

Open
swhalen opened this issue Mar 22, 2016 · 2 comments
Open

Error in Brownian example #7

swhalen opened this issue Mar 22, 2016 · 2 comments
Labels

Comments

@swhalen
Copy link

swhalen commented Mar 22, 2016

When I try to run the Brownian example, I get the following error:

* (make-instance 'sketch-examples:brownian)

debugger invoked on a SDL2::SDL-RC-ERROR in thread
#<THREAD "SDL2 Main Thread" RUNNING {1004CF4B43}>:
  SDL Error (#<SDL-WINDOW {#X00000000}>): Couldn't find matching GLX visual

I am running SBCL 1.2.14 on Ubuntu 15.10, with Intel HD Graphics 5500. I guess there's a good chance this is something to do with the Intel graphics drivers.

Commenting out these lines seems to solve the problem, but I cannot say I know why.

@vydd
Copy link
Owner

vydd commented Mar 22, 2016

Unfortunately, it is a known problem with Sketch (probably cl-sdl2 and cl-opengl as well, maybe even native libs) and Intel drivers on Linux - turning off double buffering is not possible. The Brownian example uses :COPY-PIXELS set to T to draw incrementally, that is, without clearing the screen between frames. Commenting out those lines helps, but makes the example (and everything that uses :COPY-PIXELS) work differently.

I won't be fixing this directly because using (sdl2:gl-set-attr :doublebuffer 0)) was a hack in the first place. What I really want to do is to implement this (and many other nice things) using FBOs. I can't promise anything, but it's pretty high on my list of priorities and might even happen before the next Quicklisp release.

@swhalen
Copy link
Author

swhalen commented Mar 23, 2016

Thank you for the reply and explanation. I did suspect that my "fix" would break other things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants