LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.


Maven Central API Javadoc License

Backers on Open Collective Sponsors on Open Collective Size Build Status

LWJGL - Lightweight Java Game Library 3

LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL/Vulkan), audio (OpenAL) and parallel computing (OpenCL) applications. This access is direct and high-performance, yet also wrapped in a type-safe and user-friendly layer, appropriate for the Java ecosystem.

LWJGL is an enabling technology and provides low-level access. It is not a framework and does not provide higher-level utilities than what the native libraries expose. As such, novice programmers are encouraged to try one of the frameworks or game engines that make use of LWJGL, before working directly with the library.

LWJGL is open source software and freely available at no charge.

Useful links:


If you'd like to contribute, see doc/README for a quick overview of the project structure, installation instructions and configuration options.

Getting Started

As of version 3.1.0, LWJGL is distributed as a set of modules. Only the core module is required and all bindings are optional (but some bindings depend on other bindings). The easiest way to download LWJGL is to use the build configurator on the website.

The build configurator generates Maven & Gradle declarations that can be added to existing projects. This is the easiest way to use LWJGL while developing.

LWJGL can also be downloaded as a simple set of JAR files. Each module consists of the following files:

  • lwjgl-<module>.jar
  • lwjgl-<module>-sources.jar
  • lwjgl-<module>-javadoc.jar
  • lwjgl-<module>-natives-<platform>.jar (for some bindings)

To compile and run an LWJGL application, the base and natives JAR files of the core module and each binding used should be added to the classpath. LWJGL extracts the natives to a temporary folder and loads them automatically, so no further configuration is necessary. If more customization is required (e.g. when creating a platform-specific installer) the natives may be extracted manually and loaded via java.library.path. See the Configuration class for more options.

LWJGL 3 requires Java 8 or later to build and run and currently supports the following platforms/architectures:

  • Linux x64
  • Linux arm64 (ARMv8/AArch64)
  • Linux arm32 (ARMv7/armhf)
  • macOS x64
  • Windows x64
  • Windows x86

Example code:

For migrating LWJGL 2 code to LWJGL 3, see the Migration Guide.


Most common issues faced by LWJGL users are trivially addressed with the following:

LWJGLX/debug is a Java Agent that will automatically detect a lot of these issues. It can also generate a trace log that's useful when reporting issues to LWJGL.

When asking for help or when you suspect a bug in LWJGL, preparing an MVCE (Minimal, Complete, and Verifiable example) that reproduces the issue will improve the chances of a quick and useful response.

List of Supported Bindings

Khronos APIs

Library Description
EGL An interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.
OpenCL An open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms.
OpenGL The most widely adopted 2D and 3D graphics API in the industry, bringing thousands of applications to a wide variety of computer platforms.
OpenGL ES A royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles.
Vulkan A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

Display and Input

Library Description
GLFW Create multiple windows, handle user input (keyboard, mouse, gaming peripherals) and manage contexts. Also features multi-monitor support, clipboard access, file drag-n-drop, and much more.
JAWT The AWT native interface.
nfd A tiny, neat C library that portably invokes native file open and save dialogs.
tinyfd A native dialog library.


Library Description
OpenAL A cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.
OpenAL Soft An LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.
Opus A totally open, royalty-free, highly versatile audio codec.


Library Description
Assimp A portable Open Source library to import various well-known 3D model formats in a uniform manner.
bgfx Cross-platform, graphics API agnostic, “Bring Your Own Engine/Framework” style rendering library, licensed under permissive BSD-2 clause open source license.
DriftFX A library that allows you to render any OpenGL content directly into JavaFX nodes.
LibOVR The API of the Oculus SDK.
meshoptimizer A mesh optimization library that makes meshes smaller and faster to render.
NanoSVG A simple stupid SVG parser.
NanoVG A small antialiased vector graphics rendering library for OpenGL.
Nuklear A minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain.
par_shapes Generate parametric surfaces and other simple shapes.
par_streamlines Triangulate wide lines and curves.
OpenVR An API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting.
Shaderc A collection of libraries for shader compilation.
SPIRV-Cross A library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.
Tiny OpenEXR A small, single header-only library to load and save OpenEXR(.exr) images.
Tootle (AMD) A 3D triangle mesh optimization library that improves on existing mesh preprocessing techniques.
Vulkan Memory Allocator An easy to integrate Vulkan memory allocation library.
Yoga An open-source, cross-platform layout library that implements Flexbox.

stb - single-file public domain libraries for C/C++

Library Description
stb_easy_font Quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc.
stb_image Image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
stb_image_resize Resize images larger/smaller with good quality.
stb_image_write Image writing to disk: PNG, TGA, BMP
stb_perlin Revised Perlin noise (3D input, 1D output).
stb_rect_pack Simple 2D rectangle packer with decent quality.
stb_truetype Parse, decode, and rasterize characters from truetype fonts.
stb_vorbis Decode ogg vorbis files from file/memory to float/16-bit signed output.


Library Description
Bullet Physics Real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
CUDA A parallel computing platform and programming model developed by NVIDIA for general computing on GPUs.
jemalloc A general purpose malloc implementation that emphasizes fragmentation avoidance and scalable concurrency support.
libffi A portable, high level programming interface to various calling conventions.
libdivide A library that replaces expensive integer divides with comparatively cheap multiplication and bitshifts.
LLVM A collection of modular and reusable compiler and toolchain technologies.
LMDB An extraordinarily fast, memory-efficient database. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.
LZ4 A lossless data compression algorithm that is focused on compression and decompression speed.
Meow hash An extremely fast non-cryptographic hash.
ODBC A C programming language interface that makes it possible for applications to access data from a variety of database management systems (DBMSs).
Remotery A realtime CPU/GPU profiler hosted in a single C file with a viewer that runs in a web browser.
rpmalloc A public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C.
xxHash An Extremely fast Hash algorithm, running at RAM speed limits.
Zstandard (zstd) A fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.

Use of a binding is subject to the terms of the corresponding license.

Supporting this project

LWJGL exists thanks to all the people who contribute and back/sponsor our collective.

