3

After installing debian in VMware and installing all librarys required to run OpenGL applications with freeglut, I used glxgears to make sure everything works fine.

# glxgears
3426 frames in 5.0 seconds = 685.171 FPS
3562 frames in 5.0 seconds = 712.339 FPS
...
XI0:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 33172 requests (33170 known processed) with 0 events remaining.

glxgears seems to be running fine. It displays the gears roatating in a window even though the above error appears after clicking on "Close" on the glxgears window frame.

But when I attempt to execute a simple OpenGL program using freeglut3, I get the following result:

# ./program
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 34 ()
Serial number of failed request: 36
Current serial number in output stream: 35

A program which works using all the same files and libraries on a non-virtual machine, not available for me at home.

How can I resolve this issue? Is this a common problem with running OpenGL programs on virtual machines?

Andon M. Coleman
  • 42,359
  • 2
  • 81
  • 106
wiseberg
  • 31
  • 1

1 Answers1

1

This is a cryptic way of your GLX server telling you: it has never heard of glXCreateContextAttribsARB (GLX OpCode 34). In other words, your system does not support GLX_ARB_create_context. The best way to explain why this is, would be to run something like glxinfo -v and add the output to your question.

It is possible to create a working context without this extension on your system as glxgears is clearly demonstrating. I have to imagine that freeglut3 should be smart enough not to use the extension if you do not request anything fancy from it (e.g. do not ask for a core profile context or a specific major/minor version). If it is not, then you will have to find a more sophisticated GLX implementation or use a different framework.

Andon M. Coleman
  • 42,359
  • 2
  • 81
  • 106