I created a simple test program using the first code example in https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/ . In the main function after the comment "// from now on use your OpenGL context", I had added
GLuint glmajor, glminor;
glGetIntegerv(GL_MAJOR_VERSION, &glmajor);
glGetIntegerv(GL_MINOR_VERSION, &glminor);
std::cout << "GL major = " << glmajor << " minor = " << glminor << std::endl;
GLuint handle;
glGenTextures(1, &handle);
sd::cout << "handle = " << handle;
When running this on my Ubuntu 16.04 machine with an NVIDIA GTX 1080 and driver 384.90-0ubuntu0.16.04.1, the program displays glmajor 4 and glminor 5 and handle 1. After upgrading to driver 384.90-0ubuntu0.16.04.2, the program now displays glmajor 0 and glminor 0 and handle 0. It appears in the latter version that there is no active OpenGL context.
I created a simple test program using the first code example in https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/ . In the main function after the comment "// from now on use your OpenGL context", I had added
GLuint glmajor, glminor;
glGetIntegerv(GL_MAJOR_VERSION, &glmajor);
glGetIntegerv(GL_MINOR_VERSION, &glminor);
std::cout << "GL major = " << glmajor << " minor = " << glminor << std::endl;
GLuint handle;
glGenTextures(1, &handle);
sd::cout << "handle = " << handle;
When running this on my Ubuntu 16.04 machine with an NVIDIA GTX 1080 and driver 384.90-0ubuntu0.16.04.1, the program displays glmajor 4 and glminor 5 and handle 1. After upgrading to driver 384.90-0ubuntu0.16.04.2, the program now displays glmajor 0 and glminor 0 and handle 0. It appears in the latter version that there is no active OpenGL context.
I think I'm having the same problem. I had working code based on the same link posted above, but after an update it no longer works. EGL does not generate any errors, but there is not a valid OpenGL context.
I'm running Ubuntu 16.04 with a GeForce GT 650M and driver 384.90 (though I don't know how to get the exact version, as specified by OP).
I think I'm having the same problem. I had working code based on the same link posted above, but after an update it no longer works. EGL does not generate any errors, but there is not a valid OpenGL context.
I'm running Ubuntu 16.04 with a GeForce GT 650M and driver 384.90 (though I don't know how to get the exact version, as specified by OP).
To see what you have: apt list --installed | grep nvidia
On my machine, I get a line: nvidia-384/xenial-security, now 384.90-0ubuntu0.16.04.1 amd64 [installed,upgradable to 384.90-0ubuntu.16.04.2]
In order to have a working EGL environment, I had rolled back from the *.2 driver to the *.1 driver.
Can you please attach the complete source file so I can try to reproduce this problem?
This kind of sounds like a packaging problem rather than a problem with the driver itself. Does it work if you install the driver from the .run package? (Uninstall it when you're done by running "sudo nvidia-uninstall").
Can you please attach the complete source file so I can try to reproduce this problem?
This kind of sounds like a packaging problem rather than a problem with the driver itself. Does it work if you install the driver from the .run package? (Uninstall it when you're done by running "sudo nvidia-uninstall").
Thanks, I was using 384.90-0ubuntu0.16.04.2. After downgrading to *.1 my code works again.
It looks like there's an open bug report on this issue: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/+bug/1731968
GLuint glmajor, glminor;
glGetIntegerv(GL_MAJOR_VERSION, &glmajor);
glGetIntegerv(GL_MINOR_VERSION, &glminor);
std::cout << "GL major = " << glmajor << " minor = " << glminor << std::endl;
GLuint handle;
glGenTextures(1, &handle);
sd::cout << "handle = " << handle;
When running this on my Ubuntu 16.04 machine with an NVIDIA GTX 1080 and driver 384.90-0ubuntu0.16.04.1, the program displays glmajor 4 and glminor 5 and handle 1. After upgrading to driver 384.90-0ubuntu0.16.04.2, the program now displays glmajor 0 and glminor 0 and handle 0. It appears in the latter version that there is no active OpenGL context.
I'm running Ubuntu 16.04 with a GeForce GT 650M and driver 384.90 (though I don't know how to get the exact version, as specified by OP).
On my machine, I get a line: nvidia-384/xenial-security, now 384.90-0ubuntu0.16.04.1 amd64 [installed,upgradable to 384.90-0ubuntu.16.04.2]
In order to have a working EGL environment, I had rolled back from the *.2 driver to the *.1 driver.
This kind of sounds like a packaging problem rather than a problem with the driver itself. Does it work if you install the driver from the .run package? (Uninstall it when you're done by running "sudo nvidia-uninstall").
Aaron Plattner
NVIDIA Linux Graphics
It looks like there's an open bug report on this issue: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-384/+bug/1731968