Our gold sponsors:

  • Bullet C API first thoughts

    Bullet C API first thoughts

    Hi! This is more of an opinion but now that I've been trying to port my stuff to Bullet's C API and worked a bit with it I'm having doubts about it.

    The API itself is very awkward to use. I didn't think it'd be a problem but all the indirect handles and indices you have to keep around to operate on things are very annoying.

    The API refuses to work with structs directly, since it's thought as a client-server architecture, what you have on the "client side" are usually int64 handles or int32 indices referring to some item on the server side, and a set of many functions that each mutate/read a field of the logical structure on the server side, one by one.

    The API is robotics and Python oriented, so I am guessing it only exposes what is useful and practical for both of them.

    This means that something really useful in games like collision filters isn't there by default, you have to enable it through a plugin. Moreover, something like a kinematic body (like say, a player) isn't there at all, so instead of setting the velocity of the player you have to move it around with instantaneous forces (unless there is actually a way and I'm an idiot), using forces this way is very hard to fine tune player movement or anything really.

    This also means there is a lot of fluff there that isn't relevant for games at all. There are a lot of core functions there purely dedicated to work with the included visualizer of the physics simulation. Until very recently the only way to load an arbitrary mesh body was through a robotics focused file format, instead of you know, an array of vertices.

    What I am trying to say is that the client-server layer between the user and Bullet isn't helping at all. It's just bloat a game doesn't needs.

    Now the thing is that for 3D there aren't many physics libraries to use out there. And out of them all, Bullet is probably the most documented and widely used, although that's the case for the plain C++ library, not the C API, I doubt there is any game made with it.

    It doesn't means there aren't any alternatives:

    Newton Dynamics has a C API, seems pretty clean and it has been used on a few relevant games(Mount & Blade, Frictional Games stuff, ie SOMA and Amnesia). Even less examples although it has a demo project with a bunch of things. It's zlib licenced.

    Open Dynamics Engine has been used on a bunch of games (Techland stuff, ie Call of Juarez, Dead Island) and I've read it has a C API... I just don't understand enough of the repo to know where to look for it. Looking for examples I get results from 2006. It's BSD or LGPL licenced. There is a Java port of it but it uses 64 bit floats everywhere and the first issue you see in the repo is an unresolved high garbage creation complaint from 2015, both of them bad signs.

    I think I like more Newton Dynamics since it looks more like what you'd expect of a "proper" C library. Like a single header with most of the structs and function definitions for starters. I don't really know how hard it'd be to have bindings for it too so people (like me!) can try it out.

    In any case, for now I'll keep trying to work with Bullet's C API and probably nag the author about some missing functionality as/if I find it, since as I've said in another occasion, with it I can get rid of libGDX as a dependency in my project which is a big plus for me.

    Type: Maintenance Status: Abandoned 
    opened by dustContributor 67
  • OSGi native libraries take 3

    OSGi native libraries take 3

    Hello again!

    It seems that I may have spoken too soon at the end of #216: What I had was actually working by accident due to a quirk of the OS I was using at the time.

    Currently, LWJGL still can't be made to work on OSGi due to the way it looks up native libraries. I'll try to walk through what happens.

    Firstly, I'm working from the assumption that I'll be repackaging the existing LWJGL jar files such that they become OSGi bundles, and therefore native libraries relative to each bundle will be embedded into each bundle. So, for example, the libjemalloc.so library will be inserted into an lwjgl-jemalloc bundle. Because OSGi (in addition to languages like Ceylon, and systems such as JBoss modules) uses a "peer to peer" classloading model, each bundle is loaded in its own classloader. This means that code can't pick an essentially arbitrary classloader and try to load a library from that classloader as if it were a resource; the file will most likely not be accessible via that specific classloader.

    With that in mind, let's follow the execution path of Library.loadSystem("lwjgl")...

    	public static void loadSystem(String name) throws UnsatisfiedLinkError {
    		apiLog("Loading library (system): " + name);
    		if ( Paths.get(name).isAbsolute() ) {

    The isAbsolute path won't be taken, because "lwjgl" isn't absolute. Therefore...

                    String libName = Platform.get().mapLibraryName(name);
    		URL libURL = Library.class.getResource("/" + libName);
    		if ( libURL == null ) {
    			// Try org.lwjgl.librarypath
    			if ( loadSystem(libName, Configuration.LIBRARY_PATH) )
    		} else {

    The returned libName will be liblwjgl.so on this platform. Due to the peer-to-peer classloading described above, libURL will be null, so we jump to another overload of loadSystem...

    private static boolean loadSystem(String libName, Configuration<String> property) {
    	String paths = property.get();
    	return paths != null && loadSystem(libName, property.getProperty(), paths);

    Now this is conditional based on the current configuration, but in an OSGi context, I would expect the property to be unset, therefore we return false here. As a result, we end up...

    		// Then java.library.path
    		String paths = System.getProperty(JAVA_LIBRARY_PATH);
    		if ( paths != null ) {
    			try {
    				Path libFile = findLibrary(paths, libName);
    				if ( libFile != null ) {
    					apiLog(String.format("\tLoaded from %s: %s", JAVA_LIBRARY_PATH, libFile));
    			} catch (Throwable t) {
    				apiLog(String.format("\t%s not found in %s", libName, JAVA_LIBRARY_PATH));
    		throw new UnsatisfiedLinkError("Failed to locate library: " + libName);

    Now, again, in an OSGi context, we'd expect JAVA_LIBRARY_PATH not to be set. This means that the call to System.loadLibrary won't happen and an exception is raised. We can set JAVA_LIBRARY_PATH to some nonsense value such as /nonexistent, but this is pretty damn ugly and I've no idea if it would even work properly across platforms.

    The situation is slightly worse for libraries loaded via loadNative because although most of the above logic is the same, the method doesn't fall back to System.loadLibrary and therefore the library will be loaded from the host's filesystem, even though we've bundled a guaranteed-compatible native library for libraries such as jemalloc and glfw!

    I think I'd like to restate my position that the cleanest way to deal with all of this is to provide a property that can be enabled that simply bypasses all of the above and uses System.loadLibrary directly. I appreciate that you've had support problems with this in the past as it's not really traceable, but it's currently required to work in systems like OSGi and languages like Ceylon and is reliable in the context of those systems (because they have standardized, well-understood ways of including native code).

    Type: Bug 
    opened by io7m 41
  • Modular design for build artifacts

    Modular design for build artifacts

    LWJGL currently has several bindings, with more coming in the future. Many users will only use a subset of those, but they all come in a single, monolithic archive. We should consider updating the build process to create separate archives for each binding, that can be downloaded and deployed independently. This should be in addition to the fat archive that will still be available, for convenience.

    We may only do this for large APIs, especially those that come with their own shared libraries (currently jemalloc, GLFW, OpenAL and soon hwloc). The new design should ensure that loading the shared libraries is as easy/simple as before.

    Type: Enhancement 
    opened by Spasi 37
  • Rendering to multiple windows in a single thread crashes Application

    Rendering to multiple windows in a single thread crashes Application

    I copied "lwjgl3/modules/core/src/test/java/org/lwjgl/demo/glfw/MultipleWindows.java" and added rendering code that uses VBOs and VAOs. The first Window renders well but the seconds window render call crashes the application. I debugged the app step by step and found the crashing line. The chrashing line: GL11.glDrawElements(GL11.GL_TRIANGLES, model.getIndexCount(), GL11.GL_UNSIGNED_INT, 0);

    Is this a bug? If not, how can I fix this?

    Type: Question 
    opened by Klotzi111 31
  • Add version number to library names

    Add version number to library names

    The main library is always called lwjgl.jar, and the native library is always called lwjgl.dll (on Win64, as an example).

    The name should be extended with the version number of the library. For example, it should be called lwjgl-3.1.1.jar and lwjgl-3.1.1.dll to make it possible to disambiguate between different versions, and make sure that the JAR and the native library match.

    Type: Question 
    opened by javagl 28
  • Submodules can no longer find Native Bindings

    Submodules can no longer find Native Bindings


    • LWJGL version: 3.3.0
    • LWJGL build #: Shapshot-9?
    • Java version: 1.8
    • IDE: Eclipse Neon (Using Gradle)
    • Platform: Windows
    • Modules: Core/GL/AL/STB/Jemalloc


    I very recently split my engine apart from game + engine in 1 project to have 2 projects. And link the engine via a "GitModule". Turns out Version 3.3.0 does not like that and can not find Natives anymore. The game starts up normal, but triggers breakpoints that LWJGL 3 couldn't find its natives and i have to manually let it skip these breakpoints to finish loading the setup.

    The code that triggers this is:


    Which is exactly like this: https://github.com/LWJGL/lwjgl3-demos/blob/main/src/org/lwjgl/demo/opengl/instancing/GrassDemo.java#L94

    After testing around i found out that it is only 3.3.0 that has these issues the moment i switch back to 3.2.4 everything works without issues. Also trying only the submodule or the main project with 3.3.0 causes the same behavior.

    Not sure what causes this though.

    Type: Question 
    opened by Speiger 27
  • New bindings to OpenXR

    New bindings to OpenXR

    Just as a foreword this is my first time creating a pull request this large so apologies in advance if there are any glaring issues that I missed.

    OpenXR is a new cross platform and generic XR api that can be treated as the replacement for OpenVR

    Using a tweaked version of vulkangen (which I will create a pull request for after cleaning it up) I have generated functional bindings to the OpenXR api. Currently the templates lack documentation since I wanted to get a working product ASAP. I have also created a functional demo which requires an OpenXR runtime and a stereo headset.

    Linux / MacOS support is very limited as I don't have the capacity to run either of those at the moment, but hopefully it should be as simple as adding the needed natives and a few lines of code to the sample.

    If you want to get a better grasp of the api this is a well documented demo of a working OpenXR app in c++


    Although the OpenXR runtime is a shared library similar to vulkan-1.dll the intended way to use the library is using the OpenXR-Loader. In the case of LWJGL it should be bundled into a jar file similar to glfw.dll. The OpenXR-Loader takes care of locating and loading the selected runtime, then provides all of the needed functions such as xrGetInstanceProcAddr. Currently the binaries have to be provided manually at bin/libs/native/windows/x64/org/lwjgl/openxr/openxr_loader.dll but I expect that they can be treated the same as the glfw binaries. That is having them compiled remotely on a server and then downloaded when needed.

    Precompiled OpenXR-Loader binaries for windows can be downloaded from here And the OpenXR-Loader source and build scripts can be found here


    If you want to use the bindings then you will need to have the OpenXR runtime installed. Oculus devices should come with one preinstalled otherwise this describes how to install them with Steam VR

    Type: Enhancement 
    opened by Sorenon 26
  • Provide support for ARM64/M1 devices (Windows and macOS)

    Provide support for ARM64/M1 devices (Windows and macOS)

    Hi all,

    I work on the Microsoft Java Engineering Group, and I'd like to openly discuss how we can help port LWJGL to Windows on ARM64 devices (e.g. Surface X) as well as macOS on Apple Silicon M1.

    Best, Bruno Borges

    Type: Enhancement 
    opened by brunoborges 25
  • Java 9 got released!

    Java 9 got released!

    So, how well LWJGL 3 plays with it and jigzaw? I remember @Spasi mentioning something about moving to VarHandles instead of relying on sun.misc.Unsafe. What would this entail?

    Type: Enhancement Status: Completed 
    opened by dustContributor 24
  • X Error of failed request: RenderBadPicture (invalid Picture parameter)

    X Error of failed request: RenderBadPicture (invalid Picture parameter)

    I'm currently facing a very weird issue: In one of my projects I'm getting the following error during initialization. My initialization code is pretty much identical to the Pong example code, with added logging statements to see the steps of the initialization:

    [LWJGL] Version: 3.0.0b SNAPSHOT
    [LWJGL]      OS: Linux v3.13.0-79-generic
    [LWJGL]     JRE: 1.8.0_74 amd64
    [LWJGL]     JVM: Java HotSpot(TM) 64-Bit Server VM v25.74-b02 by Oracle Corporation
    [LWJGL] Loaded library from java.library.path: lwjgl
    [LWJGL] MemoryUtil accessor: MemoryAccessorUnsafe
    [LWJGL] Loaded native library: lib/native/libjemalloc.so
    [LWJGL] MemoryUtil allocator: JEmallocAllocator
     *** glfwInit
    [LWJGL] Loaded native library: lib/native/libglfw.so
         glfwInit [done]
     *** setting glfwSetErrorCallback
         setting glfwSetErrorCallback [done]
     *** setting glfwWindowHint
         setting glfwWindowHint [done]
     *** glfwCreateWindow
    X Error of failed request:  RenderBadPicture (invalid Picture parameter)
      Major opcode of failed request:  139 (RENDER)
      Minor opcode of failed request:  6 (RenderSetPictureClipRectangles)
      Picture id in failed request: 0x540005e
      Serial number of failed request:  3285
      Current serial number in output stream:  3287
    java.lang.RuntimeException: Nonzero exit code returned from runner: 1
        at scala.sys.package$.error(package.scala:27)

    The reason for the vague statement "during initialization" is that the error seems to be asynchronous, and it is not always happening in glfwCreateWindow. For instance, this is output of another run, where I somehow made it past the glfwCreateWindow:

    < ... as before ... >
     *** setting glfwSetErrorCallback
         setting glfwSetErrorCallback [done]
     *** setting glfwWindowHint
         setting glfwWindowHint [done]
     *** glfwCreateWindow
    X Error of failed request:  RenderBadPicture (invalid Picture parameter)
      Major opcode of failed request:  139 (RENDER)
      Minor opcode of failed request:  6 (RenderSetPictureClipRectangles)
      Picture id in failed request: 0x560005d
      Serial number of failed request:  3523
      Current serial number in output stream:  3525
         glfwCreateWindow [done]
     *** glfwMakeContextCurrent
    pure virtual method called
    terminate called without an active exception
    java.lang.RuntimeException: Nonzero exit code returned from runner: 134

    Note that the error in this case also comes with an additional pure virtual method called, which is not the case when it happens in other places.

    Another example: If I don't call glfwInit right at the start of the main function, the error always seems to be triggered by glfwInit itself, i.e., I do not get to the point of setting the error callback etc. I was actually very surprised to see that the behavior changes depending on whether I place glfwInit before or after the other initialization code, because this other code has nothing to do with OpenGL / native libraries and just initializes a few Java/Scala data structures.

    I do get this error with both the latest stable build (build #3.0.0b build 64) and the latest nightly (build #3.0.0 build 41). My system is an Ubuntu 14.04, 64bit, Java 1.8.0_74, Nvidia Geforce GTX 670, Nvidia driver version 352.79.

    What makes this issue even more annoying is the fact that it seems to be difficult to reproduce: So far, I get this error only in my main project. I was trying to come up with a minimal example to reproduce it, but in the minimal example the exact same code works. I'm currently trying to add some complexity from the big project to the minimal example to see what may trigger the problem. But even after adding all dependencies and using exactly the same JVM options, I could not reproduce the error so far. I'm now looking into other potential side effects...

    I should add: I have just ported the big project from LWJGL 2.9.1 to 3.X for the first time. With 2.9.1 everything was working fine.

    Any hints what could possibly go wrong would be highly appreciated.

    3rd party 
    opened by bluenote10 24
  • Vulkan support.

    Vulkan support.

    So Khronos has made an official announcement for Vulkan https://www.khronos.org/vulkan

    Khronos says the API will be available later this year (maybe for SIGGRAPH? Hopefully sooner). Apparently its a fairly compact API, although I'm not sure how the shader compiling process will work (part of the API? external tool? vendor provided? another library?) nor how LWJGL would fit in that.

    I, for one, welcome our new low level API overlord with a big hug :smile:

    Type: Enhancement 
    opened by dustContributor 24
  • Games made with LWJGL3: Performance tanks when being recorded

    Games made with LWJGL3: Performance tanks when being recorded




    Windows x64


    Zulu OpenJDK 17.0.4


    LWJGL core, GLFW, OpenAL, OpenGL, STB, JOML

    Bug description

    When recording footage of our games at resolutions higher than 1080p, performance drops dramatically. For example, our primary project, Robot Farm, goes from 230 FPS to 120 FPS on a basic scene where there's not much going on. In scenes where it would normally be 100 FPS, it can dip to 60 FPS or lower. It appears to only happen on performance intensive software that use OpenGL extensively.

    This has also been tested on our older games; We Shall Wake from 2015 on LWJGL2 dropped dramatically when being recorded. As well as "Battledroid" by Puppygames, dipping far below its target of 60 FPS when being recorded at resolutions higher than 1080p. I'm not quite certain this is an LWJGL bug or something else, since as far as I know, LWJGL2 does not share any code with LWJGL3.

    Regardless, I felt that it would be appropriate to report, since this could limit the visibility of games made with LWJGL in the future due to the fact that the primary way games are shared/spread in this time are via YouTube/Twitch streaming. If this issue extends past LWJGL into something else, preventative measures could be potentially taken to remedy this.

    Builds of all of our games can be supplied for testing. Our build of We Shall Wake running on LWJGL2 can be found publicly here: https://www.nokoriware.com/weshallwake

    Recording programs tested:

    • Fraps
    • Bandicam

    Stacktrace or crash log output

    No response

    Type: Question 
    opened by SkyAphid 4
  • Maybe binding inprogext.h for OpenAL-soft too?

    Maybe binding inprogext.h for OpenAL-soft too?


    It would be great if https://github.com/kcat/openal-soft/blob/master/alc/inprogext.h could be binded to (at least I couldn't find the bindings). Even if they are marked as "in progress extensions", from my testing some are working and are more like "experimental". But I would also understand if they don't get added for the time they are considered "experimental".

    Type: Enhancement 
    opened by Berstanio 0
  • OpenAL not Loading on Linux

    OpenAL not Loading on Linux


    3.3.2 (nightly)


    Linux x64


    openjdk-18 Oracle



    Bug description

    OpenAL cant loading if I try to open a New Device


    String defaultDeviceName = alcGetString(0, ALC_DEFAULT_DEVICE_SPECIFIER);
                long j = ALC10.alcOpenDevice(defaultDeviceName);

    Stacktrace or crash log output

    ALSA lib ../../pulse/pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused
    opened by Snowiiii 2
  • GameNetworkingSockets bindings

    GameNetworkingSockets bindings



    Project page


    Source repository



    Linux x64, Windows x64, Windows x86


    GameNetworkingSockets seems like all-in-one solution for making multiplayer games when TCP networking is not good enough:

    Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.

    Type: Enhancement 
    opened by VinTarZ 1
  • Java Crash on Windows 10 with GeForce GTX 1050

    Java Crash on Windows 10 with GeForce GTX 1050




    Windows x64





    Bug description

    Starting the CLGLInteropDemo with Mandelbrot from the samples, getting a Java crash. Java call is as following:

    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  org.lwjgl.system.JNI.callPJPP(JJIIIJJ)J+0
    j  org.lwjgl.opencl.CL10GL.nclCreateFromGLTexture2D(JJIIIJ)J+37
    j  org.lwjgl.opencl.CL10GL.clCreateFromGLTexture2D(JJIIILjava/nio/IntBuffer;)J+25
    j  com.anrisoftware.anlopencl.jme.opencl.Mandelbrot.initGLObjects()V+113
    j  com.anrisoftware.anlopencl.jme.opencl.Mandelbrot.<init>(JLorg/lwjgl/opencl/CLCapabilities;Lcom/anrisoftware/anlopencl/jme/opencl/CLGLInteropDemo$GLFWWindow;IZI)V+1342
    j  com.anrisoftware.anlopencl.jme.opencl.CLGLInteropDemo$1.run()V+29
    v  ~StubRoutines::call_stub

    Works perfectly fine in Linux.

    Here is some info from the memory dump:

    User Mini Dump File with Full Memory: Only application data is available
    Symbol search path is: srv*
    Executable search path is: 
    Windows 10 Version 19044 MP (4 procs) Free x64
    Product: WinNt, suite: SingleUserTS Personal
    Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
    Machine Name:
    Debug session time: Tue Jun 21 14:58:00.000 2022 (UTC + 2:00)
    System Uptime: 0 days 3:03:41.099
    Process Uptime: 0 days 0:00:03.000
    Loading unloaded module list
    This dump file has an exception of interest stored in it.
    The stored exception information can be accessed via .ecxr.
    (18c8.1f08): Access violation - code c0000005 (first/second chance not available)
    For analysis of this file, run !analyze -v
    00007ffd`5f4eeb74 c3              ret
    0:032> !analyze -v
    *                                                                             *
    *                        Exception Analysis                                   *
    *                                                                             *
        Key  : AV.Fault
        Value: Execute
        Key  : Analysis.CPU.mSec
        Value: 1452
        Key  : Analysis.DebugAnalysisManager
        Value: Create
        Key  : Analysis.Elapsed.mSec
        Value: 258471
        Key  : Analysis.Init.CPU.mSec
        Value: 1093
        Key  : Analysis.Init.Elapsed.mSec
        Value: 232661
        Key  : Analysis.Memory.CommitPeak.Mb
        Value: 97
        Key  : Timeline.OS.Boot.DeltaSec
        Value: 11021
        Key  : Timeline.Process.Start.DeltaSec
        Value: 3
        Key  : WER.OS.Branch
        Value: vb_release
        Key  : WER.OS.Timestamp
        Value: 2019-12-06T14:06:00Z
        Key  : WER.OS.Version
        Value: 10.0.19041.1
        Key  : WER.Process.Version
    FILE_IN_CAB:  hs_err_pid6344.mdmp
    CONTEXT:  (.ecxr)
    rax=0000000000000000 rbx=0000000000000001 rcx=0000000033011dd3
    rdx=0000000000020000 rsi=0000000000000000 rdi=0000000000000de1
    rip=0000000000000000 rsp=0000009d5e7fe298 rbp=0000009d5e7fe3a0
     r8=0000000000010001  r9=0000009d5e7fe350 r10=000001b2d68cd5f2
    r11=0000000710e1fde8 r12=000001b2f20a5150 r13=000001b2f4f15b70
    r14=000001b2f511ab30 r15=000001b2f28138b0
    iopl=0         nv up ei ng nz na po cy
    cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010287
    00000000`00000000 ??              ???
    Resetting default scope
    EXCEPTION_RECORD:  (.exr -1)
    ExceptionAddress: 0000000000000000
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000008
       Parameter[1]: 0000000000000000
    Attempt to execute non-executable address 0000000000000000
    PROCESS_NAME:  javaw.exe
    ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.
    EXCEPTION_CODE_STR:  c0000005
    EXCEPTION_PARAMETER1:  0000000000000008
    EXCEPTION_PARAMETER2:  0000000000000000
    0000009d`5e7fe298 00007ffc`e9f1ceec     : 000001b2`00000000 0000009d`0000002b 0000002b`0000002b 0000009d`5e7fe3b0 : 0x0
    0000009d`5e7fe2a0 00007ffc`e9eb7f54     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : igdrcl64!clReleaseGlSharedEventINTEL+0x175c
    0000009d`5e7feef0 00007ffc`fc752092     : 00000000`0000042c 000001b2`d68cd48e 000001b2`f1ca97c0 000001b2`f1ca97c0 : igdrcl64!GTPin_Init+0x11af74
    0000009d`5e7ff090 000001b2`d68cd621     : 000001b2`f1ca97c0 0000009d`5e7ff198 00000000`00000110 00000000`0000042c : OpenCL!clCreateFromGLTexture2D+0x72
    0000009d`5e7ff0d0 000001b2`f1ca97c0     : 0000009d`5e7ff198 00000000`00000110 00000000`0000042c 000001b2`00000001 : 0x000001b2`d68cd621
    0000009d`5e7ff0d8 0000009d`5e7ff198     : 00000000`00000110 00000000`0000042c 000001b2`00000001 000001b2`f511ab30 : 0x000001b2`f1ca97c0
    0000009d`5e7ff0e0 00000000`00000110     : 00000000`0000042c 000001b2`00000001 000001b2`f511ab30 000001b2`00000001 : 0x0000009d`5e7ff198
    0000009d`5e7ff0e8 00000000`0000042c     : 000001b2`00000001 000001b2`f511ab30 000001b2`00000001 000001b2`f511ab30 : 0x110
    0000009d`5e7ff0f0 000001b2`00000001     : 000001b2`f511ab30 000001b2`00000001 000001b2`f511ab30 00007ffc`fc752020 : 0x42c
    0000009d`5e7ff0f8 000001b2`f511ab30     : 000001b2`00000001 000001b2`f511ab30 00007ffc`fc752020 000001b2`d68cd33c : 0x000001b2`00000001
    0000009d`5e7ff100 000001b2`00000001     : 000001b2`f511ab30 00007ffc`fc752020 000001b2`d68cd33c 000001b2`f1ca97c0 : 0x000001b2`f511ab30
    0000009d`5e7ff108 000001b2`f511ab30     : 00007ffc`fc752020 000001b2`d68cd33c 000001b2`f1ca97c0 00000000`00000110 : 0x000001b2`00000001
    0000009d`5e7ff110 00007ffc`fc75201f     : 000001b2`d68cd33c 000001b2`f1ca97c0 00000000`00000110 000001b2`f1dec890 : 0x000001b2`f511ab30
    0000009d`5e7ff118 000001b2`d68cd33c     : 000001b2`f1ca97c0 00000000`00000110 000001b2`f1dec890 0000009d`5e7ff180 : OpenCL!clCreateFromGLTexture+0x8f
    0000009d`5e7ff120 000001b2`f1ca97c0     : 00000000`00000110 000001b2`f1dec890 0000009d`5e7ff180 00000000`00000000 : 0x000001b2`d68cd33c
    0000009d`5e7ff128 00000000`00000110     : 000001b2`f1dec890 0000009d`5e7ff180 00000000`00000000 000001b2`d68cd2f6 : 0x000001b2`f1ca97c0
    0000009d`5e7ff130 000001b2`f1dec890     : 0000009d`5e7ff180 00000000`00000000 000001b2`d68cd2f6 0000009d`5e7ff150 : 0x110
    0000009d`5e7ff138 0000009d`5e7ff180     : 00000000`00000000 000001b2`d68cd2f6 0000009d`5e7ff150 000001b2`f1ca97c0 : 0x000001b2`f1dec890
    0000009d`5e7ff140 00000000`00000000     : 000001b2`d68cd2f6 0000009d`5e7ff150 000001b2`f1ca97c0 0000009d`5e7ff208 : 0x0000009d`5e7ff180
    SYMBOL_NAME:  igdrcl64+175c
    MODULE_NAME: igdrcl64
    IMAGE_NAME:  igdrcl64.dll
    STACK_COMMAND:  ~32s; .ecxr ; kb
    FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_c0000005_igdrcl64.dll!Unknown
    OS_VERSION:  10.0.19041.1
    BUILDLAB_STR:  vb_release
    OSNAME:  Windows 10
    FAILURE_ID_HASH:  {f16cccf1-e397-e190-8e38-ba908622a1bb}
    Followup:     MachineOwner

    Stacktrace or crash log output

    ---------------  S U M M A R Y ------------
    Command Line: -Dfile.encoding=UTF-8 -XX:+ShowCodeDetailsInExceptionMessages com.anrisoftware.anlopencl.jme.opencl.CLGLInteropDemo
    Host: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz, 4 cores, 15G,  Windows 10 , 64 bit Build 19041 (10.0.19041.1741)
    Time: Tue Jun 21 14:52:53 2022 W. Europe Daylight Time elapsed time: 2.123378 seconds (0d 0h 0m 2s)
    ---------------  T H R E A D  ---------------
    Current thread (0x000001ac824deb80):  JavaThread "INTEL" [_thread_in_native, id=4500, stack(0x0000009bbe600000,0x0000009bbe700000)]
    Stack: [0x0000009bbe600000,0x0000009bbe700000],  sp=0x0000009bbe6fe168,  free space=1016k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  org.lwjgl.system.JNI.callPJPP(JJIIIJJ)J+0
    j  org.lwjgl.opencl.CL10GL.nclCreateFromGLTexture2D(JJIIIJ)J+37
    j  org.lwjgl.opencl.CL10GL.clCreateFromGLTexture2D(JJIIILjava/nio/IntBuffer;)J+25
    j  com.anrisoftware.anlopencl.jme.opencl.Mandelbrot.initGLObjects()V+113
    j  com.anrisoftware.anlopencl.jme.opencl.Mandelbrot.<init>(JLorg/lwjgl/opencl/CLCapabilities;Lcom/anrisoftware/anlopencl/jme/opencl/CLGLInteropDemo$GLFWWindow;IZI)V+1342
    j  com.anrisoftware.anlopencl.jme.opencl.CLGLInteropDemo$1.run()V+29
    v  ~StubRoutines::call_stub
    siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), data execution prevention violation at address 0x0000000000000000
    ---------------  S Y S T E M  ---------------
     Windows 10 , 64 bit Build 19041 (10.0.19041.1741)
    OS uptime: 0 days 2:58 hours
    CPU: total 4 (initial active 4) (2 cores per cpu, 2 threads per core) family 6 model 142 stepping 9 microcode 0xb4, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, fma, vzeroupper, clflush, clflushopt
    Memory: 4k page, system-wide physical 16270M (3841M free)
    TotalPageFile size 37774M (AvailPageFile size 20478M)
    current process WorkingSet (physical memory assigned to process): 172M, peak: 182M
    current process commit charge ("private bytes"): 467M, peak: 478M
    vm_info: Java HotSpot(TM) 64-Bit Server VM ( for windows-amd64 JRE (, built on Apr 25 2022 22:04:21 by "mach5one" with MS VC++ 16.8 / 16.9 (VS2019)
    opened by devent 1
  • Crash on Mac OS X when in Fullscreen Mode and Switching to Other Window

    Crash on Mac OS X when in Fullscreen Mode and Switching to Other Window




    macOS x64


    OpenJDK 1.8.0_201


    LWJGL with AWT

    Bug description

    This bug is only occurs on Mac OS X: when the LWJGL window is in fullscreen mode and one tries to switch to another window (e.g. via keyboard), the application crashes with the error below.

    Stacktrace or crash log output

    # A fatal error has been detected by the Java Runtime Environment:
    #  SIGILL (0x4) at pc=0x00007ff80904eabd, pid=58377, tid=0x0000000000000103
    # JRE version: Java(TM) SE Runtime Environment (8.0_201-b09) (build 1.8.0_201-b09)
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.201-b09 mixed mode bsd-amd64 compressed oops)
    # Problematic frame:
    # C  [libdispatch.dylib+0x10abd]  __DISPATCH_WAIT_FOR_QUEUE__+0x199
    # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    # If you would like to submit a bug report, please visit:
    #   http://bugreport.java.com/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    ---------------  T H R E A D  ---------------
    Current thread (0x00007fa41d1e0000):  JavaThread "AppKit Thread" daemon [_thread_in_native, id=259, stack(0x00007ff7b72e6000,0x00007ff7b7ae6000)]
    siginfo: si_signo: 4 (SIGILL), si_code: 1 (ILL_ILLOPC), si_addr: 0x00007ff80904eabd
    RAX=0x001ffe9000000100, RBX=0x00007ff7b7adffe0, RCX=0x001ffe9000000100, RDX=0x00007ff809077961
    RSP=0x00007ff7b7adffb0, RBP=0x00007ff7b7adffd0, RSI=0xff80002000000002, RDI=0x0000002000000002
    R8 =0x00007ff84a9d2ac0, R9 =0x0000000000000013, R10=0x0000003000000000, R11=0x0060000000000002
    R12=0x00007ff7b7ae0090, R13=0x00007ff84a9d2ac0, R14=0x00007ff84a9d2ac0, R15=0x00000001201b3df0
    RIP=0x00007ff80904eabd, EFLAGS=0x0000000000010246, ERR=0x0000000000000000
    Top of Stack: (sp=0x00007ff7b7adffb0)
    0x00007ff7b7adffb0:   0000000000000103 00007ff7b7adffe0
    0x00007ff7b7adffc0:   0000000000000000 00000001201b3df0
    0x00007ff7b7adffd0:   00007ff7b7ae0080 00007ff80904e696
    0x00007ff7b7adffe0:   0000000000000013 00000000100020ff
    0x00007ff7b7adfff0:   0000000000000000 0000000000000000
    0x00007ff7b7ae0000:   00007ff80904e856 00007ff7b7adffe0
    0x00007ff7b7ae0010:   0000000000000000 00007ff84a9d2ac0
    0x00007ff7b7ae0020:   00000001201b3df0 00007ff7b7ae0090
    0x00007ff7b7ae0030:   0000000000000000 0000000000000000
    0x00007ff7b7ae0040:   0000010300000000 0000000000000000
    0x00007ff7b7ae0050:   0000000000000002 000060000124fee0
    0x00007ff7b7ae0060:   0000000000001400 000060000344d7a0
    0x00007ff7b7ae0070:   0000000000000000 0000000000000000
    0x00007ff7b7ae0080:   00007ff7b7ae00c0 00000001201b125b
    0x00007ff7b7ae0090:   00007ff84a9d5910 00000000c0000000
    0x00007ff7b7ae00a0:   00000001201b3df0 00000001201cda88
    0x00007ff7b7ae00b0:   00007fa41cf23c80 00007ff7b7ae0128
    0x00007ff7b7ae00c0:   00007ff7b7ae00d0 00007ff8092b803c
    0x00007ff7b7ae00d0:   00007ff7b7ae00f0 00007ff809355592
    0x00007ff7b7ae00e0:   000060000124fee0 00007ff7b7ae01d8
    0x00007ff7b7ae00f0:   00007ff7b7ae01b0 00007ff809355510
    0x00007ff7b7ae0100:   000060000112eca0 0000600001e04660
    0x00007ff7b7ae0110:   0000003a0000003e 000060000124fee0
    0x00007ff7b7ae0120:   000000004a821678 00007ff84a9d5910
    0x00007ff7b7ae0130:   00000000c2000000 00007ff809355561
    0x00007ff7b7ae0140:   00007ff84bf788f8 0000600001e04660
    0x00007ff7b7ae0150:   000060000112eca0 000060000344d7a0
    0x00007ff7b7ae0160:   0000003a0000003e 0000000000001400
    0x00007ff7b7ae0170:   000060000124fee0 00007ff84a817b00
    0x00007ff7b7ae0180:   d1dd29a680390014 00007ff7b7ae09e0
    0x00007ff7b7ae0190:   0000000000000000 00007ff7b7ae01c0
    0x00007ff7b7ae01a0:   000060000344d7a0 0000000000000000 
    Instructions: (pc=0x00007ff80904eabd)
    0x00007ff80904ea9d:   48 89 c1 e9 ca fe ff ff 48 8d 15 b5 8e 02 00 48
    0x00007ff80904eaad:   89 c8 48 89 15 72 7a 9a 41 48 89 05 9b 7a 9a 41
    0x00007ff80904eabd:   0f 0b 55 48 89 e5 41 56 53 49 89 f6 48 89 fb 83
    0x00007ff80904eacd:   e2 02 d1 ea 4c 39 f3 74 34 f6 c2 01 74 12 48 8b 
    Register to memory mapping:
    RAX=0x001ffe9000000100 is an unknown value
    RBX=0x00007ff7b7adffe0 is pointing into the stack for thread: 0x00007fa41d1e0000
    RCX=0x001ffe9000000100 is an unknown value
    RDX=0x00007ff809077961: <offset 0x39961> in /usr/lib/system/libdispatch.dylib at 0x00007ff80903e000
    RSP=0x00007ff7b7adffb0 is pointing into the stack for thread: 0x00007fa41d1e0000
    RBP=0x00007ff7b7adffd0 is pointing into the stack for thread: 0x00007fa41d1e0000
    RSI=0xff80002000000002 is an unknown value
    RDI=0x0000002000000002 is an unknown value
    R8 =0x00007ff84a9d2ac0: _dispatch_main_q+0 in /usr/lib/system/libdispatch.dylib at 0x00007ff80903e000
    R9 =0x0000000000000013 is an unknown value
    R10=0x0000003000000000 is an unknown value
    R11=0x0060000000000002 is an unknown value
    R12=0x00007ff7b7ae0090 is pointing into the stack for thread: 0x00007fa41d1e0000
    R13=0x00007ff84a9d2ac0: _dispatch_main_q+0 in /usr/lib/system/libdispatch.dylib at 0x00007ff80903e000
    R14=0x00007ff84a9d2ac0: _dispatch_main_q+0 in /usr/lib/system/libdispatch.dylib at 0x00007ff80903e000
    R15=0x00000001201b3df0: ___glfwIconifyWindowCocoa_block_invoke+0 in /private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/libgdxnoblemaster/5ae6685c/libglfw.dylib at 0x000000012019d000
    Stack: [0x00007ff7b72e6000,0x00007ff7b7ae6000],  sp=0x00007ff7b7adffb0,  free space=8167k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [libdispatch.dylib+0x10abd]  __DISPATCH_WAIT_FOR_QUEUE__+0x199
    C  [libdispatch.dylib+0x10696]  _dispatch_sync_f_slow+0xaa
    C  [libglfw.dylib+0x1425b]  -[GLFWWindowDelegate windowDidResignKey:]+0x5b
    C  [CoreFoundation+0x112592]  ___CFXRegistrationPost_block_invoke+0x31
    C  [CoreFoundation+0x112510]  _CFXRegistrationPost+0x1f0
    C  [CoreFoundation+0x46ca8]  _CFXNotificationPost+0x2df
    C  [Foundation+0x990e]  -[NSNotificationCenter postNotificationName:object:userInfo:]+0x52
    C  [AppKit+0x1e99f7]  -[NSWindow resignKeyWindow]+0x2f7
    C  [AppKit+0x1e9649]  _NXEndKeyAndMain+0xa2
    C  [AppKit+0x1e85db]  -[NSApplication _handleDeactivateEvent:]+0x2ef
    C  [AppKit+0x1ae4cc]  -[NSApplication(NSEvent) sendEvent:]+0xb78
    C  [libosxapp.dylib+0x22aa]  -[NSApplicationAWT sendEvent:]+0x17a
    C  [AppKit+0x4668db]  -[NSApplication _handleEvent:]+0x41
    C  [AppKit+0x2f2ce]  -[NSApplication run]+0x26f
    C  [libosxapp.dylib+0x1f72]  +[NSApplicationAWT runAWTLoopWithApp:]+0x9c
    C  [libawt_lwawt.dylib+0x4711f]  -[AWTStarter starter:]+0x389
    C  [Foundation+0x81857]  __NSThreadPerformPerform+0xb3
    C  [CoreFoundation+0x7faeb]  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+0x11
    C  [CoreFoundation+0x7fa53]  __CFRunLoopDoSource0+0xb4
    C  [CoreFoundation+0x7f7cd]  __CFRunLoopDoSources0+0xf2
    C  [CoreFoundation+0x7e1e8]  __CFRunLoopRun+0x37c
    C  [CoreFoundation+0x7d7ac]  CFRunLoopRunSpecific+0x232
    C  [java+0x646e]  CreateExecutionEnvironment+0x367
    C  [java+0x203c]  JLI_Launch+0x7a0
    C  [java+0x84cb]  main+0x65
    C  [java+0x1894]  start+0x34
    C  0x0000000000000011
    ---------------  P R O C E S S  ---------------
    Java Threads: ( => current thread )
      0x00007fa42a1d0800 JavaThread "AWT-Shutdown" [_thread_blocked, id=44559, stack(0x0000700007f2f000,0x000070000802f000)]
      0x00007fa41f0c2800 JavaThread "Thread-20" daemon [_thread_blocked, id=28423, stack(0x000070000823e000,0x000070000833e000)]
      0x00007fa41f420000 JavaThread "Thread-18" [_thread_blocked, id=94979, stack(0x00007000093f7000,0x00007000094f7000)]
      0x00007fa41e547800 JavaThread "Thread-17" [_thread_blocked, id=120067, stack(0x00007000092f4000,0x00007000093f4000)]
      0x00007fa41f41f000 JavaThread "Thread-16" [_thread_blocked, id=94723, stack(0x00007000091f1000,0x00007000092f1000)]
      0x00007fa41d9eb000 JavaThread "Thread-15" [_thread_blocked, id=120835, stack(0x00007000090ee000,0x00007000091ee000)]
      0x00007fa41e546800 JavaThread "Thread-14" [_thread_blocked, id=121347, stack(0x0000700008feb000,0x00007000090eb000)]
      0x00007fa421100800 JavaThread "Thread-13" [_thread_blocked, id=121603, stack(0x0000700008ee8000,0x0000700008fe8000)]
      0x00007fa421a6f000 JavaThread "Thread-12" [_thread_blocked, id=94211, stack(0x0000700008de5000,0x0000700008ee5000)]
      0x00007fa41d27e000 JavaThread "Thread-11" [_thread_blocked, id=93955, stack(0x0000700008ce2000,0x0000700008de2000)]
      0x00007fa41d27d800 JavaThread "Thread-10" [_thread_blocked, id=122627, stack(0x0000700008bdf000,0x0000700008cdf000)]
      0x00007fa421a6e000 JavaThread "Thread-9" [_thread_blocked, id=93443, stack(0x0000700008adc000,0x0000700008bdc000)]
      0x00007fa41d27c800 JavaThread "Thread-8" [_thread_blocked, id=122883, stack(0x00007000089d9000,0x0000700008ad9000)]
      0x00007fa41e546000 JavaThread "Thread-7" [_thread_blocked, id=123395, stack(0x00007000088d6000,0x00007000089d6000)]
      0x00007fa421a1b000 JavaThread "Thread-6" [_thread_blocked, id=92931, stack(0x00007000087d3000,0x00007000088d3000)]
      0x00007fa41e545000 JavaThread "Thread-5" [_thread_blocked, id=92675, stack(0x00007000086d0000,0x00007000087d0000)]
      0x00007fa41e544800 JavaThread "Thread-4" [_thread_blocked, id=92427, stack(0x00007000085cd000,0x00007000086cd000)]
      0x00007fa41e49e800 JavaThread "Thread-3" [_thread_blocked, id=124427, stack(0x00007000084ca000,0x00007000085ca000)]
    =>0x00007fa41d1e0000 JavaThread "AppKit Thread" daemon [_thread_in_native, id=259, stack(0x00007ff7b72e6000,0x00007ff7b7ae6000)]
      0x00007fa4210dd800 JavaThread "Timer-0" daemon [_thread_blocked, id=22019, stack(0x0000700007e2c000,0x0000700007f2c000)]
      0x00007fa41f208800 JavaThread "process reaper" daemon [_thread_blocked, id=21763, stack(0x0000700007e01000,0x0000700007e29000)]
      0x00007fa41d836800 JavaThread "Service Thread" daemon [_thread_blocked, id=15619, stack(0x0000700007af8000,0x0000700007bf8000)]
      0x00007fa42189e800 JavaThread "C1 CompilerThread2" daemon [_thread_blocked, id=14083, stack(0x00007000079f5000,0x0000700007af5000)]
      0x00007fa42189e000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=16387, stack(0x00007000078f2000,0x00007000079f2000)]
      0x00007fa41d818000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=16899, stack(0x00007000077ef000,0x00007000078ef000)]
      0x00007fa421835800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=17411, stack(0x00007000076ec000,0x00007000077ec000)]
      0x00007fa42100e800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=17667, stack(0x00007000075e9000,0x00007000076e9000)]
      0x00007fa42100e000 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=18183, stack(0x00007000074e6000,0x00007000075e6000)]
      0x00007fa421830800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=13571, stack(0x00007000073e3000,0x00007000074e3000)]
      0x00007fa41f042800 JavaThread "Finalizer" daemon [_thread_blocked, id=20483, stack(0x00007000071da000,0x00007000072da000)]
      0x00007fa41f042000 JavaThread "Reference Handler" daemon [_thread_blocked, id=12035, stack(0x00007000070d7000,0x00007000071d7000)]
      0x00007fa41d010800 JavaThread "main" [_thread_in_native, id=4611, stack(0x00007000068bf000,0x00007000069bf000)]
    Other Threads:
      0x00007fa41d810000 VMThread [stack: 0x0000700006fd4000,0x00007000070d4000] [id=20995]
      0x00007fa41d837000 WatcherThread [stack: 0x0000700007bfb000,0x0000700007cfb000] [id=14595]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    heap address: 0x00000007a0000000, size: 512 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
    Narrow klass base: 0x0000000000000000, Narrow klass shift: 3
    Compressed class space size: 1073741824 Address: 0x00000007c0000000
     PSYoungGen      total 155136K, used 91701K [0x00000007b5580000, 0x00000007bff00000, 0x00000007c0000000)
      eden space 136704K, 65% used [0x00000007b5580000,0x00000007bace5228,0x00000007bdb00000)
      from space 18432K, 11% used [0x00000007bed00000,0x00000007bef282b0,0x00000007bff00000)
      to   space 18432K, 0% used [0x00000007bdb00000,0x00000007bdb00000,0x00000007bed00000)
     ParOldGen       total 175104K, used 36523K [0x00000007a0000000, 0x00000007aab00000, 0x00000007b5580000)
      object space 175104K, 20% used [0x00000007a0000000,0x00000007a23aad68,0x00000007aab00000)
     Metaspace       used 29399K, capacity 29786K, committed 30208K, reserved 1075200K
      class space    used 3590K, capacity 3746K, committed 3840K, reserved 1048576K
    Card table byte_map: [0x0000000108a71000,0x0000000108b72000] byte_map_base: 0x0000000104d71000
    Marking Bits: (ParMarkBitMap*) 0x0000000109dd2e40
     Begin Bits: [0x0000000119f62000, 0x000000011a762000)
     End Bits:   [0x000000011a762000, 0x000000011af62000)
    Polling page: 0x0000000108554000
    CodeCache: size=245760Kb used=12837Kb max_used=13883Kb free=232922Kb
     bounds [0x000000010af62000, 0x000000010bd02000, 0x0000000119f62000]
     total_blobs=4433 nmethods=3303 adapters=1051
     compilation: enabled
    Compilation events (10 events):
    Event: 15.506 Thread 0x00007fa42189e800 3601       3       com.noblemaster.lib.gear.init.user.disp.XUICommLayer$DefaultMake$1::padT (28 bytes)
    Event: 15.506 Thread 0x00007fa42189e800 nmethod 3601 0x000000010b270050 code [0x000000010b270260, 0x000000010b271018]
    Event: 15.506 Thread 0x00007fa42189e800 3602       3       com.noblemaster.lib.gear.init.user.disp.XUICommLayerPaneTalk$DefaultMake$1::update (195 bytes)
    Event: 15.508 Thread 0x00007fa42189e800 nmethod 3602 0x000000010b5769d0 code [0x000000010b576ec0, 0x000000010b57a918]
    Event: 15.508 Thread 0x00007fa42189e800 3603       3       com.noblemaster.lib.gear.init.userstate.SUI$DEF::hasBGPlay (10 bytes)
    Event: 15.508 Thread 0x00007fa42189e800 nmethod 3603 0x000000010b067990 code [0x000000010b067b20, 0x000000010b068088]
    Event: 15.553 Thread 0x00007fa41d818000 3604       4       com.noblemaster.lib.core.disp.gui.GUIManager::getAbsoluteY (9 bytes)
    Event: 15.554 Thread 0x00007fa41d818000 nmethod 3604 0x000000010b138d50 code [0x000000010b138ea0, 0x000000010b138f78]
    Event: 15.585 Thread 0x00007fa42189e000 3605       4       com.noblemaster.lib.core.disp.gui.firm.GUISpringBloc::look (5 bytes)
    Event: 15.586 Thread 0x00007fa42189e000 nmethod 3605 0x000000010b14d850 code [0x000000010b14d9a0, 0x000000010b14da38]
    Dynamic libraries:
    0x00007ff82002c000 	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x00007ff80bca9000 	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x00007ff80f1b4000 	/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x00007ff80a0b5000 	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x00007ff813fd5000 	/usr/lib/libSystem.B.dylib
    0x00007ff80cb37000 	/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x00007ff819f36000 	/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x00007ff812220000 	/System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
    0x00007ff815ddc000 	/System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
    0x00007ff815e66000 	/System/Library/PrivateFrameworks/UserActivity.framework/Versions/A/UserActivity
    0x00007ff8151bc000 	/usr/lib/libspindump.dylib
    0x00007ff80cdc5000 	/System/Library/Frameworks/UniformTypeIdentifiers.framework/Versions/A/UniformTypeIdentifiers
    0x00007ff810949000 	/usr/lib/libapp_launch_measurement.dylib
    0x00007ff80fb84000 	/System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
    0x00007ff81094c000 	/System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
    0x00007ff811b7a000 	/System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x00007ff8128a6000 	/usr/lib/liblangid.dylib
    0x00007ff812225000 	/System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
    0x00007ff80e1ac000 	/System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
    0x00007ff80e54a000 	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x00007ff81a5f6000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x00007ff814c3b000 	/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x00007ff811b5f000 	/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x00007ff80fbb2000 	/usr/lib/libDiagnosticMessagesClient.dylib
    0x00007ff813ef5000 	/usr/lib/libz.1.dylib
    0x00007ff81dcd9000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x00007ff81220c000 	/System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
    0x00007ff80b591000 	/usr/lib/libicucore.A.dylib
    0x00007ff816bd1000 	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x00007ff815de8000 	/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x00007ff911d75000 	/System/Library/PrivateFrameworks/TextInput.framework/Versions/A/TextInput
    0x00007ff80e12f000 	/usr/lib/libMobileGestalt.dylib
    0x00007ff811f18000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x00007ff81034f000 	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x00007ff80b238000 	/System/Library/Frameworks/Security.framework/Versions/A/Security
    0x00007ff819f6e000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x00007ff8106a9000 	/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x00007ff80ab04000 	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x00007ff80fca1000 	/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x00007ff8155aa000 	/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x00007ff80e12e000 	/usr/lib/libenergytrace.dylib
    0x00007ff80bb95000 	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x00007ff81a35e000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x00007ff8108e3000 	/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x00007ffa21299000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x00007ff81350f000 	/System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
    0x00007ff809085000 	/usr/lib/libobjc.A.dylib
    0x00007ff80ec15000 	/System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x00007ff809243000 	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x00007ff81249c000 	/System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x00007ff80a91c000 	/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x00007ff812255000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x00007ff813fdb000 	/System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
    0x00007ff810994000 	/usr/lib/libxml2.2.dylib
    0x00007ff80914f000 	/usr/lib/libc++.1.dylib
    0x00007ff81425f000 	/usr/lib/libcompression.dylib
    0x00007ff815d0f000 	/System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
    0x00007ff81494d000 	/usr/lib/libate.dylib
    0x00007ff813fd0000 	/usr/lib/system/libcache.dylib
    0x00007ff813f8c000 	/usr/lib/system/libcommonCrypto.dylib
    0x00007ff813fb5000 	/usr/lib/system/libcompiler_rt.dylib
    0x00007ff813fab000 	/usr/lib/system/libcopyfile.dylib
    0x00007ff808f80000 	/usr/lib/system/libcorecrypto.dylib
    0x00007ff80903e000 	/usr/lib/system/libdispatch.dylib
    0x00007ff809202000 	/usr/lib/system/libdyld.dylib
    0x00007ff813fc7000 	/usr/lib/system/libkeymgr.dylib
    0x00007ff813f6a000 	/usr/lib/system/libmacho.dylib
    0x00007ff8135e9000 	/usr/lib/system/libquarantine.dylib
    0x00007ff813fc5000 	/usr/lib/system/libremovefile.dylib
    0x00007ff80e17c000 	/usr/lib/system/libsystem_asl.dylib
    0x00007ff808f29000 	/usr/lib/system/libsystem_blocks.dylib
    0x00007ff8090c6000 	/usr/lib/system/libsystem_c.dylib
    0x00007ff813fbd000 	/usr/lib/system/libsystem_collections.dylib
    0x00007ff812896000 	/usr/lib/system/libsystem_configuration.dylib
    0x00007ff811b42000 	/usr/lib/system/libsystem_containermanager.dylib
    0x00007ff813ca3000 	/usr/lib/system/libsystem_coreservices.dylib
    0x00007ff80b825000 	/usr/lib/system/libsystem_darwin.dylib
    0x00007ff813fc8000 	/usr/lib/system/libsystem_dnssd.dylib
    0x00007ff8090c3000 	/usr/lib/system/libsystem_featureflags.dylib
    0x00007ff809218000 	/usr/lib/system/libsystem_info.dylib
    0x00007ff813f08000 	/usr/lib/system/libsystem_m.dylib
    0x00007ff809012000 	/usr/lib/system/libsystem_malloc.dylib
    0x00007ff80e117000 	/usr/lib/system/libsystem_networkextension.dylib
    0x00007ff80bc4b000 	/usr/lib/system/libsystem_notify.dylib
    0x00007ff81a233000 	/usr/lib/system/libsystem_product_info_filter.dylib
    0x00007ff81289a000 	/usr/lib/system/libsystem_sandbox.dylib
    0x00007ff813fc2000 	/usr/lib/system/libsystem_secinit.dylib
    0x00007ff8091be000 	/usr/lib/system/libsystem_kernel.dylib
    0x00007ff80920e000 	/usr/lib/system/libsystem_platform.dylib
    0x00007ff8091f6000 	/usr/lib/system/libsystem_pthread.dylib
    0x00007ff80f9c4000 	/usr/lib/system/libsystem_symptoms.dylib
    0x00007ff808f67000 	/usr/lib/system/libsystem_trace.dylib
    0x00007ff813f98000 	/usr/lib/system/libunwind.dylib
    0x00007ff808f2b000 	/usr/lib/system/libxpc.dylib
    0x00007ff8091a8000 	/usr/lib/libc++abi.dylib
    0x00007ff813fa3000 	/usr/lib/liboah.dylib
    0x00007ff814729000 	/usr/lib/liblzma.5.dylib
    0x00007ff809dc8000 	/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x00007ff813fd7000 	/usr/lib/libfakelink.dylib
    0x00007ff80dc88000 	/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x00007ff814118000 	/usr/lib/libarchive.2.dylib
    0x00007ff8128a2000 	/System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
    0x00007ff813610000 	/usr/lib/libbsm.0.dylib
    0x00007ff80d29b000 	/usr/lib/libnetwork.dylib
    0x00007ff813f70000 	/usr/lib/system/libkxld.dylib
    0x00007ff81323c000 	/System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
    0x00007ffb207a0000 	/usr/lib/libCoreEntitlements.dylib
    0x00007ff813c85000 	/System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x00007ff8135f8000 	/usr/lib/libcoretls.dylib
    0x00007ff814743000 	/usr/lib/libcoretls_cfhelpers.dylib
    0x00007ff81425a000 	/usr/lib/libpam.2.dylib
    0x00007ff80f5e4000 	/usr/lib/libsqlite3.dylib
    0x00007ff8147b2000 	/usr/lib/libxar.1.dylib
    0x00007ff813c95000 	/usr/lib/libbz2.1.0.dylib
    0x00007ff813fdc000 	/usr/lib/libpcap.A.dylib
    0x00007ff80f9bc000 	/usr/lib/libdns_services.dylib
    0x00007ff81422a000 	/usr/lib/libapple_nghttp2.dylib
    0x00007ff814016000 	/usr/lib/libiconv.2.dylib
    0x00007ff813f69000 	/usr/lib/libcharset.1.dylib
    0x00007ff810917000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x00007ff80b82f000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x00007ff80fc05000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x00007ff813ca8000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x00007ff81419f000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x00007ff80f94f000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x00007ff809745000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x00007ff8146da000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x00007ff810924000 	/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x00007ff8135ec000 	/usr/lib/libCheckFix.dylib
    0x00007ff80e193000 	/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x00007ff8128a8000 	/System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
    0x00007ff80fbb5000 	/System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
    0x00007ff809e78000 	/usr/lib/libmecabra.dylib
    0x00007ff813620000 	/usr/lib/libmecab.dylib
    0x00007ff809e43000 	/usr/lib/libCRFSuite.dylib
    0x00007ff81367a000 	/usr/lib/libgermantok.dylib
    0x00007ff814205000 	/usr/lib/libThaiTokenizer.dylib
    0x00007ff80fca8000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x00007ff81a335000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x00007ff8147f3000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x00007ff813067000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x00007ff809abf000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x00007ff81433c000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x00007ff81367d000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x00007ff814242000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x00007ff814336000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x00007ff812993000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x00007ff809d59000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x00007ff81298c000 	/System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x00007ff809d0f000 	/System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x00007ff8147ec000 	/usr/lib/libChineseTokenizer.dylib
    0x00007ff80a471000 	/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x00007ff814207000 	/System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x00007ff81322a000 	/System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x00007ff814107000 	/usr/lib/libcmph.dylib
    0x00007ff8108fb000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x00007ff8108ef000 	/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x00007ff814745000 	/System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x00007ff813547000 	/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x00007ff8147c0000 	/usr/lib/libutil.dylib
    0x00007ff80bb59000 	/System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
    0x00007ff8147c4000 	/usr/lib/libxslt.1.dylib
    0x00007ff8135d4000 	/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x00007ff815c2f000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x00007ff815c38000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x00007ff815b89000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x00007ff815baa000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x00007ff815c98000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x00007ff8154c4000 	/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x00007ff814c02000 	/usr/lib/libexpat.1.dylib
    0x00007ff815479000 	/System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x00007ff811ddc000 	/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
    0x00007ff80f8f9000 	/System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
    0x00007ff8205e4000 	/System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/Versions/A/IOSurfaceAccelerator
    0x00007ff8155a6000 	/System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
    0x00007ff80a55f000 	/System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
    0x00007ff811cda000 	/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x00007ff811b71000 	/System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x00007ff810a78000 	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x00007ff814258000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x00007ff8155e3000 	/System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x00007ff80f843000 	/System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
    0x00007ff80f5ca000 	/System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x00007ff815c28000 	/System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
    0x00007ff815c0c000 	/System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
    0x00007ff815c32000 	/System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
    0x00007ffa2128d000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
    0x00007ffb0df49000 	/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/libGPUCompilerUtils.dylib
    0x00007ff815c9d000 	/System/Library/PrivateFrameworks/CMCaptureCore.framework/Versions/A/CMCaptureCore
    0x00007ff8151aa000 	/System/Library/PrivateFrameworks/AppServerSupport.framework/Versions/A/AppServerSupport
    0x00007ff817469000 	/System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
    0x00007ff80a68b000 	/System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
    0x00007ff811cb8000 	/System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
    0x00007ff816d7b000 	/usr/lib/libAudioStatistics.dylib
    0x00007ff90e523000 	/System/Library/PrivateFrameworks/SystemPolicy.framework/Versions/A/SystemPolicy
    0x00007ff816fd6000 	/usr/lib/libSMC.dylib
    0x00007ff81fedf000 	/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
    0x00007ff815b58000 	/usr/lib/libAudioToolboxUtility.dylib
    0x00007ff90a7c6000 	/System/Library/PrivateFrameworks/OSAServicesClient.framework/Versions/A/OSAServicesClient
    0x00007ff817476000 	/usr/lib/libperfcheck.dylib
    0x00007ff90efcd000 	/usr/lib/libmis.dylib
    0x00007ffa212e8000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x00007ffa212ac000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x00007ffa214b5000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x00007ffa212b5000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x00007ffa212a9000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x00007ffa21294000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x00007ff812824000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x00007ff813bf0000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x00007ff813693000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x00007ff813b07000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x00007ff8138c2000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
    0x00007ff813b3f000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
    0x00007ffa26215000 	/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSFunctions.framework/Versions/A/MPSFunctions
    0x00007ff80999c000 	/System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x00007ff8128a0000 	/System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
    0x00007ff8149e4000 	/usr/lib/libIOReport.dylib
    0x00007ffa228c4000 	/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x00007ff814d48000 	/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x00007ff814d39000 	/System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
    0x00007ffb0de54000 	/System/Library/PrivateFrameworks/FontServices.framework/Versions/A/FontServices
    0x00007ff815162000 	/System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
    0x00007ff81065f000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x00007ff8151b2000 	/System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
    0x00007ffb0de55000 	/System/Library/PrivateFrameworks/FontServices.framework/libXTFontStaticRegistryData.dylib
    0x00007ff814bb2000 	/System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x00007ff816d9b000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x00007ff80ed11000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x00007ff815ca7000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x00007ff817129000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x00007ff817121000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
    0x00007ff816d8b000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x00007ff815c68000 	/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
    0x00007ff8170b6000 	/usr/lib/libcups.2.dylib
    0x00007ff817485000 	/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x00007ff817494000 	/System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x00007ff816e07000 	/usr/lib/libresolv.9.dylib
    0x00007ff8151c1000 	/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x00007ff81e061000 	/System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
    0x00007ff80f9cc000 	/System/Library/Frameworks/Network.framework/Versions/A/Network
    0x00007ff814c1c000 	/usr/lib/libheimdal-asn1.dylib
    0x00007ff8174df000 	/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x00007ff816d0d000 	/System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
    0x00007ff814cac000 	/System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
    0x00007ff816ba0000 	/System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
    0x00007ff817135000 	/System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
    0x00007ff81b1a8000 	/System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/PowerLog
    0x00007ff814c25000 	/System/Library/PrivateFrameworks/IconFoundation.framework/Versions/A/IconFoundation
    0x00007ff819f5e000 	/System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x00000001094d7000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/server/libjvm.dylib
    0x00007ffb21248000 	/usr/lib/libstdc++.6.dylib
    0x0000000108561000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libverify.dylib
    0x00000001085a5000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libjava.dylib
    0x0000000108626000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libjdwp.dylib
    0x0000000108559000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libnpt.dylib
    0x00000001085db000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libinstrument.dylib
    0x0000000108580000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libzip.dylib
    0x0000000108605000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libdt_socket.dylib
    0x0000000109343000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libnio.dylib
    0x000000010936a000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libnet.dylib
    0x00000001093a9000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libsunec.dylib
    0x0000000109353000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libosx.dylib
    0x00000001093d1000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libosxapp.dylib
    0x00007ff90e048000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x00007ff821972000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x00007ff81da59000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x00007ff821976000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x00007ff821946000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x00007ff82196e000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x00007ff90e044000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x00007ff82196a000 	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x00007ff90d432000 	/System/Library/Frameworks/ExceptionHandling.framework/Versions/A/ExceptionHandling
    0x00007ffa26172000 	/System/Library/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation
    0x00007ffa2617e000 	/System/Library/Frameworks/JavaRuntimeSupport.framework/Versions/A/JavaRuntimeSupport
    0x00007ff81c425000 	/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x00007ff81c3ea000 	/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x000000011cc60000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libawt.dylib
    0x000000011cd09000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libmlib_image.dylib
    0x000000011cdd5000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libawt_lwawt.dylib
    0x00007ff80bb1b000 	/System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x00007ff81b799000 	/System/Library/Frameworks/FileProvider.framework/Versions/A/FileProvider
    0x00007ff80f7b0000 	/System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
    0x00007ff81b912000 	/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x00007ff81b19d000 	/System/Library/PrivateFrameworks/SymptomDiagnosticReporter.framework/Versions/A/SymptomDiagnosticReporter
    0x00007ff80cdd9000 	/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x00007ff80bc5a000 	/usr/lib/libsandbox.1.dylib
    0x00007ff810af7000 	/System/Library/PrivateFrameworks/UserManagement.framework/Versions/A/UserManagement
    0x00007ff817116000 	/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x00007ff818023000 	/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x00007ff810aca000 	/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x00007ff81d588000 	/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x00007ff813cd5000 	/System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit
    0x00007ff813320000 	/System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
    0x00007ff813247000 	/System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x00007ff818182000 	/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x00007ff81d5f0000 	/System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi
    0x00007ff81bfbc000 	/System/Library/PrivateFrameworks/FrontBoardServices.framework/Versions/A/FrontBoardServices
    0x00007ff81c04d000 	/System/Library/PrivateFrameworks/BoardServices.framework/Versions/A/BoardServices
    0x00007ff813536000 	/System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
    0x00007ff81d773000 	/System/Library/PrivateFrameworks/BackBoardServices.framework/Versions/A/BackBoardServices
    0x00007ff817570000 	/System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers
    0x00007ff81b2ba000 	/System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement
    0x00007ff81b1ce000 	/System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport
    0x00007ffa287d6000 	/System/Library/PrivateFrameworks/AAAFoundation.framework/Versions/A/AAAFoundation
    0x00007ff817551000 	/System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle
    0x00007ff81b286000 	/System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
    0x00007ff81b1da000 	/System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
    0x00007ff814b2a000 	/usr/lib/libCoreStorage.dylib
    0x00007ff81da61000 	/usr/lib/libcsfde.dylib
    0x00007ff81824f000 	/System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/ProtectedCloudStorage
    0x00007ff81da5d000 	/System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
    0x00007ff81b938000 	/System/Library/PrivateFrameworks/OctagonTrust.framework/Versions/A/OctagonTrust
    0x00007ffb0d0c3000 	/System/Library/PrivateFrameworks/CoreUtilsExtras.framework/Versions/A/CoreUtilsExtras
    0x00007ff81b101000 	/System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x00007ff81e0e6000 	/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x00007ff814b22000 	/usr/lib/libMatch.1.dylib
    0x00007ff915d74000 	/System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x00007ff8174ef000 	/System/Library/PrivateFrameworks/MobileAsset.framework/Versions/A/MobileAsset
    0x00007ff81e10d000 	/System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/StreamingZip
    0x00007ffb0a3bd000 	/System/Library/PrivateFrameworks/CMPhoto.framework/Versions/A/CMPhoto
    0x00007ff81c2c0000 	/System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA
    0x00007ff815ed1000 	/System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x00007ff81b769000 	/System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
    0x00007ff81a63e000 	/System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
    0x00007ff81b765000 	/System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
    0x00007ff81a649000 	/System/Library/PrivateFrameworks/AlgosScoreFramework.framework/Versions/A/AlgosScoreFramework
    0x00007ff81b3aa000 	/System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
    0x00007ff9135a6000 	/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib
    0x000000011ea36000 	/usr/lib/libobjc-trampolines.dylib
    0x00007ff8205ec000 	/System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
    0x00007ff820610000 	/System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/CommerceCore.framework/Versions/A/CommerceCore
    0x00007ff81a67a000 	/System/Library/PrivateFrameworks/SystemAdministration.framework/Versions/A/SystemAdministration
    0x00007ff818236000 	/System/Library/PrivateFrameworks/AppContainer.framework/Versions/A/AppContainer
    0x00007ff81824b000 	/System/Library/PrivateFrameworks/SecCodeWrapper.framework/Versions/A/SecCodeWrapper
    0x00007ff8149ed000 	/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x00007ff91af88000 	/System/Library/PrivateFrameworks/OSAnalytics.framework/Versions/A/OSAnalytics
    0x00007ff9260db000 	/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
    0x00007ff90efaa000 	/System/Library/PrivateFrameworks/MallocStackLogging.framework/Versions/A/MallocStackLogging
    0x00007ff815278000 	/System/Library/PrivateFrameworks/login.framework/Versions/A/login
    0x00007ff819f2a000 	/System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
    0x00007ff81d8ff000 	/System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
    0x00007ff8135de000 	/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x00007ff81dadb000 	/System/Library/PrivateFrameworks/LoginUIKit.framework/Versions/A/Frameworks/LoginUICore.framework/Versions/A/LoginUICore
    0x00007ff815421000 	/usr/lib/libodfde.dylib
    0x00007ff81da6d000 	/usr/lib/libcurl.4.dylib
    0x00007ffb20d1b000 	/usr/lib/libcrypto.46.dylib
    0x00007ffb2120c000 	/usr/lib/libssl.48.dylib
    0x00007ff81d791000 	/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x00007ff81d7c9000 	/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x00007ff816e20000 	/usr/lib/libsasl2.2.dylib
    0x00007ff81a66e000 	/System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x00007ff81a669000 	/System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x00007ff8107ef000 	/System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
    0x000000011fe69000 	/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/libfontmanager.dylib
    0x000000011fed0000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/libgdxnoblemaster/21f66466/libgdx64.dylib
    0x000000011ff08000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/lwjglnoblemaster/3.3.1-SNAPSHOT/liblwjgl.dylib
    0x000000011ff41000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/lwjglnoblemaster/3.3.1-SNAPSHOT/libjemalloc.dylib
    0x000000012019d000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/libgdxnoblemaster/5ae6685c/libglfw.dylib
    0x0000000120c02000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/lwjglnoblemaster/3.3.1-SNAPSHOT/libopenal.dylib
    0x0000000121030000 	/System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio
    0x000000011fe35000 	/System/Library/Extensions/AppleGFXHDA.kext/Contents/PlugIns/AppleGFXHDAHALPlugIn.bundle/Contents/MacOS/AppleGFXHDAHALPlugIn
    0x00007ffa214c0000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLEngine.bundle/GLEngine
    0x00007ffa21326000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
    0x00007ffa16341000 	/System/Library/Extensions/AppleIntelKBLGraphicsGLDriver.bundle/Contents/MacOS/AppleIntelKBLGraphicsGLDriver
    0x00007ff919107000 	/System/Library/PrivateFrameworks/GPUSupport.framework/Versions/A/Libraries/libGPUSupportMercury.dylib
    0x00007ffa2164a000 	/System/Library/Frameworks/OpenGL.framework/Versions/A/Resources/GLRendererFloat.bundle/GLRendererFloat
    0x000000012230f000 	/private/var/folders/g7/vhs_1n9x6y537czmm6p65z380000gn/T/lwjglnoblemaster/3.3.1-SNAPSHOT/liblwjgl_opengl.dylib
    0x0000000122fcd000 	/Users/noblemaster/Library/Caches/JNA/temp/jna1376495980706245935.tmp
    0x00007ffa26186000 	/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM
    0x00007ffb208af000 	/usr/lib/libRosetta.dylib
    VM Arguments:
    jvm_args: -agentlib:jdwp=transport=dt_socket,address=,suspend=y,server=n -Xmx512m -XX:+IgnoreUnrecognizedVMOptions -Djava.library.path=/Users/noblemaster/DropboxSecret/vn/project_hub/lib_core/libs/natives -javaagent:/Users/noblemaster/Library/Caches/JetBrains/IdeaIC2020.3/groovyHotSwap/gragent.jar -javaagent:/Users/noblemaster/Library/Caches/JetBrains/IdeaIC2020.3/captureAgent/debugger-agent.jar -Dfile.encoding=UTF-8 
    java_command: com.retrocommander.app.user.Main -appMode=rco -appPath=http://www.retrocommander.com -DrunInIDE=true -devel=true -market=NobleMaster -marketMode=TEST
    java_class_path (initial): /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
    Launcher Type: SUN_STANDARD
    Environment Variables:
    OS:Bsduname:Darwin 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64
    rlimit: STACK 8192k, CORE 0k, NPROC 2784, NOFILE 10240, AS infinity
    load average:2.95 3.17 2.90
    CPU:total 6 (initial active 6) (6 cores per cpu, 1 threads per core) family 6 model 158 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, tsc, tscinvbit, bmi1, bmi2, adx
    Memory: 4k page, physical 16777216k(131104k free)
    vm_info: Java HotSpot(TM) 64-Bit Server VM (25.201-b09) for bsd-amd64 JRE (1.8.0_201-b09), built on Dec 15 2018 18:35:23 by "java_re" with gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
    time: Sat May 21 10:41:09 2022
    timezone: JST
    elapsed time: 15 seconds (0d 0h 0m 15s)
    opened by noblemaster 2
  • 3.3.1(Feb 21, 2022)

    Changes since 3.3.0:


    • Added liburing bindings.
      • Can be found in the LWJGL core module (package org.lwjgl.system.linux.liburing).
    • Added OpenXR bindings. (#569)
    • Assimp: Updated to 5.2.2 (up from 5.1.0)
    • glfw: Updated to latest 3.3.6 (up from 3.3.5)
      • Added glfwGetGLXFBConfig.
      • Added glfwGetEGLConfig.
    • meshoptimizer: Updated to 0.17 (up from 0.16)
    • Nuklear: Updated to 4.9.6 (up from 4.09.0)
    • Shaderc: Updated to 2022.1 (up from 2021.3)
    • vma: Updated to latest 3.3.0-development
      • Added virtual allocator API.
    • Vulkan: Updated to 1.3.206 (up from 1.2.198)
      • Includes MoltenVK 1.1.7 (up from 1.1.5)
    • xxhash: Updated to 0.8.1 (up from 0.8.0)
    • Zstd: Updated to 1.5.2 (up from 1.5.0)
      • Also, the LWJGL memory allocator is now used for internal allocations.


    • GLFW: An alternative macOS build now supports Cocoa calls on any thread.
      • A different window toolkit (AWT, JavaFX, etc.) may now run at the same time as GLFW. It must be initialized before glfwInit is called.
      • Enabled with Configuration.GLFW_LIBRARY_NAME.set("glfw_async");.


    • Core: Fixed extra NUL in string returned from SharedLibrary::getPath() on Linux & macOS. (#713)
    • Core: Fixed integer overflow when casting pointers on 32-bit architectures. (#720)
    • Core: Fixed rare NPE with Configuration.DEBUG_STACK enabled. (#721)
    • OpenCL: Fixed values of the KERNEL_ARG_ADDRESS_* constants. (#733)
    • OpenCL: Fixed value of KERNEL_ARG_TYPE_QUALIFIER constant. (#735)
    • vma: Fixed nullability of VmaVirtualAllocationCreateInfo::pUserData member.
    • Vulkan: All noautovalidity parameters/members are now regarded as nullable. (#702)
    Source code(tar.gz)
    Source code(zip)
    lwjgl.zip(146.12 MB)
  • 3.3.0(Nov 15, 2021)

    Changes since 3.2.3:


    • Added libffi bindings.
      • Bundled with the LWJGL core, under the org.lwjgl.system package.
    • Added meshoptimizer bindings.
    • Added SPIRV-Cross bindings.
    • Assimp: Updated to 5.1.0 (up from 5.0.0.rc2)
    • bgfx: Updated to API version 115 (up from 100)
    • CUDA: Updated to 11.5.0 (up from 10.1.0)
      • Now includes full API documentation.
    • glfw: Updated to latest 3.3.4 (up from 3.3.1):
      • Added glfwInitAllocator.
      • Added glfwGetPlatform.
      • Added glfwPlatformSupported.
      • Added glfwInitVulkanLoader.
      • Added standard cursors for diagonal and omnidirectional resize/move and operation-not-allowed.
      • Added OSMesa native access functions.
    • LibOVR: Updated to 1.64.0 (up from 1.39.0)
    • libdivide: Updated to 5.0 (up from 2.0)
      • Added support for 16-bit divisions.
    • LLVM/Clang: Updated to 13.0.1 (up from 8.0)
    • lmdb: Updated to 0.9.28 (up from 0.9.24)
    • lz4: Updated to 1.9.3 (up from 1.9.2)
    • NativeFileDialog: Updated to 1.2.0 (up from 1.1.6)
    • Nuklear: Updated to 4.09.0 (up from 4.01.0)
    • OpenAL Soft: Updated to 1.21.1 (up from 1.19.1)
      • Added AL_SOFT_bformat_ex extension.
      • Added AL_SOFT_buffer_samples extension.
      • Added AL_SOFT_buffer_sub_data extension.
      • Added AL_SOFT_direct_channels_remix extension.
    • OpenCL: Added support for OpenCL 3.0.
    • OpenVR: Updated to 1.16.8 (up from 1.6.10)
    • Opus: Added Opusfile & Libopusenc bindings (#634)
    • par: Added par_octasphere bindings.
    • rpmalloc: Updated to 1.4.3 (up from 1.4.0)
    • Shaderc: Updated to 2021.3 (up from 2019.1)
    • stb
      • Updated stb_dxt to 1.12 (up from 1.08)
      • Updated stb_easy_font to 1.1 (up from 1.0)
      • Updated stb_image to 2.27 (up from 2.23)
      • Updated stb_image_resize to 0.97 (up from 0.96)
      • Updated stb_image_write to 1.16 (up from 1.13)
      • Updated stb_perlin to 0.5 (up from 0.4)
      • Updated stb_rect_pack to 1.01 (up from 1.00)
      • Updated stb_truetype to 1.26 (up from 1.22)
      • Updated stb_vorbis to 1.22 (up from 1.17)
    • tinyexr: Updated to 1.0.1 (up from 1.0.0 pre-release)
    • tinyfiledialogs: Updated to 3.8.8 (up from 3.3.9)
    • vma: Updated to 3.3.0-development (up from 2.2.0)
    • Vulkan: Updated to 1.2.198 (up from 1.1.121)
      • Includes Vulkan Video
      • Includes MoltenVK 1.1.5 (up from 1.0.36)
    • xxhash: Updated to 0.8.0 (up from 0.7.1)
    • Yoga: Updated to 1.19.0 (up from 1.14.0)
    • Zstd: Updated to 1.5.0 (up from 1.4.3)


    • macOS/Windows: Added support for ARM builds. (#601)
      • Maven classifier for macOS: natives-macos-arm64
      • Maven classifier for Windows: natives-windows-arm64
    • Linux: Shared libraries are now built with GCC 7.5 (up from GCC 4.8)
    • Generator: Struct member javadoc moved to the corresponding getter method.
      • There are links to the getter method in the class javadoc (Layout section) and in the javadoc of the corresponding setter and .Buffer accessors.
      • Makes it easier to navigate to the documentation of a particular member.
    • Generator: simplified stack allocation methods in Struct classes.
      • 4 new methods added, named malloc and calloc, without a "Stack" suffix.
      • 8 old methods with the "Stack" suffix are now deprecated, to be removed in LWJGL 3.4.0.
    • Core: Replaced internal usages of dyncall with libffi.
      • This resolves a range of long-standing issues, mainly with upcalls (callbacks).
      • Single native callback handler used for all upcalls, regardless of signature. Arguments and return values handled Java-side (per callback type).
      • Improved upcall performance (before: JNI downcall per argument, after: simple memory accesses)
      • Support for structs returned by-value. (#283)
    • Core: Implemented overflow protection in text encoding methods.
    • Core: When LWJGL fails to resolve native libraries, it will now attempt to report native JAR files in the classpath with mismatching platform/architecture. (#587)
    • Core: The SharedLibraryLoader now prefers to extract natives to the working directory, over the user's home directory.
    • Core: Added version information to module descriptors. (#685)
      • The LWJGL version/build used will now be included in stacktraces of modular applications.
    • docs: The javadoc of callback classes/interfaces now includes a link to the corresponding invoke method, for better IDE navigation.
    • macOS: Shared libraries are now built with Xcode 11.3 (up from 10.0)
    • GLFW: Added overrides for internally loaded shared libraries.
      • Useful when there's a mismatch with the library loaded by LWJGL.
      • GLFWNativeEGL.setEGLPath & GLFWNativeEGL.setGLESPath
      • GLFWNativeGLX.setPath
      • GLFWNativeNSGL.setFramework
      • GLFWNativeWGL.setPath
      • GLFWVulkan.setPath
    • GLFW: There is now a single Linux native that supports both X11 and Wayland.
      • Use glfwPlatformSupported(GLFW_PLATFORM_WAYLAND) to test if Wayland is available.
      • Use glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_WAYLAND) to enable the Wayland backend.
    • GL: Added support for OSMesa contexts. (#595)
    • GL/GLES/AL: Added createCapabilities overloads that accept an IntFunction<PointerBuffer>. Enables explicit management of the off-heap memory used by the capabilities instances.
    • GL/GLES/AL: When capabilities creation fails, the current thread/process capabilities state is no longer reset to null.
    • GL/GLES/AL/CL/EGL: Added Configuration options to forcibly disable specific extensions for debugging purposes. (#683)
    • OpenAL: Introduced ALC::setCapabilities. Rarely useful when opening multiple devices with different ALC capabilities. (#582)
    • Vulkan: Struct classes now include an additional sType setter that writes the appropriate struct type value. (#537)
    • Vulkan: Struct classes now include type-safe pNext setters, one for each struct type that is known to extend them.
      • These setters prepend the struct to the pNext chain, enabling cleaner code when chaining multiple structs.
      • Order does not matter, but do note that structs will be chained in the reverse order of the pNext calls.
      • Also be careful when the base struct is malloced, make sure to call .pNext(NULL) first, otherwise the last struct in the chain will point to invalid memory.


    • Generator: Native libraries are now initialized before constants. (#630)
    • Core: Fixed unsafe field reads in MemoryUtil setup code. (#632)
    • Core: The SharedLibraryLoader now prepends a . to SHARED_LIBRARY_EXTRACT_DIRECTORY when the target directory is not temporary.
    • Core: The SharedLibraryLoader will now load libraries in the correct ClassLoader when testing for JDK-8195129. (#648)
    • Core: Changed the encoding of dlopen paths to UTF-8. (#691)
    • CUDA: Implemented missing cuIpcOpenEventHandle/cuIpcOpenMemHandle using libFFI.
    • EGL: Fixed nullability of eglInitialize arguments.
    • GLFW: Fixed main thread check. Setting GLFW_CHECK_THREAD0 to false is now required for offscreen interop. (#538)
    • OpenCL: Added missing errcode_ret parameter to clLinkProgram. (#560)
    • OpenGL: Restored GL_TEXTURE in the core profile. (#573)
    • OpenGL: Added buffer object offset overloads to GetQueryObject* functions.
    • stb: Removed redundant stb_image_resize overloads. (#605)
    • Vulkan: Fixed GLFW configuration for MoltenVK. (#502)
    • Vulkan: Fixed vkGetInstanceProcAddr to work with null instance arguments.
    • Vulkan: Fixed unsigned arithmetic in VK_VERSION_MAJOR and VK_VERSION_MINOR macros.

    Breaking Changes

    (B): binary incompatible change
    (S): source incompatible change
    • Linux: Shared libraries are now built on Ubuntu 18.04 (up from Ubuntu 16.04) (B)
      • GLIBC versions older than 2.14 are no longer supported. Some, but not all, LWJGL natives may require up to GLIBC 2.27.
      • Applications deployed on older systems must now build & bundle custom LWJGL natives. Contact LWJGL developers if you need assistance.
    • Removed deprecated methods that were marked for removal in LWJGL 3.3. (S)
    • Core: Users of the dyncall bindings must migrate to libffi. (S)
    • CUDA: Merged versioned classes into a single class that contains the entire functionality. (S)
      • The bindings still require CUDA 3.2 as the minimum version. There are runtime checks for functions introduced after 3.2.
    • Shaderc: The shaderc_spvc library has been removed since Shaderc 2020.4. Users may migrate to the new SPIRV-Cross bindings. (S)
    • Vulkan: All header boilerplate constants have been moved to VK10. (S)
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.3.0.zip(136.61 MB)
  • 3.2.3(Sep 1, 2019)

    Changes since 3.2.2:


    • Added Shaderc bindings. (#77)
    • Added bindings to platform APIs that can be used to programmatically generate input events.
    • Assimp: Updated to 5.0.0rc2 (up from 5.0.0rc1).
    • bgfx: Updated to API version 100 (up from 99)
    • glfw: Updated to 3.4.0 pre-release (up from 3.3.0)
    • EGL: Added EGL_NV_stream_dma.
    • jemalloc: Updated to 5.2.1 (up from 5.2.0)
    • LibOVR: Updated to 1.39.0 (up from 1.35.0)
    • libdivide: Updated to 2.0 (up from 1.0)
    • lz4: Updated to 1.9.2 (up from 1.9.1)
      • Also, the LWJGL memory allocator is now used for internal allocations.
    • nuklear: Updated to 4.01.0 (up from 4.00.2)
    • OpenGL(ES): Added latest extensions.
      • GL_EXT_multiview_tessellation_geometry_shader
      • GL_EXT_multiview_texture_multisample
      • GL_EXT_multiview_timer_query
      • GL_EXT_texture_shadow_lod
      • GL_EXT_texture_sRGB_R8
      • GL_KHR_shader_subgroup
      • GL_NV_shader_subgroup_partitioned
      • GL_NVX_gpu_multicast2
      • GL_NVX_progress_fence
    • OpenVR: Updated to 1.6.10 (up from 1.3.22)
    • par: Updated par_shapes to latest version.
      • Added par_shapes_create_cone.
    • par: Added par_streamlines bindings.
    • rpmalloc: Updated to 1.4.0 (up from 1.3.2)
    • stb
      • Updated stb_image to 2.23 (up from 2.22)
      • Updated stb_truetype to 1.22 (up from 1.21)
      • Updated stb_vorbis to 1.17 (up from 1.16)
    • Vulkan: Updated to 1.1.121 (up from 1.0.107)
      • Includes MoltenVK 1.0.36
    • xxhash: Updated to 0.7.1 (up from 0.7.0)
    • Zstd: Updated to 1.4.3 (up from 1.4.0)


    • Linux: Added support for ARM builds.
      • 32-bit: ARMv7/armhf architecture. Maven classifier: linux-arm32
      • 64-bit: ARMv8/AArch64 architecture. Maven classifier: linux-arm64
    • Windows: There is now a separate native JAR file per architecture.
      • The default contains x64 shared libraries only. Maven classifier: windows
      • lwjgl-natives-windows-x86.jar contains x86 shared libraries only. Maven classifier: windows-x86
      • The 32 suffix has been dropped from x86 shared library names.
    • Windows: Shared libraries are now built with Visual Studio 2019 (up from 2017)
    • Maven: LWJGL artifacts now include a Bill of Materials (lwjgl-bom). (#481)
    • Refactored the layout of native JAR files.
      • Shared libraries have been moved from the root to a <platform>/<arch>/<module>/ subfolder.
        • <platform>: one of linux, macos, windows.
        • <arch>: one of x64, x86, arm64, arm32.
        • <module>: the corresponding Java module name as a package hierarchy.
        • Example: glfw.so in lwjgl-glfw-natives-linux.jar is under the linux/x64/org/lwjgl/glfw folder.
      • The new layout allows multiple native JAR files to be combined for custom deployment.
      • Custom (or the old) layout may be used with newly exposed Configuration options.
    • Core: Added enum Platform.Architecture and Platform.getArchitecture() API.
    • Core: Added relative & absolute apply(Consumer<T>) methods to StructBuffer<T>.
    • Core: Added Consumer<T> setters to structs with nested arrays of structs.
    • Core: Added memByteBuffer overloads that return ByteBuffer views of other buffer types.
    • Core: Added CLongBuffer, a class similar to PointerBuffer but for C long values.


    • Core: Removed support for Critical JNI Natives. (#490)
      • Will be restored in LWJGL 3.3 (disabled by default, enabled with a Configuration option).
    • Core: Fixed buffer attachment offset detection on JDK 12+. (#491)
    • Core: Fixed ByteBuffer attachments in memSlice & memDuplicate.
    • Generator: Fixed invalid generation of functions with struct parameters passed by value. (#496)
      • Affected bindings: OpenVR and LLVM/Clang.
    • Generator: Improved javadoc for array and nested struct members.
    • EGL/GLES: Fixed bootstrapping code.
      • Regression caused by org.lwjgl.system.JNI refactoring in 3.2.2.
    • LLVM: Fixed default library names.
    • lmdb: Reverted to the official release. (#482)
      • Windows: Performance issues are eliminated, but sparse database mappings & incremental file growth are not supported anymore.
    • OpenGL: Fixed signatures of glGetnUniformiv and glGetnUniformuiv.

    Breaking Changes

    (B): binary incompatible change
    (S): source incompatible change
    • Core: The Library.loadSystem & Library.loadNative methods now require a module name parameter. (S)
    • Core: Removed Consumer<T> overloads from read-only structs with nested struct members. (S)
    • Core: MemoryUtil.memFree(PointerBuffer) changed to memFree(CustomBuffer). (B)
    • LZ4: The autoFlush and favorDecSpeed members of LZ4F_preferences_t are now mapped to Java boolean. (S)
    • Vulkan: The descriptorCount member of VkWriteDescriptorSet must now be set explicitly. (S)
      • The semantics of descriptorCount may change via extensions, which invalidates auto-sizing.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.2.3.zip(108.23 MB)
  • 3.2.2(May 5, 2019)

    Changes since 3.2.1:


    • bgfx: Updated to API version 99 (up from 90)
    • glfw: Updated to 3.3.0 (up from 3.3.0 pre-release):
      • Added glfwGetMonitorWorkarea.
      • Added glfwRawMouseMotionSupported.
    • CUDA: Updated to 10.1 (up from 10.0)
    • jemalloc: Updated to 5.2.0 (up from pre-release 5.2.0)
    • LibOVR: Updated to 1.35.0 (up from 1.31.0)
    • LLVM/Clang: Updated to 8.0 (up from 7.0)
    • lmdb: Updated to 0.9.24 (up from 0.9.23)
    • lz4: Updated to 1.9.1 (up from 1.8.3)
    • NanoVG: Added support for using bgfx as the rendering back-end.
    • NanoVG: Added Blendish & OUI bindings.
    • NativeFileDialog: Updated to 1.1.4 (up from 1.1.3)
    • OpenVR: Updated to 1.3.22 (up from 1.1.3b)
    • Opus: Updated to 1.3.1 (up from 1.3.0)
    • stb
      • Updated stb_image to 2.22 (up from 2.19)
      • Updated stb_image_resize to 0.96 (up from 0.95)
      • Updated stb_image_write to 1.13 (up from 1.09)
      • Updated stb_perlin to 0.4 (up from 0.3)
      • Updated stb_rect_pack to 1.00 (up from 0.11)
      • Updated stb_truetype to 1.21 (up from 1.19)
      • Updated stb_vorbis to 1.16 (up from 1.14)
    • tinyfiledialogs: Updated to 3.3.9 (up from 3.3.8)
    • vma: Updated to 2.2.0 (up from 2.1.0)
    • Vulkan: Updated to 1.1.107 (up from 1.0.95)
      • Includes MoltenVK 1.0.35 (up from 1.0.27)
    • xxhash: Updated to 0.7.0 (up from 0.6.5)
    • Yoga: Updated to 1.14.0 (up from 1.10.0)
    • Zstd: Updated to 1.4.0 (up from 1.3.7)


    • build(ant): The release target now works in offline mode (LWJGL_BUILD_OFFLINE=true).
      • The build can be incomplete. Missing natives will be ignored and javadoc generation can be disabled for faster builds.
    • build(gradle): Deployments of incomplete builds to the local Maven repository are now allowed.
    • Core: Implemented workaround for JDK-8195129 in the SharedLibraryLoader.
    • perf: Critical JNI Natives are now generated for primitive-only functions.
    • LLVM: The bindings can now be used with LLVM/Clang version 5.0 or newer (down from 8.0).


    • build(ant): Fixed building on Linux & macOS when the path to LWJGL's root directory is shallow. (#442)
    • Core: Fixed race condition in callback deallocation when the debug allocator is enabled. (#444)
    • Generator: The workaround for JDK-8167409 is now applicable to functions with 5 parameters + 1 implicit parameter (function address or struct value result).
    • Generator: Support void() in callback functions without parameters.
    • Assimp: Added missing members to various struct types.
    • LLVM: LLVMGetErrorMessage now returns ByteBuffer instead of String, so that LLVMDisposeErrorMessage can be used.
    • nuklear: The nk_text_edit, nk_text_undo_state and nk_text_undo_record structs are now public.
    • OpenCL: Array overloads of EnqueueRead/Write functions cannot be used to perform non-blocking reads/writes anymore.
    • OpenGL: Added GL_DRAW_INDIRECT_BUFFER overloads to NV_bindless_multi_draw_indirect & NV_bindless_multi_draw_indirect_count extensions.
    • vma: Fixed VmaMemoryUsage enumeration values. (#458)

    Breaking Changes

    (B): binary incompatible change
    (S): source incompatible change
    • Core: Function address parameters in org.lwjgl.system.JNI & org.lwjgl.system.jawt.JAWTFunctions methods are now last, after normal parameters. (S)
      • Enables tail-calls without argument shuffling, when Critical JNI Natives are used.
    • glfw: removed CharSequence overload of glfwUpdateGamepadMappings. (S) (#462)

    Known Issues

    • Core: LWJGL 3.2.2 is incompatible with Java 12 or higher. (#491)
      • This issue is fixed in LWJGL 3.2.3.
    • Core: Using LWJGL 3.2.2 with a garbage collector that does not support object pinning, may lead to excessive GC-related blocking. (#490)
      • Workaround: pass -XX:-CriticalJNINatives to the JVM.
      • This issue is fixed in LWJGL 3.2.3.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.2.2.zip(75.21 MB)
  • 3.2.1(Dec 8, 2018)

    Changes since 3.2.0:


    • Added CUDA bindings.
      • Only the Driver API & NVRTC are supported in this release.
      • Bindings to more CUDA Toolkit libraries will be added in the future.
    • Added libdivide bindings.
    • Added LLVM/Clang bindings.
      • LLVM binaries are not included in this release. They must be separately downloaded or built for each platform.
    • Added Meow hash bindings.
    • Added Opus bindings.
    • bgfx: Updated to API version 90 (up from 76)
    • dyncall: Updated to 1.0 (up from 1.0-RC)
    • glfw: Updated to pre-release 3.3.0 version (up from 3.3.0 pre-release):
      • Added glfwAttachWin32Window. (experimental)
    • jemalloc: Updated to pre-release 5.2.0 (up from 5.1.0)
      • When available, it is again the default memory allocator on Windows.
    • LibOVR: Updated to 1.30.0 (up from 1.26.0)
    • lz4: Updated to 1.8.3 (up from 1.8.2)
    • Nuklear: Updated to 4.00.2 (up from 4.00.1)
    • OpenAL Soft: Updated to 1.19.1 (up from 1.18.2)
      • Added ALC_SOFT_device_clock extension.
    • OpenGL(ES): Added latest extensions:
      • NV_memory_attachment
      • NV_compute_shader_derivatives
      • NV_fragment_shader_barycentric
      • NV_mesh_shader
      • NV_representative_fragment_test
      • NV_scissor_exclusive
      • NV_shader_texture_footprint
      • NV_shading_rate_image
      • QCOM_shader_framebuffer_fetch_rate
      • QCOM_texture_foveated_subsampled_layout
    • OpenVR: Updated to 1.1.3b (up from 1.0.16)
    • rpmalloc: Updated to 1.3.2 (up from 1.3.1)
    • tinyfiledialogs: Updated to 3.3.8 (up from 3.3.6)
    • vma: Updated to 2.1.0 (up from 2.0.0)
    • Vulkan: Updated to 1.1.95 (up from 1.0.82)
      • Includes MoltenVK 1.0.27 (up from 1.0.16)
    • Yoga: Updated to 1.10.0 (up from 1.9.0)
    • Zstd: Updated to 1.3.7 (up from 1.3.5)


    • perf(core): Refactored LWJGL internals to make call stacks shallower.
      • Makes it harder to cross Hotspot's default MaxInlineLevel threshold, which can disable important optimizations.
    • perf(core): Added memDuplicate and refactored memSlice with implementations that use Unsafe to construct buffer instances, similar to mem-X-Buffer.
      • Compared to the default JDK implementations, these methods are faster and enable Scalar Replacement via EA on Hotspot.
      • The memSlice with offset method is also thread-safe now.
    • perf(core): Implemented workarounds to make struct buffer iteration garbage free on Hotspot.
    • perf(core): Re-tuned string codecs and memCopy/memSet for Java versions 8 to 11.
    • perf(core): Added thread-local array cache to minimize allocations while decoding text.
    • bgfx: Builds of bgfx tools (geometryc, shaderc, texturec, texturev) are now available.
      • Use the file browser in the LWJGL website to download the executables.
      • For example, the latest Windows x64 build of shaderc can be found under nightly/windows/x64/bgfx-tools/.
    • vma: VmaVulkanFunctions.set(VkInstance, VkDevice) will now use Vulkan 1.1 functions instead of KHR_get_memory_requirements2 functions, if available.
    • Generator: The template DSL has been simplified considerably.
    • Generator: Added the LWJGL Template Extraction Tool. It uses the new Clang bindings to parse native headers and extract LWJGL template declarations.
      • Extracts both declarations and associated documentation.
      • Written in Kotlin. The source can be found in the extract module.


    • Core: Fixed text decoding from buffer with .position() > 0.
      • Affected all decoders on Java 9+, only UTF-16 on Java 8.
    • Core: Fixed the bounds check in memCopy. (#414)
    • OpenAL: Fixed signature of alListener3i. (#427)
    • OpenVR: The pGamePoseArray parameter of VRCompositor_WaitGetPoses is now nullable. (#418)
    • OpenVR: Fixed returned type of VRRenderModels_GetComponentStateForDevicePath.
    • OpenVR: Renamed VRInput_UncompressSkeletalActionData to VRInput_DecompressSkeletalBoneData.
    • OpenVR: Fixed wrong modifiers in VRInput functions:
      • VRInput_GetDigitalActionData
      • VRInput_GetAnalogActionData
      • VRInput_GetPoseActionData
      • VRInput_GetSkeletalActionData
      • VRInput_GetOriginTrackedDeviceInfo
    • vma: The native library is now initialized automatically.
    • vma: Optional KHR_get_memory_requirements2 addresses in VmaVulkanFunctions are now nullable.
    • vma: Nullability of VmaAllocationCreateInfo & VmaAllocationInfo members.

    Breaking Changes

    (B): binary incompatible change
    (S): source incompatible change
    • Core: sun.misc.Unsafe is now required, there is no JNI fallback.
    • vma: The VmaVulkanFunctions.set helper method now returns VmaVulkanFunctions. (B)

    Known Issues

    • Core: LWJGL 3.2.1 is incompatible with Java 12 or higher. (#491)
      • This issue is fixed in LWJGL 3.2.3.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.2.1.zip(72.87 MB)
  • 3.2.0(Jul 30, 2018)

    Changes since 3.1.6:


    • Added Vulkan Memory Allocator bindings.
    • bgfx: Updated to API version 76 (up from 60)
      • bgfx_init now accepts a parameter structure instead of arguments.
    • glfw: Updated to pre-release 3.3.0 version (up from 3.3.0 pre-release):
      • Added support for gamepad mapping input modifiers (SDL 2.0.6+ format)
      • Added GLFW_FOCUS_ON_SHOW.
    • dyncall: Updated to revision 275 (up from 241)
    • jemalloc: Update to 5.1.0 (up from 5.0.1)
    • lz4: Updated to 1.8.2 (up from 1.8.1)
    • LibOVR: Updated to 1.26.0 (up from 1.20.0)
    • Nuklear: Updated to 4.00.1 (up from 3.00.2)
    • OpenGL: Introduced new GL11C...GL46C classes that include symbols of the Core Profile only.
      • Read the org.lwjgl.opengl package javadoc for more information on this feature.
    • OpenVR: Updated to 1.0.16 (up from 1.0.12)
    • rpmalloc: Updated to 1.3.1 (up from 1.2.2)
    • stb
      • Updated stb_image to 2.19 (up from 2.18)
      • Updated stb_image_write to 1.09 (up from 1.08)
      • Updated stb_truetype to 1.19 (up from 1.18)
      • Updated stb_vorbis to 1.14 (up from 1.13b)
    • tinyfiledialogs: Updated to 3.3.6 (up from 3.2.9)
    • Vulkan: Updated to 1.1.82 (up from 1.0.68)
      • Includes MoltenVK 1.0.16
    • xxhash: Update to 0.6.5 (up from 0.6.4)
    • Yoga: Updated to 1.9.0 (up from 1.7.1)
    • Zstd: Updated to 1.3.5 (up from 1.3.4)


    • Versioned classes in bindings now form inheritance hierarchies.
      • Applicable to the following versioned classes: AL, ALC, CL, EGL, GL, GLES, GLX, VK
      • For example, the GL30 class now extends the GL21 class, GL21 extends GL20 and so on.
      • With this change, importing a versioned class allows all symbols up to that version to be resolved. Earlier versions do not need to be imported separately.
    • perf(core): memGetAddress/memPutAddress are now an order of magnitude faster on 32-bit JVMs.
    • perf(core): Optimized pointer arithmetic by helping the JVM identify unsigned integers.
    • perf(core): The new java.util.Objects index check intrinsics are used on Java 9.
    • perf(core): MemoryUtil string decoding methods are now faster on both Java 8 and 9+.
      • The Java 9 implementations are tuned for compact strings (JEP 254).
    • perf(generator): Function pointers in capabilities classes are not sorted by name anymore.
      • This makes it more likely that for functions that are commonly used together, their respective pointers will be closer in memory, avoiding unnecessary cache misses.
    • Generator: org.lwjgl.system.JNI now includes signatures for known callback functions.
      • Can be used for callback function delegation.
    • Generator: Added support for custom methods in struct classes.
    • Generator: Added fluent setters for nested structs.
    • Generator: Made StructBuffer subclass generation optional.
    • Loader: Now prints the path of shared libraries loaded from system paths in debug mode, when possible.
    • docs(core): Improved PointerBuffer javadoc.
    • docs: The LWJGL javadoc is now generated with JDK 10.
    • Core: MemoryUtil methods now replace requests for zero-size allocations with non-zero-size allocations.
      • A zero-size allocation now always returns a non-NULL pointer or throws an OOME. This is consistent with ByteBuffer.allocateDirect and avoids the undefined behavior of native allocators.
      • The returned buffer has a capacity of zero, regardless of the actual allocation size.
    • Core MemoryUtil.memRealloc is not @Nullable anymore, will either succeed or throw an OOME, like memAlloc/memCalloc.
    • Core: It is now possible to create a MemoryStack backed by externally managed memory.
    • Core: The debug allocator now also tracks internal allocations of shared libraries that have been configured to use the LWJGL memory allocator.
      • This enables monitoring/debugging allocations inside shared libraries. Internal resources that are never released are now reported on shutdown.
      • Enabled by default when Configuration.DEBUG_MEMORY_ALLOCATOR is enabled.
      • May be disabled with Configuration.DEBUG_MEMORY_ALLOCATOR_INTERNAL.set(false).
    • LMDB: The LWJGL memory allocator is now used for internal allocations.
    • NanoVG/NanoSVG: The LWJGL memory allocator is now used for internal allocations.
    • OpenGL/GLES: Calling an unavailable function triggers a JNI FatalError instead of an arbitrary segfault.
      • Avoids the intimidating crash log and writes a clean stack trace to stderr.


    • Generator: Fixed nullability of macro bindings.
    • Generator: Fixed location of generated static blocks
    • Core: Struct buffer malloc/calloc methods now support zero capacity, instead of throwing a NPE.
    • macOS: Fixed version number detection in .dylib name mapping
    • Nullability fixes in:
      • Assimp
      • CGL
      • Yoga
      • Parameters of struct multi-setter methods
    • OpenCL: Fixed CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT constant name.
    • OpenCL: Dropped unnecessary clSetKernalArg3<t> overloads.
    • OpenGL/GLES: The thread-local-free function pointer lookups do not depend on JVMTI anymore.
    • stb: Fixed type of stbi_write_jpg function's data parameter.

    Breaking Changes

    • Core: MemoryUtil.MemoryAllocationReport now also returns the address of the memory allocation.
    • NanoVG: Parameters windowWidth/windowHeight of the nvgBeginFrame function changed to float.

    Known Issues

    • vma: The native library is not initialized automatically.
      • Workaround: call Class.forName("org.lwjgl.util.vma.LibVma") before using the VMA bindings.
    • vma: KHR_get_memory_requirements2 function addresses in VmaVulkanFunctions are not optional.
      • Workaround: Enable the KHR_get_memory_requirements2 extension, or set the equivalent function addresses from Vulkan 1.1.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.2.0.zip(63.89 MB)
  • 3.1.6(Feb 4, 2018)

    Changes since 3.1.5:


    • bgfx: Updated to API version 60 (up from 55)
    • glfw: Updated to pre-release 3.3.0 version (up from 3.3.0 pre-release):
      • Support for lock key modifiers (GLFW_LOCK_KEY_MODS input mode, GLFW_MOD_CAPS_LOCK, GLFW_MOD_NUM_LOCK)
      • Support for string window hints (glfwWindowHintString, GLFW_COCOA_FRAME_NAME, GLFW_X11_CLASS_NAME, GLFW_X11_INSTANCE_NAME)
      • Support monitor & joystick user ponters (glfwSetMonitorUserPointer, glfwGetMonitorUserPointer, glfwSetJoystickUserPointer, glfwGetJoystickUserPointer)
      • Support for window content scale callbacks (glfwSetWindowContentScaleCallback)
      • Support for cursor hover tests (GLFW_HOVERED)
    • lz4: Update to 1.8.1 (up from 1.8.0)
    • Nuklear: Update to 3.00.2 (up from 2.00.4)
    • OpenVR: Updated to 1.0.12 (up from 1.0.10)
    • rpmalloc: Updated to 1.2.2 (up from 1.2.0)
    • stb
      • Updated stb_dxt to 1.08b (up from 1.0.7)
      • Updated stb_image to 2.18 (up from 2.16)
      • Updated stb_image_write to 1.08 (up from 1.07)
        • STBIW_ZLIB_COMPRESS can be overridden at runtime with stbi_zlib_compress.
      • Updated stb_truetype to 1.18 (up from 1.17)
      • Updated stb_vorbis to 1.13b (up from 1.11)
    • tinyfiledialogs: Updated to 3.2.9 (up from 3.2.4)
    • Vulkan: Updated to 1.0.68 (up from 1.0.65)
    • xxhash: Updated to 0.6.4 (up from 0.6.3)
    • Zstd: Updated to 1.3.4 (up from 1.3.2)
    • Yoga: Updated to 1.9.0 (up from 1.7.0)


    • Added JSR-305 nullability annotations to the core and all bindings. (#344)
      • Enables static analysis tools (FindBugs, IDEs) to detect accesses that could cause NullPointerException. Eliminating those improves the quality of LWJGL applications.
      • Enables better interopation with JVM-based languages that feature built-in null-safety. For example, see Kotlin's JSR-305 support.
    • Added Configuration setting to disable function lookup checks.
    • lmdb: Databases are now binary compatible across 32 & 64-bit architectures. (#364)
      • MDB_VL32 is enabled on 32-bit builds.
    • par_shapes: Patched to support 32-bit indices and extremely dense meshes.
    • stb_truetype: Exposed members of internal structures for advanced glyph packing customization. (#358)
    • Tootle: Now supports the Direct3D rasterizer for overdraw optimization.


    • JPMS: A natives module now requires transitive the corresponding Java module, instead of the opposite. (#334)
      • Enables loading shared libraries from non-modular paths/JARs.
    • JPMS: module-info files have been moved under META-INF/version/9/ (#334)
      • All LWJGL artifacts are now multi-release JAR files to avoid trouble with older tools that are not compatible with Java 9.
    • JPMS: Added appropriate requires static declarations to satisfy optional binding interop dependencies. (#369)
    • Fixed broken javadoc links in all bindings. Also updated URLs to avoid redirects.
    • bgfx: Restored default API thread encoder functions, that were erroneously removed in 3.1.4.
    • LibOVR: Fixed ovr_TraceMessage signature.
    • OpenAL: Fixed capability name of the AL_SOFT_source_resampler extension.
    • Tootle: Fixed pnClusterRemapOut parameter validation.

    Breaking Changes

    • Several methods that previously accepted null/NULL and returned null, now require non-null input.
      • Applies to: struct & callback creation methods and memByteBuffer/memUTF8/stack.UTF8/etc.
      • Added corresponding methods with the Safe suffix that accept null/NULL, matching the old behavior.
      • With this change the common case (non-null input) requires no code changes and is warning/error-free. The uncommon case (null input) is recognizable (the suffix) and must be handled properly to eliminate warnings/errors.
    • Allocation methods that returned null/NULL on allocation failure, now throw OutOfMemoryError instead. This matches the behavior of ByteBuffer.allocateDirect.
      • Applies to: struct allocation methods and memAlloc/memCalloc/etc.
      • Does not apply to allocations via direct binding calls (e.g. LibCStdlib.malloc).
    • Getters of struct members that should never be NULL, throw NullPointerException instead of returning null when the struct instance is not initialized.
      • Use Struct::isNull to test pointer members of untrusted struct instances.
    • bgfx: Restored native mapping of bgfx_init(_vendorId) and bgfx_update_texture_cube(_side) parameters. (#368)
    • bgfx: uint16_t bitfield constants are now mapped to int. (#368)
    • glfw: glfwInitHintString has been renamed to glfwWindowHintString.
    • lmdb: Databases developed on 32-bit architectures must be recreated. (#364)
    • par_shapes: Changed par_shapes_mesh::triangles from uint16_t/ShortBuffer to uint32_t/IntBuffer.
    • stb_rect_pack: stbrp_rect::was_packed is now mapped to Java boolean.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.6.zip(53.93 MB)
  • 3.1.5(Jan 23, 2018)

    Changes since 3.1.4:


    • Added AMD Tootle bindings.
      • Only the software rasterizer is supported.


    • Fixed various javadoc links.
    • par: Parsing of floating point values in L-systems is now locale-insensitive.
    • stb: Fixed buffer checks to account for row stride, when specified.
    • Generator: Fixed auto-size transformations by non-constant expressions.

    Breaking Changes

    • Removed array overloads from the LZ4 & ODBC bindings.
      • They were added by mistake in LWJGL 3.1.4.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.5.zip(52.83 MB)
  • 3.1.4(Nov 19, 2017)

    Changes since 3.1.3:


    • Added LZ4 bindings.
    • Added NanoSVG to the existing NanoVG bindings.
    • Added ODBC bindings.
    • Added Remotery bindings.
    • Added Zstandard bindings.
    • bgfx: Updated to API version 55 (up from 48)
    • glfw: Updated to pre-release 3.3.0 version (up from 3.3.0 pre-release):
      • Support for transparent window framebuffers (GLFW_TRANSPARENT_FRAMEBUFFER window hint)
      • Support for whole window opacity (glfwGetWindowOpacity and glfwSetWindowOpacity)
      • Support for content scale queries (glfwGetMonitorContentScale and glfwGetWindowContentScale)
      • Linux: Added support for the experimental Wayland backend. Enable with -Dorg.lwjgl.glfw.libname=glfw_wayland.
    • LibOVR: Updated to 1.20.0 (up from 1.18.0)
    • Nuklear: Updated to 2.00.4 (up from 2.00.2)
    • tinyfiledialogs: Updated to 3.2.4 (up from 3.0.5)
    • Vulkan: Updated to 1.0.65 (up from 1.0.61)
    • Yoga: Updated to 1.7.0 (up from 1.6.0)


    • Replaced Automatic-Module-Name with explicit JPMS modules.
      • Enables applications using LWJGL to be bundled in custom run-time images with the jlink tool.
    • lmdb: Significantly improved incremental growth performance on Windows.
      • Granularity of mapped memory commits increased from 4KB (page size) to 2MB.
      • This is an unofficial patch of ITS#8324.


    • EGL: Fixed nullability of eglMakeCurrent arguments.
    • OpenVR: Fixed mapping of Vulkan forward declarations.
    • Fixed native library resource discovery when running LWJGL as JPMS modules.
    • Fixed invalid size calculation in <StructType>.malloc(capacity) methods.
    • Fixed MemoryStack debugging when a try-with-resources block does not inline the call to AutoCloseable::close.
      • Supports Java 9 try-with-resources, which generates a synthetic $closeResource method.
      • Supports Kotlin's T.use, which uses the kotlin.AutoCloseable::closeFinally extension function.
    • Fixed build number lookup from the jar manifest.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.4.zip(52.17 MB)
  • 3.1.3(Sep 22, 2017)

    Changes since 3.1.2:


    • Added rpmalloc bindings.
      • Use -Dorg.lwjgl.system.allocator=rpmalloc to make it the default memory allocator.
    • Added new extensions to OpenCL, EGL, OpenGL and OpenGL ES.
    • Assimp: Updated to 4.0.1 (up from 3.3.1)
    • bgfx: Updated to API version 48 (up from 41)
    • EGL: Added support for latest extensions
    • glfw: Updated to pre-release 3.3.0 version (up from 3.3.0 pre-release):
      • Improvements to error code query (glfwGetError)
      • More library initialization hints (glfwInitHintString)
      • SDL_GameControllerDB support
        • Import gamepad mappings (glfwUpdateGamepadMappings)
        • Query to determine whether a joystick has a gamepad mapping (glfwJoystickIsGamepad)
        • Query the name of a controller provided by its gamepad mapping (glfwGetGamepadName)
        • Retrieve gamepad input state (glfwGetGamepadState, GLFW_GAMEPAD_*, GLFWgamepadstate)
        • Query the SDL compatible GUID of a joystick (glfwGetJoystickGUID)
      • Linux: Moved to evdev for joystick input
      • EGL: Fixed support for EGL_KHR_create_context_no_error
      • GLX: Added support for GLX_ARB_create_context_no_error
      • WGL: Added support for WGL_ARB_create_context_no_error and WGL_EXT_colorspace
    • jemalloc: Updated to 5.0.1 (up from 4.5.0)
    • LibOVR: Updated to 1.18.0 (up from 1.14.0)
    • lmdb: Updated to 0.9.21 (up from withdrawn 0.9.20)
    • NanoVG: Updated to latest version (performance updates and new nvgShapeAntiAlias function).
    • Nuklear: Updated to 2.00.2 (up from 1.37.0)
    • OpenAL: Added ALC_SOFT_output_limiter extension.
    • OpenAL Soft: Updated to 1.18.2 (up from 1.17.2)
    • OpenCL: Added support for OpenCL 2.2
    • OpenGL: Added support for OpenGL 4.6 and latest extensions
    • OpenGL ES: Added support for latest extensions
    • OpenVR: Update to 1.0.10 (up from 1.0.7)
    • stb
      • Updated stb_dxt to 1.07 (up from 1.06)
      • Updated stb_image to 2.16 (up from 2.15)
      • Updated stb_image_resize to 0.95 (up from 0.94)
      • Updated stb_image_write to 1.07 (up from 1.05)
      • Updated stb_truetype to 1.17 (up from 1.15)
      • Updated stb_vorbis to 1.11 (up from 1.10)
    • tinyfiledialogs: Updated to 3.0.5 (up from 2.8.3)
    • Vulkan: Updated to 1.0.61 (up from 1.0.49)
    • xxhash: Updated to 0.6.3 (up from 0.6.2)
    • Yoga: Updated to 1.6.0 (up from 1.5.0)


    • Generator: Added @NativeType annotations to generated bindings. Documents the native type of:
      • Callback and struct classes.
      • Struct members.
      • Function parameters and return values.
    • The default memory allocator on Windows is now the system allocator instead of jemalloc.
      • jemalloc is not properly optimized for Windows and its performance is not competitive.
      • jemalloc is still a major performance win on Linux and macOS.
      • rpmalloc is faster on all platforms but requires per-thread setup, so must be enabled manually.
    • Buffers created via MemoryUtil may now have up to Integer.MAX_VALUE elements, regardless of element size.
      • For example this allows a LongBuffer allocation of up to 16GB.
    • Added typed overloads to MemoryUtil::memSet and MemoryUtil::memCopy.
    • StructBuffer subclasses are now Iterable and have stream() and parallelStream() methods.
    • OpenGL: Added LongBuffer overloads to buffer object functions.


    • bgfx: Fixed signature of bgfx_create_frame_buffer_from_attachment.
    • OpenGL: Fixed signature of glPixelStoref.
    • OpenGL: ARB_direct_state_access interactions are now respected when checking if the extension is available.
    • stb_image: added ShortBuffer overload to stbi_image_free.
    • stb_truetype: Fixed signature of stbtt_PackFontRangesGatherRects and stbtt_PackFontRangesRenderIntoRects.

    Breaking Changes

    • glfw: Signature of glfwGetError has changed.
    • jemalloc: Removed JEmacros and moved its functionality to JEmalloc.
    • jemalloc: ChunkHooks has been replaced by ExtentHooks.
    • OpenCL: Removed two confusing clCompileProgram overloads.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.3.zip(48.15 MB)
  • 3.1.2(May 15, 2017)

    Changes since 3.1.1:


    • Added OpenVR bindings.
    • Added Tiny OpenEXR bindings.
    • Added Yoga bindings.
    • bgfx: Updated to API version 41 (up from 34)
    • glfw: Updated to pre-release 3.3.0 version (up from 3.2.1). Includes many fixes and new features:
      • Last error code query (glfwGetError)
      • Requesting attention from the user (glfwRequestWindowAttention)
      • Platform dependent scancodes for keys (glfwGetKeyScancode)
      • Window maximization events (glfwSetWindowMaximizeCallback)
      • Window attribute modification (glfwSetWindowAttrib)
      • Joystick hats (glfwGetJoystickHats)
      • Library initialization hints (glfwInitHint)
      • Headless OSMesa backend
      • Cursor centering control (GLFW_CENTER_CURSOR)
      • macOS: Vulkan support via MoltenVK
      • X11: Moved to XI2 XI_RawMotion for disabled cursor mode motion input
      • EGL: Added support for EGL_KHR_get_all_proc_addresses and EGL_KHR_context_flush_control
    • jemalloc: Updated to 4.5.0 (up from 4.4.0)
    • LibOVR: Update to 1.14.0 (up from 1.10.0)
    • lmdb: Updated to 0.9.20 (up from 0.9.18)
    • NanoVG: Added support for fallback fonts.
    • nuklear: Updated to 1.37.0 (up from 1.29.1, with the new versioning)
    • OpenAL: Added AL_SOFT_source_resampler extension.
    • stb
      • Updated stb_dxt to 1.0.6 (up from 1.0.4)
      • Updated stb_easy_font to 1.0 (up from 0.7)
      • Updated stb_image to 2.15 (up from 2.13)
      • Updated stb_image_resize to 0.94 (up from 0.91)
      • Updated stb_image_write to 1.05 (up from 1.02)
      • Updated stb_perlin to 0.3 (up from 0.2)
      • Updated stb_rect_pack to 0.11 (up from 0.10)
      • Updated stb_truetype to 1.15 (up from 1.12)
      • Updated stb_vorbis to 1.10 (up from 1.09)
    • tinyfiledialogs: Updated to 2.8.3 (up from 2.7.2)
    • Vulkan: Updated to 1.0.49 (up from 1.0.38)


    • MemoryStack: Increased default stack size to 64kb (up from 32kb)
    • Shared library loading can now utilize a ClassLoader specified by the caller. (#277)
    • Significantly reduced DEBUG_MEMORY_ALLOCATOR and DEBUG_STACK overhead in Java 9 using the new StackWalker API.
    • Migrated windows builds to appveyor and updated to Visual Studio 2017 (up from 2015)
    • EGL: The core API now includes javadoc links to the Khronos references pages
    • OpenGL ES: The core API now includes javadoc links to the Khronos references pages


    • Assimp: Struct member nullability fixes
    • Linux: Removed dependencies to newer GLIBC versions.
    • LibOVR: Fixed layout of the ovrInputState struct.
    • OpenAL: Removed buffer auto-sizing from alcCaptureSamples. The number of samples must now be specified explicitly, similar to alcRenderSamplesSOFT.
    • Vulkan: Function addresses are now retrieved only once, using the optimal method for each function type.
      • This avoids warnings on pedantic validation layers.
    • Fixed callback invocation bugs on 32-bit architectures.
    • Fixed various javadoc formatting issues (#308)

    Breaking Changes

    • Mapped more integer parameters and return values to Java boolean, that were missed while working on #181.
      • Xlib's Bool
      • OpenCL's cl_bool
      • DynCall's DCbool
    • Moved JNI global reference functions from MemoryUtil to the generated org.lwjgl.system.jni.JNINativeInterface.
    • The Vulkan capabilities have been split into two classes: VKCapabilitiesInstance and VKCapabilitiesDevice.
      • Flags for core Vulkan versions exist in both classes.
      • Flags for instance extensions exist only in VKCapabilitiesInstance.
      • Flags for device extensions exist only in VKCapabilitiesDevice.
      • Functions that dispatch on VkInstance or VkPhysicalDevice exist only in VKCapabilitiesInstance.
      • Functions that dispatch on VkDevice and device-derived handles exist only in VKCapabilitiesDevice.
      • Bootstrapping functions can be retrieved with VK.getFunctionProvider().
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.2.zip(44.91 MB)
  • 3.1.1(Dec 27, 2016)

    Changes since 3.1.0:


    • Added Assimp bindings.
    • bgfx: Updated to API version 34 (up from 28)
    • jemalloc: Updated to version 4.4.0 (up from 4.2.1)
    • LibOVR: Updated to version 1.10.0 (up from 1.9.0)
    • nuklear: Updated to version 1.191 (up from 1.17)
    • Vulkan: Updated to version 1.0.38 (up from 1.0.32)
    • stb: Updated stb_image to 2.13 (up from 2.12)
    • tinyfiledialogs: Updated to version 2.7.2 (up from 2.6.1)


    • Refactored function pointer lookups in OpenAL, OpenGL and OpenGL ES.
      • Significant reduction in bytecode size (and corresponding JIT code).
      • No thread-local lookup in GL and GLES, even with incompatible contexts.
      • Removed obsolete thread-local and capabilities state Configuration options.
    • Linux: All natives are now built with GCC 6.2 (up from 4.8)
    • Loader: If jemalloc initialization fails and org.lwjgl.system.allocator has not been set, a simple warning is now shown instead of an exception.
    • Structs: Added bound checks to element accessors of array members.
    • Generator: Validation is now required for all data pointer parameters. If validation is not possible, such parameters must be marked as potentially unsafe.
    • The SHA-1 hash of shared libraries is now included in the corresponding natives JAR files.
    • The upstream git revision used to build shared libraries is now included in the corresponding natives JAR files.


    • Fixed loader diagnostics when System.loadLibrary fails.
    • Fixed setters of struct members with optional AutoSize. (#255)
    • Fixed MemoryUtil.memRealloc to return null when the allocation fails.
    • Vulkan: Function pointer loading of disabled extensions is now skipped.
    • Generator: binding.DISABLE_CHECKS is now respected in structs.

    Breaking Changes

    • macOS: LWJGL now requires macOS 10.9/Mavericks or later (up from 10.7/Lion)
    • A small number of method signatures have changed because of auto-size transformations that were missing in previous releases.
    • NanoVG: Text functions with an end pointer to the end of the string are now auto-size transformed. Buffers passed to them should not include a null-terminating byte.
    • Added LibC prefix to all class names in the libc bindings, to avoid conflicts with standard Java classes (Locale, String, etc.)
    • OpenGL and OpenGL ES now come with native libraries (lwjgl_opengl and lwjgl_opengles respectively).
    • Removed MemoryUtil.memSetupBuffer.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.1.zip(38.70 MB)
  • 3.1.0(Oct 30, 2016)

    Changes since 3.0.0:


    • Bindings have been split into modules and are available as separate artifacts. (#100)
      • The download configurator on the website can be used to customize LWJGL builds and Maven/Gradle projects.
    • Added LMDB bindings.
    • Added Nuklear bindings. (#101)
    • Added Tiny File Dialogs bindings.
    • Added bgfx bindings. (#240)
    • Added support for new EGL, OpenCL, OpenGL, OpenGL ES and Vulkan extensions.
    • Updated all bindings to latest versions.
    • Vulkan javadoc is now almost identical to the Vulkan man pages, with links to the online Vulkan specification.


    • Generator: Removed buffer object binding checks. (#197)
    • Generator: Added support for mapping byte/short parameters to int.
    • Generator: Added support for va_list parameters.
    • Generator: Reduced bytecode size of generated methods.
    • Generator: The Vulkan bindings are now automatically generated.
    • Optimized strlen methods used internally by LWJGL.
    • Optimized misaligned memSet and memCopy.
    • Added support for stack allocations with custom alignment.
    • Removed allocation functionality from read-only, externally managed structs.
    • Improved library loading diagnostics and added Configuration.DEBUG_LOADER option.
    • Libraries extracted by the SharedLibraryLoader are now locked to avoid conflicts with other processes (e.g. antivirus software). (#225)
    • Simplified javadoc of unsafe versions.


    • Callback instances are now tracked when the DEBUG_MEMORY_ALLOCATOR option is enabled.
    • Fixed realloc tracking in the debug allocator.
    • Shared libraries that ship with LWJGL are now always preferred over system libraries.
    • Fixed return type of functions that return pointer to boolean.
    • stb_image: Fixed result auto-sizing of stbi_load* functions.
    • Functions that deallocate memory no longer have Java array overloads.
    • Fixed memSet bugs.
    • Fixed Java array overload generation for functions with multiple auto-size-result parameters.
    • Fixed custom checks in Java array overloads.
    • Fixed lookup of Critical JNI natives on Windows x86.
    • Disabled Critical JNI natives for functions affected by JDK-8167409 on Linux & MacOS.

    Breaking Changes

    • xxHash: Added support for stack allocation of streaming hash state. Opaque handles have been replaced by the XXH*State structs.
    • NanoVG: Dropped version suffixes from NanoVGGL classes.
    • Mapped more integer parameters and return values to Java booleans, that were missed while working on #181.
    • Dropped VKUtil class and moved the version macros to VK10.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.1.0.zip(28.49 MB)
  • 3.0.0(Jun 3, 2016)

    Changes since 3.0.0b:


    • Added support for Java array parameters and HotSpot Critical Natives. (#175)
    • Added Vulkanl bindings. (#50)
    • Added NanoVG bindings. (#99)
    • Added NativeFileDialog bindings.
    • Added par_shapes.h bindings.
    • Added dyncall bindings.
    • Added jawt bindings for AWT/Swing integration. (#125)
    • Added simple OS-specific window creation bindings, for custom window/context creation. (#105)
    • Added missing OpenCL and OpenAL extensions.
    • Fully documented OpenCL and OpenAL.
    • Moved WGL and GLX capabilities to the new WGLCapabilities and GLXCapabilities classes, respectively. Functionality in WGL, GLX and corresponding extensions that does not require a current context can now be used without creating a dummy context first. (#171)


    • Added stack allocation APIs (the MemoryStack class and new allocation methods in struct classes and MemoryUtil).
    • Made the implementations of PointerBuffer and Struct/StructBuffer subclasses as lightweight as possible. This makes it easier for escape analysis to eliminate allocations.
    • Minor struct API improvements.
    • Added nullability information to struct members, to protect against buggy code crashing the JVM.
    • All bindings are updated to the latest versions of the corresponding libraries. Notably, GLFW now has glfwSetWindowIcon and glfwSetWindowMonitor, it now doesn't lack anything compared to LWJGL 2's Display.
    • Refactored callbacks for Java 8. (#182)
    • Added NativeResource interface and made freeable objects usable as resources in try-with-resources statements. (#186)
    • Faster thread-local lookups for the stack and current capabilities. New options in Configuration can be used to complete eliminate thread-local lookup in OpenGL, OpenGL ES and OpenAL, when it is known that only a single context will be used, or that all contexts will be compatible (same capabilities and same function pointers).
    • Added memSlice for all buffers types in MemoryUtil. (#179)
    • Refactored the Configuration class for type safety and added more options.
    • JDK 9 can now be used to build and run LWJGL.
    • Javadoc is now generated with JDK 9. The API is fully indexed and search functionality is available. Also made multiple Javadoc formatting improvements.
    • Improved debug diagnostics on startup and when loading the LWJGL shared library fails.
    • Optimized memSet and memCopy for small buffers.


    • Stopped using UPX compression for binaries. This eliminates various integration issues and virus scanning false-positives.
    • The SharedLibraryLoader now works with any shared library, not only libraries LWJGL knows about. (#176)


    • LWJGL now requires Java 8 to build and run. Certain custom interfaces have been replaced with java.util.function interfaces. (#177)
    • Dropped support for Linux x86. (#162)
    • Dropped libffi bindings.
    • Dropped ALDevice/ALContext wrappers from OpenAL and CLPlatform/CLDevice wrappers from OpenCL. (#152)
    • Dropped the getInstance() method from bindings loaded from shared libraries. Function pointers are now stored either in capabilities classes or in a nested Functions inner class.
    • Dropped infrequently used method overloads in bindings. Full javadoc is now generated on (almost) all overloads.
    • Dropped utility classes that were not useful.
    • Added AutoSize support to struct members. Instance setters for the corresponding count/size members were removed to avoid bugs and confusion.
    • Replaced MemoryUtil.memFree(StructBuffer) with StructBuffer.free().
    • Renamed __ALIGNMENT to ALIGNOF in struct classes.
    • Removed org.lwjgl.system.Retainable interface. Closure and FunctionProvider subclasses are now destroyed using .free() instead of .release().
    • Moved xxHash and SSE bindings to the org.lwjgl.util package.
    • Integer-boolean native types (0 or 1 are the only legal values) are now mapped to Java booleans. (#181)
    • Macros without parameters are now generated as static final values, not methods.
    Source code(tar.gz)
    Source code(zip)
    lwjgl.zip(16.50 MB)
  • 3.0.0b(Nov 21, 2015)

    This build includes the following changes:

    • The API is now considered stable. There were several API changes, especially to struct and callback classes.
    • Moved advanced functionality from the base package to the system package. Public API in the system package may change between releases.
    • Critical methods have been optimized for better performance and garbage elimination.
    • JNI methods are now deduplicated and struct layout is calculated in Java. This means much smaller shared libraries.
    • Introduced the Configuration class that can be used to programmatically configure LWJGL.
    • Introduced explicit memory management API, which is also used internally by LWJGL.
    • Introduced a debug allocator that can be enabled for the explicit memory management API. It reports memory leaks with full stack-traces to the leaked allocations.
    • All struct classes now have a corresponding StructBuffer implementation. Bindings now use Struct and StructBuffer parameters and return values, instead of ByteBuffer, which improves type safety.
    • Struct fields and accessors are now documented.
    • Many other fixes and minor features.

    Changes to bindings:

    • Removed obsolete OS-specific bindings.
    • Added bindings to many OpenGL extensions that were missing in 3.0.0a.
    • Added bindings to jemalloc.
    • Added bindings to EGL.
    • Added bindings to OpenGL ES.
    • Added bindings to xxHash.
    • The bindings to LibOVR were updated to and are now included in the official build.
    • Several other fixes and updates to existing bindings.
    Source code(tar.gz)
    Source code(zip)
    lwjgl-3.0.0b.zip(11.70 MB)
  • 3.0.0a(Nov 21, 2015)

Lightweight Java Game Library
LWJGL is a Java library that enables cross-platform access to graphics, audio and parallel computing APIs.
Lightweight Java Game Library
Table-Computing (Simplified as TC) is a distributed light weighted, high performance and low latency stream processing and data analysis framework. Milliseconds latency and 10+ times faster than Flink for complicated use cases.

Table-Computing Welcome to the Table-Computing GitHub. Table-Computing (Simplified as TC) is a distributed light weighted, high performance and low la

Alibaba 33 Aug 17, 2022
Hollow is a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-only access.

Hollow Hollow is a java library and toolset for disseminating in-memory datasets from a single producer to many consumers for high performance read-on

Netflix, Inc. 1.1k Sep 23, 2022
An advanced, but easy to use, platform for writing functional applications in Java 8.

Getting Cyclops X (10) The latest version is cyclops:10.4.0 Stackoverflow tag cyclops-react Documentation (work in progress for Cyclops X) Integration

AOL 1.2k Sep 29, 2022
A Java library for quickly and efficiently parsing and writing UUIDs

fast-uuid fast-uuid is a Java library for quickly and efficiently parsing and writing UUIDs. It yields the most dramatic performance gains when compar

Jon Chambers 134 Sep 16, 2022
A modern I/O library for Android, Kotlin, and Java.

Okio See the project website for documentation and APIs. Okio is a library that complements java.io and java.nio to make it much easier to access, sto

Square 8.1k Oct 5, 2022
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

RxJava: Reactive Extensions for the JVM RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-base

ReactiveX 46.5k Oct 5, 2022
Jalgorithm is an open-source Java library which has implemented various algorithms and data structure

We loved Java and algorithms, so We made Jalgorithm ❤ Jalgorithm is an open-source Java library which has implemented various algorithms and data stru

Muhammad Karbalaee 31 Sep 22, 2022
A fork of Cliff Click's High Scale Library. Improved with bug fixes and a real build system.

High Scale Lib This is Boundary's fork of Cliff Click's high scale lib. We will be maintaining this fork with bug fixes, improvements and versioned bu

BMC TrueSight Pulse (formerly Boundary) 397 Sep 11, 2022
A Primitive Collection library that reduces memory usage and improves performance

Primitive-Collections This is a Simple Primitive Collections Library i started as a hobby Project. It is based on Java's Collection Library and FastUt

Speiger 25 Sep 19, 2022
A high performance caching library for Java

Caffeine is a high performance, near optimal caching library. For more details, see our user's guide and browse the API docs for the latest release. C

Ben Manes 12.3k Sep 26, 2022
Java port of a concurrent trie hash map implementation from the Scala collections library

About This is a Java port of a concurrent trie hash map implementation from the Scala collections library. It is almost a line-by-line conversion from

null 146 Feb 16, 2022
Java library for the HyperLogLog algorithm

java-hll A Java implementation of HyperLogLog whose goal is to be storage-compatible with other similar offerings from Aggregate Knowledge. NOTE: This

Aggregate Knowledge (a Neustar service) 294 Sep 19, 2022
A simple integer compression library in Java

JavaFastPFOR: A simple integer compression library in Java License This code is released under the Apache License Version 2.0 http://www.apache.org/li

Daniel Lemire 471 Sep 20, 2022
A Persistent Java Collections Library

PCollections A Persistent Java Collections Library Overview PCollections serves as a persistent and immutable analogue of the Java Collections Framewo

harold cooper 700 Sep 21, 2022
Library for creating In-memory circular buffers that use direct ByteBuffers to minimize GC overhead

Overview This project aims at creating a simple efficient building block for "Big Data" libraries, applications and frameworks; thing that can be used

Tatu Saloranta 132 Jul 28, 2022
Reactive Streams Utilities - Future standard utilities library for Reactive Streams.

Reactive Streams Utilities This is an exploration of what a utilities library for Reactive Streams in the JDK might look like. Glossary: A short gloss

Lightbend 61 May 27, 2021
Zero-dependency Reactive Streams publishers library

⚡️ Mutiny Zero: a zero-dependency Reactive Streams publishers library for Java Mutiny Zero is a minimal API for creating reactive-streams compliant pu

SmallRye 13 May 14, 2022
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.

English | 中文 | Deutsch | Español | Ελληνικά | Français | 日本語 | Norsk (bokmål) | Português-Brasil | Русский | हिंदी Eclipse Collections is a comprehens

Eclipse Foundation 2.1k Sep 29, 2022