LWJGL 2.9.3 misbehaves after Linux upgrade

Started by raptavio, January 08, 2018, 22:41:46

Previous topic - Next topic

raptavio

Been working on this for two weeks.

The topline is that I use LWGJL 2.9.3 in an application for taking static snapshots of 3d model images. I ported it from Windows to Linux a little less than a year ago and it worked. Upgrading to the latest verson of Linux it doesn't work. Upgrading libraries only (apt upgrade instead of apt dist-upgrade) also breaks. Specifically, the snapshot appears as a pure black image instead of a shaded 3d rendering with a white background.

Details:
-This is true in a headless and a non-headless environment. (Non-headless uses Xvfb in Ubuntu and TigerVNC in RHEL)
-This is true in Ubuntu and in Red Hat.
-On Ubuntu, the debug output from the non-functional version is as follows:
Could not locate symbol glXSwapIntervalEXT
Could not locate symbol glXEnumerateVideoDevicesNV
Could not locate symbol glXBindVideoCaptureDeviceNV
[LWJGL] Xrandr extension version 1.5
[LWJGL] Using Xrandr for display mode switching
[LWJGL] XF86VidMode extension version 2.2
[LWJGL] Initial mode: 1920 x 984 x 24 @60Hz
[LWJGL] Pixel format info: r = 8, g = 8, b = 8, a = 0, depth = 24, stencil = 0, sample buffers = 0, samples = 0
[LWJGL] MemoryUtil Accessor: AccessorUnsafe
[LWJGL] XF86VidMode extension version 2.2


-The debug from the functional version is as follows:
Could not locate symbol glXSwapIntervalEXT
Could not locate symbol glXEnumerateVideoDevicesNV
Could not locate symbol glXBindVideoCaptureDeviceNV
[LWJGL] Xrandr extension version 1.5
[LWJGL] Using Xrandr for display mode switching
[LWJGL] XF86VidMode extension version 2.2
[LWJGL] Initial mode: 1333 x 722 x 24 @60Hz
[LWJGL] Pixel format info: r = 8, g = 8, b = 8, a = 0, depth = 24, stencil = 0, sample buffers = 0, samples = 0
[LWJGL] MemoryUtil Accessor: AccessorUnsafe

But after that output, on the WORKING version, I get an error if and only if I debug.
org.lwjgl.opengl.OpenGLException: Invalid enum (1280)
	at org.lwjgl.opengl.Util.checkGLError(Util.java:59)
	at org.lwjgl.opengl.DrawableGL.checkGLError(DrawableGL.java:82)
	at org.lwjgl.opengl.Display.swapBuffers(Display.java:617)
	at org.lwjgl.opengl.Display.update(Display.java:646)
	at org.lwjgl.opengl.Display.update(Display.java:628)
	at [my package].fileutils.FileViewer.takeSnapshot(FileViewer.java:[line])


This is all very much over my head (no, I'm not the original developer of the LWJGL-using app) and I would love very much if one of you fine people out there could help me figure this out.

FTR, the black square is a totally black square. There is not a single pixel in one corner that is non-black.

Thanks....

KaiHH

Provide an MCVE.

There could be a myriad of possible problems. The application generates OpenGL errors, so chances are that it always was faulty (did not adhere to the OpenGL specification) but the driver was somewhat forgiving, which it might not be anymore.

raptavio

Providing an MCVE will be kind of difficult as I wasn't the original developer, but I'll see what I can do.

But your speculation has the ring of truth to it.