The advantage of using Asahi in dual boot (perfectly legal) is OpenGL 4.6 vs 4.1 support on macOS. This enables the use of compute shaders.
Unfortunately, I can't get jogl linux-aarch64 to work with this profile:
28.03.2024 11:09:22.620 *INFO* [JOGL-GLWorkerThread-] org.weasis.dicom.viewer3d.View3DFactory: Video card for OpenGL: Mesa, Apple M1 (G13G B1) 4.6 (Core profile, arb, compat[ES2, ES3, ES31, ES32], FBO, hardware) - 4.6 (Core Profile) Mesa 24.1.0-asahi20240228
The JVM crash:
# JRE version: OpenJDK Runtime Environment Temurin-21.0.1+12 (21.0.1+12) (build 21.0.1+12-LTS) # Java VM: OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (21.0.1+12-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) # Problematic frame: # C [asahi_dri.so+0xbeb41c] Current thread (0x0000ffff14621300): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=6937, stack(0x0000fffea7a00000,0x0000fffea7c00000) (2048K)] Stack: [0x0000fffea7a00000,0x0000fffea7c00000], sp=0x0000fffea7bf95f0, free space=2021k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [asahi_dri.so+0xbeb41c] C [asahi_dri.so+0xbea800] C [asahi_dri.so+0x1b2eb0] C [asahi_dri.so+0x1b385c] C [asahi_dri.so+0x187c60] C [asahi_dri.so+0x189d54] C [libjogl_desktop.so+0x5dc8c] Java_jogamp_opengl_gl4_GL4bcImpl_dispatch_1glTexImage2D1__IIIIIIIILjava_lang_Object_2IZJ+0xd0 j jogamp.opengl.gl4.GL4bcImpl.dispatch_glTexImage2D1(IIIIIIIILjava/lang/Object;IZJ)V+0 j jogamp.opengl.gl4.GL4bcImpl.glTexImage2D(IIIIIIIILjava/nio/Buffer;)V+122 j org.weasis.dicom.viewer3d.vr.Preset.init(Lcom/jogamp/opengl/GL4;Z)V+183 j org.weasis.dicom.viewer3d.vr.View3d.initShaders(Lcom/jogamp/opengl/GL4;)V+633Here is the debug test with jogamp:
~/Downloads/jogl$ sh etc/test_dbg.sh /usr/bin/java openjdk version "17.0.9" 2023-10-17 OpenJDK Runtime Environment (Red_Hat-17.0.9.0.9-4) (build 17.0.9+9) OpenJDK 64-Bit Server VM (Red_Hat-17.0.9.0.9-4) (build 17.0.9+9, mixed mode) LIBXCB_ALLOW_SLOPPY_LOCK: LIBGL_DRIVERS_PATH: LIBGL_DEBUG: java CLASSPATH: jar/gluegen-rt.jar:jar/jogl-all.jar ELF-1: Using /proc/self/exe ELF-1: cpuName aarch64 -> ARM64, EABI_AARCH64, machDesc LP64_UNIX(7) ELF-1: Got ELF-1[vers 1, machine[183, ARM64, EABI_AARCH64, machDesc LP64_UNIX(7)], bits 64, enc LSB, abi[os 0, vers 0], type shared] ELF-2: cpuName aarch64 -> ARM64, EABI_AARCH64 ELF-2: Got ELF-2[ARM64, EABI_AARCH64, flags[0x0], sh-num 33] Platform.Elf: valid true, elfCpuName aarch64, cpuType ARM64, abiType EABI_AARCH64, elfLittleEndian 1 Platform.Endian: test-little true, elf[valid true, val 1] -> LITTLE_ENDIAN true Platform.Property: ARCH aarch64, CpuType ARM64, ABIType EABI_AARCH64 Platform.Hard: ARCH aarch64, CPU_ARCH ARM64, ABI_TYPE EABI_AARCH64 - strategy 210(isAndroid false, elfValid true), useDynLibs true forceES2 false forceES3 false forceGL3 false forceGL4ES3 false getJarUri Default jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/com/jogamp/common/os/Platform.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/com/jogamp/common/os/Platform.class getJarUri res: com.jogamp.common.os.Platform -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/com/jogamp/common/os/Platform.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/com/jogamp/common/os/Platform.class IOUtil.getTempRoot(): tempX1 </tmp>, used true IOUtil.getTempRoot(): tempX3 <null>, used false IOUtil.getTempRoot(): tempX4 </home/nicolas>, used true IOUtil.getTempRoot(): tempX2 </home/nicolas/.cache>, used true IOUtil.testDirExec(): test-exe </tmp/jogamp_exe_tst7926828519526091316.sh>, existingFile false, isNioExec true, returned 0 IOUtil.testDirExec(): abs-path </tmp>: res 1 -> true IOUtil.testDirExec(): total 18ms, create 12ms, fill 0ms, execute 6ms IOUtil.testDirImpl(tempX1): </tmp>, create true, exec true: true IOUtil.testDirExec(): test-exe </tmp/jogamp_0000/jogamp_exe_tst1910454561651791772.sh>, existingFile false, isNioExec true, returned 0 IOUtil.testDirExec(): abs-path </tmp/jogamp_0000>: res 1 -> true IOUtil.testDirExec(): total 1ms, create 0ms, fill 0ms, execute 1ms IOUtil.testDirImpl(tempX1): </tmp/jogamp_0000>, create true, exec true: true IOUtil.getTempRoot(): temp dirs: exec: /tmp/jogamp_0000, noexec: /tmp/jogamp_0000 IOUtil.testDirImpl(testDir): </tmp/jogamp_0000/file_cache>, create true, exec false: true TempFileCache: Static Initialization ---------------------------------------------- OK: true TempFileCache: Thread: main, CL 0x42110406, tempBaseDir /tmp/jogamp_0000/file_cache, executable true TempFileCache: tmpFile = /tmp/jogamp_0000/file_cache/jln14305947333059389788.tmp TempFileCache: lckFile = /tmp/jogamp_0000/file_cache/jln14305947333059389788.lck TempFileCache: tmpRootDir = /tmp/jogamp_0000/file_cache/jln14305947333059389788 TempFileCache: Setting jnlp.jogamp.tmp.cache.root=jln14305947333059389788 ------------------------------------------------------------------ OK: true TempFileCache: new TempFileCache() --------------------- (static ok: true) TempFileCache: *** Reaper: deleteOldTempDirs in /tmp/jogamp_0000/file_cache TempFileCache: Thread: main, CL 0x42110406, this 0x631330c TempFileCache: tempDir /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230 (ok: true) ---------------------------------------------------------- TempJarCache.initSingleton(): ok true, /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230, executable true TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101.tmp) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libgluegen_rt.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libjogl_desktop.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libjogl_mobile.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libnativewindow_awt.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libnativewindow_drm.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libnativewindow_x11.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libnewt_drm.so) TempFileCache: removeAll(/tmp/jogamp_0000/file_cache/jln17132585225716752772/jln11441683556972563101/natives/linux-aarch64/libnewt_head.so) JNILibLoaderBase: addNativeJarLibs( classesFromJavaJars = [class jogamp.common.Debug] singleJarMarker = null ) getJarUri Default jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/jogamp/common/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/jogamp/common/Debug.class getJarUri res: jogamp.common.Debug -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/jogamp/common/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/jogamp/common/Debug.class getJarName res: gluegen-rt.jar JNILibLoaderBase: jarBasename: gluegen-rt JNILibLoaderBase: addNativeJarLibsImpl( classFromJavaJar = class jogamp.common.Debug classJarURI = jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar!/jogamp/common/Debug.class jarBasename = gluegen-rt.jar os.and.arch = linux-aarch64 nativeJarBasename = gluegen-rt-natives-linux-aarch64.jar ) JNILibLoaderBase: addNativeJarLibsImpl: initial: file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt.jar -> file:/home/nicolas/Downloads/jogamp-all-platforms/jar/ JNILibLoaderBase: addNativeJarLibsImpl: nativeLibraryPath: natives/linux-aarch64/ JNILibLoaderBase: addNativeJarLibsImpl: module: gluegen-rt-natives-linux-aarch64.jar -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar!/ getJarFile.0: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar!/ getJarFile.1: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar!/ getJarFile res: /home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar TempJarCache: addNativeLibs: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar!/: nativeJar /home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar (NEW) TempJarCache: validateCertificates: OK - No rootCerts in given class jogamp.common.Debug, nativeJar /home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar JarUtil: extract: /home/nicolas/Downloads/jogamp-all-platforms/jar/gluegen-rt-natives-linux-aarch64.jar -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230, extractNativeLibraries true (natives/linux-aarch64/), extractClassFiles false, extractOtherFiles false JarUtil: JarEntry : META-INF/MANIFEST.MF other-file skipped JarUtil: JarEntry : jogamp/nativetag/common/linux/aarch64/TAG.class class-file skipped JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: MKDIR (parent): natives/linux-aarch64/libgluegen_rt.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64 JarUtil: EXTRACT[1]: [gluegen_rt -> ] natives/linux-aarch64/libgluegen_rt.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libgluegen_rt.so: 13688 bytes, addedAsNativeLib: true JNILibLoaderBase: addNativeJarLibsImpl.X: gluegen-rt.jar / gluegen-rt-natives-linux-aarch64.jar -> ok: true; duration: now 1 ms, total 1 ms (count 1, avrg 1.000 ms) JNILibLoaderBase: addNativeJarLibsWhenInitialized: count 1, ok true NativeLibrary.findLibrary(<gluegen_rt>) (TempJarCache): /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libgluegen_rt.so JNILibLoaderBase: loadLibraryInternal(gluegen_rt), TempJarCache: /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libgluegen_rt.so JNILibLoaderBase: System.load(/tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libgluegen_rt.so) - mode 2 JNILibLoaderBase: loadLibraryInternal(gluegen_rt): OK - mode 2 JNILibLoaderBase: Loaded Native Library: gluegen_rt JNILibLoaderBase: loaded gluegen_rt java.lang.Exception: JVMUtil.initSingleton() .. initialized main at jogamp.common.jvm.JVMUtil.<clinit>(JVMUtil.java:62) at com.jogamp.common.os.Platform$1.run(Platform.java:324) at com.jogamp.common.util.SecurityUtil.doPrivileged(SecurityUtil.java:80) at com.jogamp.common.os.Platform.<clinit>(Platform.java:290) at com.jogamp.common.util.VersionUtil.getPlatformInfo(VersionUtil.java:57) at com.jogamp.common.util.VersionUtil.getPlatformInfo(VersionUtil.java:99) at com.jogamp.newt.opengl.GLWindow.main(GLWindow.java:1102) MachineDataInfoRuntime.initialize(): Static MachineDataInfoStatic: LP64_UNIX(7): MachineDataInfo: runtimeValidated false, 32Bit false, primitive size / alignment: int8 1 / 1, int16 2 / 2 int 4 / 4, long 8 / 8 int32 4 / 4, int64 8 / 8 float 4 / 4, double 8 / 8, ldouble 16 / 16 pointer 8 / 8, page 4096 Runtime MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment: int8 1 / 1, int16 2 / 2 int 4 / 4, long 8 / 8 int32 4 / 4, int64 8 / 8 float 4 / 4, double 8 / 8, ldouble 16 / 16 pointer 8 / 8, page 16384 ----------------------------------------------------------------------------------------------------- Platform: LINUX / Linux 6.6.3-414.asahi.fc39.aarch64+16k (6.6.3), aarch64 (ARM64, EABI_AARCH64), 8 cores, littleEndian true MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment: int8 1 / 1, int16 2 / 2 int 4 / 4, long 8 / 8 int32 4 / 4, int64 8 / 8 float 4 / 4, double 8 / 8, ldouble 16 / 16 pointer 8 / 8, page 16384 Platform: Java Version: 17.0.9 (17.0.9u0), VM: OpenJDK 64-Bit Server VM, Runtime: OpenJDK Runtime Environment Platform: Java Vendor: Red Hat, Inc., https://www.redhat.com/, Java17, dynamicLib: true, AWT enabled: true ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- Package: com.jogamp.common Extension Name: com.jogamp.common Specification Title: GlueGen Java Bindings Generator Specification Vendor: JogAmp Community Specification Version: 2.5 Implementation Title: GlueGen Run-Time Implementation Vendor: JogAmp Community Implementation Vendor ID: com.jogamp Implementation URL: http://jogamp.org/ Implementation Version: 2.5.0 Implementation Build: 2.5-b967-20230818 Implementation Branch: origin/master Implementation Commit: a235ae5dae463afa16f62f48bf62f896efa80b68 Implementation SHA Sources: 784913ee2d456eede9cfaf94e1182ff484f24107548dee8655d7207b858936ea Implementation SHA Classes: 2ccd03d934cccce4f0bcc44aa3dc5c1999382abe812245c6bfbc5c1f8467d56f Implementation SHA Classes-this: eceeebdce7de6d72726a1dd2b74d9716c6048db47a3ac197bf9ab88f09e9186c Implementation SHA Natives: eb1fad0f383f4b918219d2c856f5ca10474433692e7d6f79920989a74d3cc64b Implementation SHA Natives-this: 0 ----------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- Package: com.jogamp.opengl Extension Name: com.jogamp.opengl Specification Title: Java Bindings for OpenGL API Specification Specification Vendor: JogAmp Community Specification Version: 2.5 Implementation Title: Java Bindings for OpenGL Runtime Environment Implementation Vendor: JogAmp Community Implementation Vendor ID: com.jogamp Implementation URL: http://jogamp.org/ Implementation Version: 2.5.0 Implementation Build: 2.5-b1533-20230818 Implementation Branch: origin/master Implementation Commit: 70f62ca5d121e5e71548246d468b5e7baa5faf25 Implementation SHA Sources: null Implementation SHA Classes: null Implementation SHA Classes-this: null Implementation SHA Natives: null Implementation SHA Natives-this: null ----------------------------------------------------------------------------------------------------- GLProfile.initSingleton() - thread main [2]: com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:213) [3]: com.jogamp.opengl.GLProfile.getDefaultDevice(GLProfile.java:2113) [4]: com.jogamp.opengl.JoglVersion.getDefaultOpenGLInfo(JoglVersion.java:122) [5]: com.jogamp.newt.opengl.GLWindow.main(GLWindow.java:1106) JNILibLoaderBase: addNativeJarLibs( classesFromJavaJars = [class jogamp.nativewindow.Debug, class jogamp.opengl.Debug, class jogamp.newt.Debug] singleJarMarker = -all ) getJarUri Default jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/nativewindow/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/nativewindow/Debug.class getJarUri res: jogamp.nativewindow.Debug -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/nativewindow/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/nativewindow/Debug.class getJarName res: jogl-all.jar JNILibLoaderBase: jarBasename: jogl-all JNILibLoaderBase: addNativeJarLibsImpl( classFromJavaJar = class jogamp.nativewindow.Debug classJarURI = jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/nativewindow/Debug.class jarBasename = jogl-all.jar os.and.arch = linux-aarch64 nativeJarBasename = jogl-all-natives-linux-aarch64.jar ) JNILibLoaderBase: addNativeJarLibsImpl: initial: file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar -> file:/home/nicolas/Downloads/jogamp-all-platforms/jar/ JNILibLoaderBase: addNativeJarLibsImpl: nativeLibraryPath: natives/linux-aarch64/ JNILibLoaderBase: addNativeJarLibsImpl: module: jogl-all-natives-linux-aarch64.jar -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ getJarFile.0: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ getJarFile.1: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ getJarFile res: /home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar TempJarCache: addNativeLibs: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/: nativeJar /home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar (NEW) TempJarCache: validateCertificates: OK - No rootCerts in given class jogamp.nativewindow.Debug, nativeJar /home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar JarUtil: extract: /home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230, extractNativeLibraries true (natives/linux-aarch64/), extractClassFiles false, extractOtherFiles false JarUtil: JarEntry : META-INF/MANIFEST.MF other-file skipped JarUtil: JarEntry : jogamp/nativetag/opengl/linux/aarch64/TAG.class class-file skipped JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[1]: [jogl_desktop -> ] natives/linux-aarch64/libjogl_desktop.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libjogl_desktop.so: 796552 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[2]: [jogl_mobile -> ] natives/linux-aarch64/libjogl_mobile.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libjogl_mobile.so: 382824 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[3]: [nativewindow_awt -> ] natives/linux-aarch64/libnativewindow_awt.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libnativewindow_awt.so: 9376 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[4]: [nativewindow_drm -> ] natives/linux-aarch64/libnativewindow_drm.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libnativewindow_drm.so: 38872 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[5]: [nativewindow_x11 -> ] natives/linux-aarch64/libnativewindow_x11.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libnativewindow_x11.so: 30664 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[6]: [newt_drm -> ] natives/linux-aarch64/libnewt_drm.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libnewt_drm.so: 22368 bytes, addedAsNativeLib: true JarUtil: JarEntry : isNativeLib true, isClassFile false, isDir false, isRootEntry false JarUtil: EXTRACT[7]: [newt_head -> ] natives/linux-aarch64/libnewt_head.so -> /tmp/jogamp_0000/file_cache/jln14305947333059389788/jln4881654207644424230/natives/linux-aarch64/libnewt_head.so: 84576 bytes, addedAsNativeLib: true JNILibLoaderBase: addNativeJarLibsImpl.X: jogl-all.jar / jogl-all-natives-linux-aarch64.jar -> ok: true; duration: now 4 ms, total 5 ms (count 2, avrg 2.500 ms) JNILibLoaderBase: addNativeJarLibs0: done: jogl-all getJarUri Default jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/opengl/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/opengl/Debug.class getJarUri res: jogamp.opengl.Debug -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/opengl/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/opengl/Debug.class getJarName res: jogl-all.jar JNILibLoaderBase: jarBasename: jogl-all JNILibLoaderBase: addNativeJarLibsImpl( classFromJavaJar = class jogamp.opengl.Debug classJarURI = jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/opengl/Debug.class jarBasename = jogl-all.jar os.and.arch = linux-aarch64 nativeJarBasename = jogl-all-natives-linux-aarch64.jar ) JNILibLoaderBase: addNativeJarLibsImpl: initial: file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar -> file:/home/nicolas/Downloads/jogamp-all-platforms/jar/ JNILibLoaderBase: addNativeJarLibsImpl: nativeLibraryPath: natives/linux-aarch64/ JNILibLoaderBase: addNativeJarLibsImpl: module: jogl-all-natives-linux-aarch64.jar -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ TempJarCache: addNativeLibs: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/: nativeJar jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ (REUSE) JNILibLoaderBase: addNativeJarLibsImpl.X: jogl-all.jar / jogl-all-natives-linux-aarch64.jar -> ok: true; duration: now 0 ms, total 5 ms (count 3, avrg 1.667 ms) JNILibLoaderBase: addNativeJarLibs0: done: jogl-all getJarUri Default jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/newt/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/newt/Debug.class getJarUri res: jogamp.newt.Debug -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/newt/Debug.class -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/newt/Debug.class getJarName res: jogl-all.jar JNILibLoaderBase: jarBasename: jogl-all JNILibLoaderBase: addNativeJarLibsImpl( classFromJavaJar = class jogamp.newt.Debug classJarURI = jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar!/jogamp/newt/Debug.class jarBasename = jogl-all.jar os.and.arch = linux-aarch64 nativeJarBasename = jogl-all-natives-linux-aarch64.jar ) JNILibLoaderBase: addNativeJarLibsImpl: initial: file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all.jar -> file:/home/nicolas/Downloads/jogamp-all-platforms/jar/ JNILibLoaderBase: addNativeJarLibsImpl: nativeLibraryPath: natives/linux-aarch64/ JNILibLoaderBase: addNativeJarLibsImpl: module: jogl-all-natives-linux-aarch64.jar -> jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ TempJarCache: addNativeLibs: jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/: nativeJar jar:file:/home/nicolas/Downloads/jogamp-all-platforms/jar/jogl-all-natives-linux-aarch64.jar!/ (REUSE) JNILibLoaderBase: addNativeJarLibsImpl.X: jogl-all.jar / jogl-all-natives-linux-aarch64.jar -> ok: true; duration: now 0 ms, total 5 ms (count 4, avrg 1.250 ms) JNILibLoaderBase: addNativeJarLibs0: done: jogl-all JNILibLoaderBase: addNativeJarLibsWhenInitialized: count 3, ok true guessX: <:0> isSet true guessWayland: <wayland-0> isSet true guessGBM: </dev/dri/card0> exists true guessVCIVUsed: hasVCLib = false && !hasVC4ModLocation = !false && !hasDriCard0File = !true main - Info: NativeWindowFactory.<init>: Type .x11 custom / .x11 native main - NativeWindowFactory.initSingleton() JAWTUtil initialization (JAWT/JNI/...); SKIP_AWT_HIDPI false Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-17-openjdk-17.0.9.0.9-3.fc39.aarch64/lib/libawt_xawt.so at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2398) at java.base/java.lang.Runtime.load0(Runtime.java:755) at java.base/java.lang.System.load(System.java:1953) at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:285) at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2403) at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818) at java.base/java.lang.System.loadLibrary(System.java:1989) at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1392) at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1390) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1389) at java.desktop/java.awt.Toolkit.initStatic(Toolkit.java:1427) at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1401) at jogamp.nativewindow.jawt.JAWTJNILibLoader$1.run(JAWTJNILibLoader.java:58) at com.jogamp.common.util.SecurityUtil.doPrivileged(SecurityUtil.java:80) at jogamp.nativewindow.jawt.JAWTJNILibLoader.<clinit>(JAWTJNILibLoader.java:52) at jogamp.nativewindow.jawt.JAWTUtil.<clinit>(JAWTUtil.java:350) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at com.jogamp.nativewindow.NativeWindowFactory$2.run(NativeWindowFactory.java:392) at com.jogamp.nativewindow.NativeWindowFactory$2.run(NativeWindowFactory.java:388) at com.jogamp.common.util.SecurityUtil.doPrivileged(SecurityUtil.java:80) at com.jogamp.nativewindow.NativeWindowFactory.initSingleton(NativeWindowFactory.java:388) at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1787) at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:77) at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:236) at com.jogamp.common.util.SecurityUtil.doPrivileged(SecurityUtil.java:80) at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:222) at com.jogamp.opengl.GLProfile.getDefaultDevice(GLProfile.java:2113) at com.jogamp.opengl.JoglVersion.getDefaultOpenGLInfo(JoglVersion.java:122) at com.jogamp.newt.opengl.GLWindow.main(GLWindow.java:1106) NativeWindowFactory.shutdown() START: JVM Shutdown true, on thread NativeWindowFactory_ShutdownHook NativeWindowFactory.shutdown(): Post customShutdownHook NativeWindowFactory_ShutdownHook - Info: GraphicsConfigurationFactory.<init> NativeWindowFactory_ShutdownHook - NativeWindowFactory.shutdown() END JVM Shutdown true
Free forum by Nabble | Edit this page |