Optix 7 SDK - optixHello GLFW error

Please help,

I have downloaded and compiled optix 7.1 SDK and am attempting to run the optixHello sample but am getting a runtime error. The output to the screen follows:

GLFW Error 65544: X11: RandR gamma ramp support seems broken
GLFW Error 65543: GLX: Forward compatibility requested but GLX_ARB_create_context_profile is unavailable
Caught exception: Failed to create GLFW window

I could build the Makefile via CMake with no issues as well as compile the examples, once again with no issue. However when I run the compiled binary optixHello is when I get the error output above. Has anyone run into a similar situation? I’m sure it is likely something simple but my lack of experience is holding me back.

Background:
I am running CentOS Linux 7, using CUDA 10.0, v10.0.130 with Tesla V100

Thank you in advanced for any information.

Hi @richard.haney,

I haven’t seen this error myself, and maybe someone else can help, but this issue is outside of OptiX so it might be worth checking out the GLFW forum. I do see some Google hits for “GLFW Error 65544”, for example https://github.com/glfw/glfw/issues/1004

Some information that might be useful for others to help you are:

  • What is your driver version?
  • What is your GLFW version?
  • What output do you get when you run glxinfo?
  • Are you running an X server?
  • Are you trying to launch OptiX on a machine that is partially or fully headless?


David.

Thank you @dhart for the response.

I will check out the link.

On another note. Is there a way during the cmake build to force it to look for a specific GLFW installation ?

Thanks again

A Tesla V100 board does not run an OpenGL implementation. That’s a compute board with no display outlet.
Means you would only be able to use that board for the CUDA and OptiX raytracing part inside the OptiX examples, but not for the final display via OpenGL used in the examples.
If there were an OptiX SDK 7.1.0 examples which didn’t display with OpenGL like the former optixConsole example, that should have worked.
So effectively the OptiX SDK 7.1.0 examples require any OpenGL implementation and can then copy the resulting image via a device-to-host copy before uploading it as texture to the target OpenGL implementation. That’s the no-interop code path in the OptiX SDK examples.

Thanks @droettger.

Is there a specific optix example in opix 7.1 that you would recommend that executes without final display via OpenGL?

I think the only OptiX SDK example without display is the optixRaycasting example. That is just writing *.ppm images to disk. But that is also the most untypical one of the OptiX SDK examples, because it uses OptiX only for intersection testing of a ray wavefront.

For the others you would need to get X11, OpenGL and GLFW to work on your system.
Any OpenGL implementation which supports the used texture formats should do.
You just wouldn’t be able to use the faster CUDA-OpenGL interop method for display, but the examples are prepared for that with the –no-gl-interop command line option (search the source code).

Thanks @droettger

@dhart, when I run glxinfo I get the following:

name of display: localhost:10.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 19
Current serial number in output stream: 20

Made some forward progress. I can get OpenGL windows to run over SSH with my Mac using XQuartz. When I run: $ glxinfo | grep OpenGL, I get the following output:

OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: AMD Radeon Pro 5500M OpenGL Engine
OpenGL version string: 1.4 (2.1 ATI-3.10.18)
OpenGL extensions:

However, when I run the Optix 7.1 SDK samples for optixTriangle I still get the following:

GLFW Error 65544: X11: RandR gamma ramp support seems broken
GLFW Error 65543: GLX: Forward compatibility requested but GLX_ARB_create_context_profile is unavailable
Caught exception: Failed to create GLFW window

This is a very frustrating issue. Has anyone ran into this before?

Do you want or need to use OpenGL or GLFW ultimately, or do you just need to get OptiX up and running? Maybe an easy path forward would be to either use a sample that doesn’t use any OpenGL, or modify the sample you’d like to run and remove the interactive window?

The optixRaycasting sample doesn’t use GLFW, and saves the output to a file. See if that runs and if so you might use it as a template to get other samples running non-interactively.


David.