Index | Thread | Search

From:
Thomas Frohwein <tfrohwein@fastmail.com>
Subject:
Re: games/lwjgl: use jdk-11, need indierunner tests
To:
Kurt Miller <kurt@intricatesoftware.com>
Cc:
ports@openbsd.org, thfr@openbsd.org
Date:
Fri, 19 Dec 2025 06:44:18 -0800

Download raw body.

Thread
On Thu, 18 Dec 2025 23:09:51 +0000
Kurt Miller <kurt@intricatesoftware.com> wrote:

> I found a github fork that added jdk 11 build support for Linux, so
> I adadapted that to work for us. Here's that commit:
> 
> https://github.com/MeFisto94/lwjgl/commit/72e97f53f7d256bc90e397e946054fcbe764c203
> 
> I updated games/minecraft to use jdk 11 as well and can launch to
> the login screen, but I think games/minecraft is dead - TBD.
> 
> So I need people who use games/indiegames and have lwjgl based
> games to give this a test run. Not sure I will be able to fix
> any problems, but it would be nice to know if anything works.

I will do that, due to $dayjob and volume of games supported by
indierunner, I'll report back within the next 7 days

> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/lwjgl/Makefile,v
> diff -u -p -u -r1.13 Makefile
> --- Makefile	11 Mar 2022 19:04:37 -0000	1.13
> +++ Makefile	18 Dec 2025 22:39:39 -0000
> @@ -6,7 +6,7 @@ GH_PROJECT=	lwjgl
>  GH_TAGNAME=	${GH_PROJECT}${V}
>  DISTNAME=	lwjgl${V}
>  PKGNAME=	lwjgl-${V}
> -REVISION=	5
> +REVISION=	6
>  
>  .if ${MACHINE_ARCH} == "i386"
>  M_ARCH=		""
> @@ -27,7 +27,7 @@ PERMIT_PACKAGE=	Yes
>  WANTLIB += GL X11 Xcursor Xext Xrandr Xxf86vm m pthread
>  
>  MODULES=	java
> -MODJAVA_VER=	1.8
> +MODJAVA_VER=	11
>  MODJAVA_BUILD=	ant
>  
>  BUILD_DEPENDS=	audio/openal
> Index: patches/patch-build_xml
> ===================================================================
> RCS file: patches/patch-build_xml
> diff -N patches/patch-build_xml
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-build_xml	18 Dec 2025 22:39:39 -0000
> @@ -0,0 +1,68 @@
> +Build with jdk-11
> +
> +Index: build.xml
> +--- build.xml.orig
> ++++ build.xml
> +@@ -295,6 +295,7 @@
> + 
> + 	<!-- Generates the native headers from source files -->
> + 	<target name="headers" description="invokes javah on java
> classes" depends="compile"> ++		<!--
> + 		<javah classpath="${lwjgl.bin}"
> destdir="${lwjgl.src.native}/linux">
> + 			<class
> name="org.lwjgl.LinuxSysImplementation" />
> + 			<class name="org.lwjgl.opengl.LinuxEvent" />
> +@@ -371,6 +372,7 @@
> + 			<class name="org.lwjgl.opengles.GLContext"/>
> + 			<class
> name="org.lwjgl.opengles.CallbackUtil"/>
> + 		</javah>
> ++		-->
> + 	</target>
> + 
> + 	<target name="touch-version">
> +@@ -401,21 +403,21 @@
> + 				</tokenfilter>
> + 			</filterchain>
> + 		</loadfile>
> +-		<loadfile
> srcfile="${lwjgl.src.native}/windows/org_lwjgl_WindowsSysImplementation.h"
> property="lwjgl.native.windows.version"> ++		<loadfile
> srcfile="${lwjgl.src.native}/org_lwjgl_WindowsSysImplementation.h"
> property="lwjgl.native.windows.version">
> + 			<filterchain>
> + 				<tokenfilter>
> + 	    		<containsstring contains="#define
> org_lwjgl_WindowsSysImplementation_JNI_VERSION"/>
> + 				</tokenfilter>
> + 			</filterchain>
> + 		</loadfile>
> +-		<loadfile
> srcfile="${lwjgl.src.native}/linux/org_lwjgl_LinuxSysImplementation.h"
> property="lwjgl.native.linux.version"> ++		<loadfile
> srcfile="${lwjgl.src.native}/org_lwjgl_LinuxSysImplementation.h"
> property="lwjgl.native.linux.version">
> + 			<filterchain>
> + 				<tokenfilter>
> + 	    		<containsstring contains="#define
> org_lwjgl_LinuxSysImplementation_JNI_VERSION"/>
> + 				</tokenfilter>
> + 			</filterchain>
> + 		</loadfile>
> +-		<loadfile
> srcfile="${lwjgl.src.native}/macosx/org_lwjgl_MacOSXSysImplementation.h"
> property="lwjgl.native.macosx.version"> ++		<loadfile
> srcfile="${lwjgl.src.native}/org_lwjgl_MacOSXSysImplementation.h"
> property="lwjgl.native.macosx.version">
> + 			<filterchain>
> + 				<tokenfilter>
> + 	    		<containsstring contains="#define
> org_lwjgl_MacOSXSysImplementation_JNI_VERSION"/> +@@ -462,7 +464,9 @@
> + 
> + 	<!-- Compiles the Java source code -->
> + 	<target name="compile" description="Compiles the java
> source code" depends="-initialize"> +-		<javac
> debug="yes" destdir="${lwjgl.bin}" source="1.5" target="1.5"
> classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar"
> taskname="core"> ++		<javac debug="yes"
> destdir="${lwjgl.bin}" source="1.6" target="1.6" ++
> 	   classpath="${lwjgl.lib}/jinput.jar:${lwjgl.lib}/AppleJavaExtensions.jar:${lwjgl.lib}/asm-debug-all.jar"
> ++			   taskname="core"
> nativeHeaderDir="${lwjgl.src.native}">
> +             <!--<compilerarg value="-Xlint:unchecked"/>-->
> + 			<src path="${lwjgl.src}/java/"/>
> + 			<src path="${lwjgl.src}/generated/"/>
> +@@ -475,8 +479,8 @@
> + 			<include name="org/lwjgl/util/**"/>
> + 			<exclude
> name="org/lwjgl/util/generator/**"/>
> + 		</javac>
> +-		<javac debug="yes" srcdir="${lwjgl.src}/java/"
> destdir="${lwjgl.bin}" includes="org/lwjgl/test/**" source="1.5"
> target="1.5" taskname="test" /> +-		<javac debug="yes"
> srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}"
> includes="org/lwjgl/examples/**" source="1.5" target="1.5"
> taskname="examples" /> ++		<javac debug="yes"
> srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}"
> includes="org/lwjgl/test/**" source="1.6" target="1.6"
> taskname="test" /> ++		<javac debug="yes"
> srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}"
> includes="org/lwjgl/examples/**" source="1.6" target="1.6"
> taskname="examples" />
> + 	</target>
> + 
> + 	<target name="compile_native" depends="-initialize,
> headers, touch-version, version-mismatch" description="Compiles the
> native files"> Index: patches/patch-platform_build_bsd_ant_build_xml
> ===================================================================
> RCS file:
> /cvs/ports/games/lwjgl/patches/patch-platform_build_bsd_ant_build_xml,v
> diff -u -p -u -r1.5 patch-platform_build_bsd_ant_build_xml ---
> patches/patch-platform_build_bsd_ant_build_xml	11 Mar 2022
> 19:04:37 -0000	1.5 +++
> patches/patch-platform_build_bsd_ant_build_xml	18 Dec 2025
> 22:39:39 -0000 @@ -1,18 +1,32 @@ -Use os.arch on 64 bit builds.
> +Build with jdk-11 +Build only 32 bit on i386 and 64bit only
> otherwise Index: platform_build/bsd_ant/build.xml
>  --- platform_build/bsd_ant/build.xml.orig
>  +++ platform_build/bsd_ant/build.xml
> -@@ -5,7 +5,7 @@
> +@@ -4,8 +4,9 @@
> + 	<property name="native" location="../../src/native"/>
>   	<property name="libname32" value="liblwjgl.so"/>
>   	<property name="libname64" value="liblwjgl64.so"/>
> - 	<property name="libs32" value="-L/usr/X11R6/lib
> -L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread
> -L${java.home}/lib/i386 -ljawt" /> +-	<property name="libs32"
> value="-L/usr/X11R6/lib -L/usr/local/lib -lm -lX11 -lXext -lXcursor
> -lXrandr -pthread -L${java.home}/lib/i386 -ljawt" />
>  -	<property name="libs64" value="-L/usr/X11R6/lib
> -L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -lXxf86vm
> -pthread -L${java.home}/lib/amd64 -ljawt" /> -+	<property
> name="libs64" value="-L/usr/X11R6/lib -L/usr/local/lib -lm -lX11
> -lXext -lXcursor -lXrandr -lXxf86vm -pthread
> -L${java.home}/lib/${os.arch} -ljawt" /> ++	<!-- After JDK 8
> (at least on JDK 11), the architecture isn't part of the lib folder
> anymore --> ++	<property name="libs32" value="-L/usr/X11R6/lib
> -L/usr/local/lib -lm -lX11 -lXext -lXcursor -lXrandr -pthread
> -L${java.home}/lib -ljawt" /> ++	<property name="libs64"
> value="-L/usr/X11R6/lib -L/usr/local/lib -lm -lX11 -lXext -lXcursor
> -lXrandr -lXxf86vm -pthread -L${java.home}/lib -ljawt" /> <property
> name="cflags32" value="-O2 -Wall -c -fPIC -std=c99 -Wunused"/>
> <target name="clean"> -@@ -67,7 +67,9 @@ +@@ -64,10 +65,19 @@
> +             </and>
> +         </condition>
> + 
> ++    	<condition property="build.32bit.only">
> ++            <and>
> ++                <os name="OpenBSD"/>
> ++                <equals arg1="${hwplatform}" arg2="i386"/>
> ++            </and>
> ++        </condition>
> ++
>       	<condition property="build.64bit.only">
>               <and>
>                   <os name="OpenBSD"/>
> @@ -23,3 +37,19 @@ Index: platform_build/bsd_ant/build.xml
>               </and>
>           </condition>
>   
> +@@ -87,6 +97,7 @@
> + 			<arg
> value="-I${java.home}/../include/openbsd"/>
> + 			<arg value="-I/usr/local/include"/>
> + 			<arg value="-I/usr/X11R6/include"/>
> ++			<arg value="-I${native}"/>
> + 			<arg value="-I${native}/common"/>
> + 		    <arg value="-I${native}/common/opengl"/>
> + 			<arg value="-I${native}/linux"/>
> +@@ -124,6 +135,7 @@
> + 			<arg value="-I/usr/X11R6/include"/>
> +             <arg value="-I${native}/common"/>
> + 		    <arg value="-I${native}/common/opengl"/>
> ++			<arg value="-I${native}"/>
> + 			<arg value="-I${native}/linux"/>
> + 		    <arg value="-I${native}/linux/opengl"/>
> + 			<mapper type="glob" from="*.c" to="*.o"/>
> Index: patches/patch-platform_build_build-generator_xml
> ===================================================================
> RCS file: patches/patch-platform_build_build-generator_xml
> diff -N patches/patch-platform_build_build-generator_xml
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-platform_build_build-generator_xml	18 Dec
> 2025 22:39:39 -0000 @@ -0,0 +1,14 @@
> +Build with jdk-11
> +
> +Index: platform_build/build-generator.xml
> +--- platform_build/build-generator.xml.orig
> ++++ platform_build/build-generator.xml
> +@@ -32,7 +32,7 @@
> + 		</javac>
> + 
> + 		<!-- Compile helper classes used by the templates
> --> +-        <javac debug="yes" srcdir="${lwjgl.src}/java/"
> destdir="${lwjgl.bin}" source="1.5" target="1.5"
> taskname="generator"> ++        <javac debug="yes"
> srcdir="${lwjgl.src}/java/" destdir="${lwjgl.bin}" source="1.6"
> target="1.6" taskname="generator">
> +             <include name="org/lwjgl/PointerWrapper.java"/>
> +             <include name="org/lwjgl/PointerBuffer.java"/>
> +             <!-- OpenGL -->
> Index: patches/patch-src_java_org_lwjgl_LinuxSysImplementation_java
> ===================================================================
> RCS file: patches/patch-src_java_org_lwjgl_LinuxSysImplementation_java
> diff -N patches/patch-src_java_org_lwjgl_LinuxSysImplementation_java
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++
> patches/patch-src_java_org_lwjgl_LinuxSysImplementation_java
> 18 Dec 2025 22:39:39 -0000 @@ -0,0 +1,13 @@ +Build with jdk-11
> +
> +Index: src/java/org/lwjgl/LinuxSysImplementation.java
> +--- src/java/org/lwjgl/LinuxSysImplementation.java.orig
> ++++ src/java/org/lwjgl/LinuxSysImplementation.java
> +@@ -43,6 +43,7 @@ import java.lang.UnsatisfiedLinkError;
> +  * $Id$
> +  */
> + final class LinuxSysImplementation extends J2SESysImplementation {
> ++	@java.lang.annotation.Native
> + 	private static final int JNI_VERSION = 19;
> + 
> + 	static {
> Index: patches/patch-src_java_org_lwjgl_MacOSXSysImplementation_java
> ===================================================================
> RCS file:
> patches/patch-src_java_org_lwjgl_MacOSXSysImplementation_java diff -N
> patches/patch-src_java_org_lwjgl_MacOSXSysImplementation_java ---
> /dev/null	1 Jan 1970 00:00:00 -0000 +++
> patches/patch-src_java_org_lwjgl_MacOSXSysImplementation_java
> 18 Dec 2025 22:39:39 -0000 @@ -0,0 +1,13 @@ +Build with jdk-11
> +
> +Index: src/java/org/lwjgl/MacOSXSysImplementation.java
> +--- src/java/org/lwjgl/MacOSXSysImplementation.java.orig
> ++++ src/java/org/lwjgl/MacOSXSysImplementation.java
> +@@ -44,6 +44,7 @@ import java.lang.UnsatisfiedLinkError;
> +  * $Id$
> +  */
> + final class MacOSXSysImplementation extends J2SESysImplementation {
> ++	@java.lang.annotation.Native
> + 	private static final int JNI_VERSION = 25;
> + 
> + 	static {
> Index: patches/patch-src_java_org_lwjgl_MemoryUtilSun_java
> ===================================================================
> RCS file: patches/patch-src_java_org_lwjgl_MemoryUtilSun_java
> diff -N patches/patch-src_java_org_lwjgl_MemoryUtilSun_java
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_java_org_lwjgl_MemoryUtilSun_java	18 Dec
> 2025 22:39:39 -0000 @@ -0,0 +1,53 @@
> +Build with jdk-11
> +
> +Index: src/java/org/lwjgl/MemoryUtilSun.java
> +--- src/java/org/lwjgl/MemoryUtilSun.java.orig
> ++++ src/java/org/lwjgl/MemoryUtilSun.java
> +@@ -37,7 +37,6 @@ import java.lang.reflect.Modifier;
> + import java.nio.Buffer;
> + 
> + import sun.misc.Unsafe;
> +-import sun.reflect.FieldAccessor;
> + 
> + /**
> +  * MemoryUtil.Accessor implementations that depend on sun.misc.
> +@@ -99,37 +98,8 @@ final class MemoryUtilSun {
> + 			}
> + 
> + 			throw new UnsupportedOperationException();
> +-		}
> +-
> +-	}
> +-
> +-	/** Implementation using reflection on ByteBuffer,
> FieldAccessor is used directly. */ +-	private static class
> AccessorReflectFast implements MemoryUtil.Accessor { +-
> +-		private final FieldAccessor addressAccessor;
> +-
> +-		AccessorReflectFast() {
> +-			Field address;
> +-			try {
> +-				address =
> MemoryUtil.getAddressField(); +-			} catch
> (NoSuchFieldException e) { +-				throw
> new UnsupportedOperationException(e); +-			}
> +-			address.setAccessible(true);
> +-
> +-			try {
> +-				Method m =
> Field.class.getDeclaredMethod("acquireFieldAccessor", boolean.class);
> +-				m.setAccessible(true); +-
> 			addressAccessor =
> (FieldAccessor)m.invoke(address, true); +-			}
> catch (Exception e) { +-				throw new
> UnsupportedOperationException(e); +-			}
> +-		} +-
> +-		public long getAddress(final Buffer buffer) {
> +-			return addressAccessor.getLong(buffer);
> + 		}
> + 
> + 	}
> + 
> +-}
> +\ No newline at end of file
> ++}
> Index: patches/patch-src_java_org_lwjgl_input_Cursor_java
> ===================================================================
> RCS file: patches/patch-src_java_org_lwjgl_input_Cursor_java
> diff -N patches/patch-src_java_org_lwjgl_input_Cursor_java
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_java_org_lwjgl_input_Cursor_java	18 Dec
> 2025 22:39:39 -0000 @@ -0,0 +1,22 @@
> +Build with jdk-11
> +
> +Index: src/java/org/lwjgl/input/Cursor.java
> +--- src/java/org/lwjgl/input/Cursor.java.orig
> ++++ src/java/org/lwjgl/input/Cursor.java
> +@@ -51,12 +51,15 @@ import org.lwjgl.Sys;
> + 
> + public class Cursor {
> + 	/** 1 bit transparency for native cursor */
> ++	@java.lang.annotation.Native
> + 	public static final int
> CURSOR_ONE_BIT_TRANSPARENCY	= 1;
> + 
> +-	/** 8 bit alhpa native cursor */
> ++	/** 8 bit alpha native cursor */
> ++	@java.lang.annotation.Native
> + 	public static final int
> CURSOR_8_BIT_ALPHA					= 2;
> + 
> + 	/** animation native cursor */
> ++	@java.lang.annotation.Native
> + 	public static final int
> CURSOR_ANIMATION						= 4;
> + 
> + 	/** First element to display */
> Index: patches/patch-src_java_org_lwjgl_opengl_Pbuffer_java
> ===================================================================
> RCS file: patches/patch-src_java_org_lwjgl_opengl_Pbuffer_java
> diff -N patches/patch-src_java_org_lwjgl_opengl_Pbuffer_java
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_java_org_lwjgl_opengl_Pbuffer_java	18
> Dec 2025 22:39:39 -0000 @@ -0,0 +1,13 @@
> +Build with jdk-11
> +
> +Index: src/java/org/lwjgl/opengl/Pbuffer.java
> +--- src/java/org/lwjgl/opengl/Pbuffer.java.orig
> ++++ src/java/org/lwjgl/opengl/Pbuffer.java
> +@@ -52,6 +52,7 @@ public final class Pbuffer extends DrawableGL {
> + 	/**
> + 	 * Indicates that Pbuffers can be created.
> + 	 */
> ++	@java.lang.annotation.Native
> + 	public static final int PBUFFER_SUPPORTED = 1 << 0;
> + 
> + 	/**
> Index:
> patches/patch-src_java_org_lwjgl_util_generator_GeneratorVisitor_java
> ===================================================================
> RCS file:
> patches/patch-src_java_org_lwjgl_util_generator_GeneratorVisitor_java
> diff -N
> patches/patch-src_java_org_lwjgl_util_generator_GeneratorVisitor_java
> --- /dev/null	1 Jan 1970 00:00:00 -0000 +++
> patches/patch-src_java_org_lwjgl_util_generator_GeneratorVisitor_java
> 18 Dec 2025 22:39:39 -0000 @@ -0,0 +1,16 @@ +Build with jdk-11 +
> +Index: src/java/org/lwjgl/util/generator/GeneratorVisitor.java +---
> src/java/org/lwjgl/util/generator/GeneratorVisitor.java.orig ++++
> src/java/org/lwjgl/util/generator/GeneratorVisitor.java +@@ -300,8
> +300,8 @@ public class GeneratorVisitor extends ElementKindVisit
> + 			}
> + 
> + 			// TODO: Back-port LWJGL 3's generation
> file handling (generate in-memory and avoid touching files if nothing
> has changed) +-			java_writer = new
> PrintWriter(env.getFiler().createSourceFile(Utils.getQualifiedClassName(e),
> env.getElementUtils().getPackageOf(e)).openWriter()); +-
> 		generateJavaSource(e, java_writer); ++
> 	outputJava.getParentFile().mkdirs(); ++
> 	generateJavaSource(e, new PrintWriter(new
> java.io.FileWriter(outputJava)));
> + 
> + 			if ( methods.size() > 0 ) {
> + 				boolean noNative = true;
> Index: patches/patch-src_native_common_org_lwjgl_BufferUtils_c
> ===================================================================
> RCS file: patches/patch-src_native_common_org_lwjgl_BufferUtils_c
> diff -N patches/patch-src_native_common_org_lwjgl_BufferUtils_c
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_native_common_org_lwjgl_BufferUtils_c	18
> Dec 2025 22:39:39 -0000 @@ -0,0 +1,10 @@
> +Build with jdk-11
> +
> +Index: src/native/common/org_lwjgl_BufferUtils.c
> +--- src/native/common/org_lwjgl_BufferUtils.c.orig
> ++++ src/native/common/org_lwjgl_BufferUtils.c
> +@@ -1,4 +1,3 @@
> +-#include "org_lwjgl_BufferUtils.h"
> + #include "common_tools.h"
> + 
> + JNIEXPORT void JNICALL
> Java_org_lwjgl_BufferUtils_zeroBuffer0(JNIEnv *env, jclass clazz,
> jobject buffer, jlong offset, jlong size) { Index:
> patches/patch-src_native_common_org_lwjgl_opencl_CallbackUtil_c
> ===================================================================
> RCS file:
> patches/patch-src_native_common_org_lwjgl_opencl_CallbackUtil_c diff
> -N patches/patch-src_native_common_org_lwjgl_opencl_CallbackUtil_c
> --- /dev/null	1 Jan 1970 00:00:00 -0000 +++
> patches/patch-src_native_common_org_lwjgl_opencl_CallbackUtil_c
> 18 Dec 2025 22:39:39 -0000 @@ -0,0 +1,13 @@ +Build with jdk-11 +
> +Index: src/native/common/org_lwjgl_opencl_CallbackUtil.c +---
> src/native/common/org_lwjgl_opencl_CallbackUtil.c.orig ++++
> src/native/common/org_lwjgl_opencl_CallbackUtil.c +@@ -39,7 +39,6 @@
> + #include <jni.h>
> + #include "common_tools.h"
> + #include "extcl.h"
> +-#include "org_lwjgl_opencl_CallbackUtil.h"
> + 
> + static jmethodID contextCallbackJ;
> + static jmethodID memObjectDestructorCallbackJ;
> Index:
> patches/patch-src_native_linux_opengl_org_lwjgl_opengl_Pbuffer_c
> ===================================================================
> RCS file:
> patches/patch-src_native_linux_opengl_org_lwjgl_opengl_Pbuffer_c diff
> -N patches/patch-src_native_linux_opengl_org_lwjgl_opengl_Pbuffer_c
> --- /dev/null	1 Jan 1970 00:00:00 -0000 +++
> patches/patch-src_native_linux_opengl_org_lwjgl_opengl_Pbuffer_c
> 18 Dec 2025 22:39:39 -0000 @@ -0,0 +1,13 @@ +Build with jdk-11 +
> +Index: src/native/linux/opengl/org_lwjgl_opengl_Pbuffer.c
> +--- src/native/linux/opengl/org_lwjgl_opengl_Pbuffer.c.orig
> ++++ src/native/linux/opengl/org_lwjgl_opengl_Pbuffer.c
> +@@ -42,6 +42,7 @@
> + #include <stdlib.h>
> + #include "org_lwjgl_opengl_LinuxPbufferPeerInfo.h"
> + #include "org_lwjgl_opengl_Pbuffer.h"
> ++#include "org_lwjgl_opengl_LinuxDisplay.h"
> + #include "extgl.h"
> + #include "context.h"
> + #include "common_tools.h"