I'm testing OpenGL 4.6 drivers on Apple Silicon hardware, see this post.
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 |
Administrator
|
Thank you for the heads up, i.e. installing GNU/Linux on the aarch64 Apple hardware.
If you have a link to follow such endeavor, best a Debian distri .. thx a lot! Then I will test installing GNU/Linux on this 'box', so my son can use it plus me looking into this issue. |
I installed Fedora + Gnome. However, there are other possible distributions.
|
Administrator
|
thank you, will try later ..
|
Free forum by Nabble | Edit this page |