Ubuntu更新后Processing 4.0b9出现GL配置映射错误求助
解决Ubuntu更新后Processing 4.0b9的OpenGL配置映射错误
环境信息
- 系统:Ubuntu 22.04.1 LTS
- 显卡:Mesa Intel® HD Graphics (HSW GT1)
- 问题:Ubuntu更新前Processing运行正常,更新后启动Processing 4.0b9出现OpenGL配置映射错误
初始错误日志
java.lang.InternalError: XXX0 profile[2]: GL2 -> profileImpl GL3bc !!! not mapped at com.jogamp.opengl.GLProfile.computeProfileMap(GLProfile.java:2098) at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1976) at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1895) at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1861) at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80) at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:239) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:225) at com.jogamp.opengl.GLProfile.getProfileMap(GLProfile.java:2324) at com.jogamp.opengl.GLProfile.get(GLProfile.java:1009) at com.jogamp.opengl.GLProfile.getGL2ES2(GLProfile.java:930) at processing.opengl.PSurfaceJOGL.initGL(PSurfaceJOGL.java:215) at processing.opengl.PSurfaceJOGL.initFrame(PSurfaceJOGL.java:149) at processing.core.PApplet.initSurface(PApplet.java:10542) at processing.core.PApplet.runSketch(PApplet.java:10448) at processing.core.PApplet.main(PApplet.java:10187) InternalError: XXX0 profile[2]: GL2 -> profileImpl GL3bc !!! not mapped
更新后的错误日志
java.lang.InternalError: XXX0 profile[2]: GL2 -> profileImpl GL3bc !!! not mapped at com.jogamp.opengl.GLProfile.computeProfileMap(GLProfile.java:2098) at com.jogamp.opengl.GLProfile.initProfilesForDeviceCritical(GLProfile.java:1976) at com.jogamp.opengl.GLProfile.initProfilesForDevice(GLProfile.java:1895) at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1861) at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80) at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:239) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:225) at com.jogamp.opengl.GLProfile.getProfileMap(GLProfile.java:2324) at com.jogamp.opengl.GLProfile.get(GLProfile.java:1009) at com.jogamp.opengl.GLProfile.getGL2ES2(GLProfile.java:930) at processing.opengl.PSurfaceJOGL.initGL(PSurfaceJOGL.java:215) at processing.opengl.PSurfaceJOGL.initFrame(PSurfaceJOGL.java:149) at processing.core.PApplet.initSurface(PApplet.java:10537) at processing.core.PApplet.runSketch(PApplet.java:10443) at processing.core.PApplet.main(PApplet.java:10187) at MPUTeapot.main(MPUTeapot.java:210) X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1) X11Util: Open X11 Display Connections: 1 X11Util: Open[0]: NamedX11Display[:0, 0x7f61f80019d0, refCount 1, unCloseable false]
解决方案
方法1:强制指定OpenGL版本启动Processing
在终端运行Processing时添加JVM参数,强制使用GL2配置:
_JAVA_OPTIONS="-Djogamp.opengl.profile=GL2" ./processing
若使用快捷方式,可编辑Processing的启动脚本,在java命令前加入上述环境变量配置。
方法2:回滚Mesa驱动版本
Ubuntu更新可能升级了Mesa驱动,导致与JOGAMP库不兼容:
- 查看当前Mesa版本:
glxinfo | grep "OpenGL version" - 列出可用的旧版本:
apt list --all-versions mesa-common-dev - 降级到更新前的版本(替换
旧版本号为实际版本):sudo apt install mesa-common-dev=旧版本号 libgl1-mesa-glx=旧版本号
方法3:升级Processing到正式版
Processing 4.0b9为测试版,兼容性问题较多,直接升级到官方发布的Processing 4正式版,多数此类兼容性问题已被修复。
方法4:修改Processing偏好配置
- 打开
~/.processing/preferences.txt文件 - 添加一行配置:
opengl.profile=GL2 - 保存后重启Processing
内容的提问来源于stack exchange,提问作者Master
相关产品推荐
相关产品推荐

