[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

problema con Processing, Java y OpenGL



Hola. Novato desde el sur, encaprichado con usar Processing con OpenJDK y Debian en vez del Java cerrado de Oracle o Windows.

Bueno, todo funciona con Processing excepto (al actualizar Debian a 11) al intentar hacer algún script de processing que requieran "P2D" o "P3D" (o sea OpenGL). Aparecen errores del tipo: "java.lang.RuntimeException: Profile GL4bc is not available on X11GraphicsDevice[type .x11, connection :0, unitID 0, handle 0x7f8114024e50, owner true, ResourceToolkitLock[obj 0x1c266841, isOwner true, <1819ef1d, 5d1b627a>[count 1, qsz 0......."

Por suerte hasta aquí [SOLUCIONADO].

Luego de recorrer varios sitios y probar alternativas, lo resuelvo instalando "Jogl" (desde Synaptic simplemente) y luego ejecutando Processing pero con el seteo previo de una variable de entrono en la línea del lanzador. Así:

_JAVA_OPTIONS="-Djogl.disable.openglcore=false" /usr/local/processing/processing-3.5.4/processing

en vez de solamente  /usr/local/processing/processing-3.5.4/processing

(para otros será el path que coresponda si les viene bien esta solución, claro)

El problema... es que funciona desde el fuente de la aplicación-script, estando abierto Processing y se pueden crear los ejecutables, pero estos no funcionan (simplemente no hacen nada) (al menos en Debian, no probé en Win por ejemplo que supuestamente no tiene este problema)

Por lo encontrado por allí se podría solucionar instalando Java "oficial" de Oracle pero quisiera evitarlo (además no es seguro que funcione).

Lo extraño es que probé de varias maneras setear la variable de entorno: en el propio script de la app y hasta editando /etc/environment (y comprobando con "set" que efectivamente existe y está con el valor "-Djogl.disable.openglcore=false") pero no...

Resumiendo: la misma aplicación/script hecha en Processing (y ejemplos similares que usan OpenGL) funciona perfecto desde el fuente, con el IDE de Processing corriendo (ejecutado usando la sintaxis con la variable de entorno antes ya comentada). Pero el ejecutable compilado no funciona si usa "P2D" o "P3D" (incluso seteando la variable de entorno que soluciona todo corriendo Processing).

Datos:
Lenovo ThinkPad L15 Gen. i5-1135G7 @ 2.40GHz.
Debian 11, KDE Plasma: 5.20.5  -  Kernel: 5.10.0-16-amd64
Acelerador 3D Intel TigerLake GT2 [Iris Xe Graphics]
Controlador: Mesa Intel(R) Xe Graphics (TGL GT2)
OpnGL 4.6 (Compatibility Profile) Mesa 20.3.5

Processing 3.5.4

Java:
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode, sharing)
javac 11.0.16

Jogl instalado:
antlr (versión 2.7.7+dfsg-10)
libantlr-java (versión 2.7.7+dfsg-10)
libgluegen2-jni (versión 2.3.2-8)
libgluegen2-rt-java (versión 2.3.2-8)
libjogl2-java (versión 2.3.2+dfsg-9)
libjogl2-java-doc (versión 2.3.2+dfsg-9)
libjogl2-jni (versión 2.3.2+dfsg-9)
libjogl2-toolkits (versión 2.3.2+dfsg-9)

Desde ya muchas gracias si alguno pasó por estos laberintos de java, variables y no se qué y conoce una solución o algo que probar.

Saludos
Daniel desde Argentina




Reply to: