Various reasons why OpenGL wouldn't work

I’ve been having a problem with my swapbuffers call. It breaks the program but nobody has been able to solve that so I’m going to ask a broader question.

What are some common reasons why opengl won’t work properly? I’m looking for answers on both the software and hardware side.
I’m running Vista 64 bit on EAH3650 TOP’s in crossfire mode and programming in visual studio 2008 professional. I take for granted that in this day and age opengl would already be implemented on the computer, is this an invalid assumption? Is there something I need to build for this to work?

Wow, there are so many possibilities ranging from bad code to bad hardware that I don’t even know where to start… you will have to be more precise. What are you doing, what is your setup and what exactly is your problem?

well, I’m running on vista 64 bit with AMD quad phenom 9500. I have two graphics cards in crossfireX, both are Radeon HD 3650’s. I’m writing code in Visual Studio C++ 2008 professional using wxWidgets for my windowing system. The problem specifically occurs when I call swapbuffers, the program crashes. It can’t find a DC (drawing context?). I’ve tried running some of the samples they have but they don’t work either.
I’ve also tried running glut projects that I know work and they don’t work on this computer either. That’s why I think the problem lies somewhere with the graphics card which is suppose to support OpenGL 2.0

With wxWidgets you have to compile OpenGL support into the library, it is possible that it’s not been built with it. Did you compile wxWidgets yourself or use the prebuilt libs?

Try building it yourself. I would bet this is the problem given that the GL samples don’t work.


I found the problem. When I turn my second graphics card off, then my program works, and swap buffers performs correctly. So the problem should have something to do with the CrossfireX or how I connected the two cards or something. Thanks for all the help anyway.

To answer your question, I built wxWidgets myself.

Ok, when I was doing OpenGL on Win32 with 2 cards (years ago but on XP), XP couldn’t handle 2 cards and have acceleration, simple as that. Could be the same problem.

nVidia started to fix these issues in the drivers for dual head cards cos it wasn’t the same problem, but there were other similar problems.

You see, Win32’s GDI wasn’t designed to work with multiple cards/monitors and probably still has the same issues.