http://bugs.winehq.org/show_bug.cgi?id=2260
Summary: opengl: enumerate pixel formats then choose pixel format fails Product: Wine Version: unspecified Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-x11driver AssignedTo: wine-bugs@winehq.org ReportedBy: colin@gibbsonline.net
This was discovered trying to run some of the nvida demos. In particular the Chameleon demo runs when this problem is fixed.
The error I get from the app is: GLUT: Fatal Error in DummyAppName: pixel format with necessary capabilities not found.
Tracing it reveals that it calls X11DRV_DescribePixelFormat MAX_PIXELFORMATS times. So the physDev->visuals array gets filled with visuals from calls to glXChooseVisual. Then it calls X11DRV_ChoosePixelFormat which uses XGetVisualInfo and tries to match that with a value in the array which is where it fails. It seems glXChooseVisual gives different values from XGetVisualInfo.
So the fix I tried was to use XGetVisualInfo in DescribePixelFormats as well. Which seems to work as least for the nvida demos.