This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Desarrollar aplicaciones Defold para la plataforma Linux es un proceso sencillo con muy pocas consideraciones a tener en cuenta.
A: Si usas GNOME, puedes cambiar el factor de escala antes de ejecutar Defold. fuente
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
A: Una solución alternativa, especialmente si quieres aumentar la escala por una fracción, es modificar el archivo Defold/config y agregar glass.gtk.uiScale en la línea vmargs: fuente
vmargs = -Dglass.gtk.uiScale=1.5,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=175%,-Dfile.encoding=UTF-8,...
vmargs = -Dglass.gtk.uiScale=192dpi,-Dfile.encoding=UTF-8,...
Más información sobre este valor en el artículo de la wiki de Arch Linux sobre HiDPI.
A: Si usas KDE, puedes definir GDK_SCALE:
$ GDK_SCALE=2 ./Defold
A: Inicia el editor así:
$ GTK_CSD=0 ./Defold
com.jogamp.opengl
A: En ciertas distribuciones (como Ubuntu 18) hay un problema entre la versión de jogamp/jogl que usa Defold y la versión de Mesa en el sistema. Puedes sobrescribir la versión de GL que se reporta al llamar a glGetString(GL_VERSION) definiendo MESA_GL_VERSION_OVERRIDE en 2.1 o en un valor mayor, pero menor o igual que la versión de tu driver. Puedes comprobar cuál es la versión máxima de OpenGL que soporta tu driver con glxinfo:
glxinfo | grep version
Ejemplo de salida (busca “OpenGL version string: x.y”):
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.2.6
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.2.6
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,
Usa la versión 2.1 o la versión que coincida con tu driver gráfico:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
com.jogamp.opengl.GLException: Graphics configuration failed cuando inicio Defold?
A: En ciertas distribuciones (por ejemplo Ubuntu 20.04) hay un problema con los drivers nuevos de Mesa (Iris) al ejecutar Defold. Puedes intentar usar una versión anterior del driver al ejecutar Defold:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so
A: La versión de libffi de tu distribución y la que requiere Defold (versión 6 o 7) no coinciden. Asegúrate de que libffi.so.6 o libffi.so.7 esté instalado en /usr/lib/x86_64-linux-gnu. Puedes descargar libffi.so.7 así:
$ wget http://ftp.br.debian.org/debian/pool/main/libf/libffi/libffi7_3.3-6_amd64.deb
$ sudo dpkg -i libffi7_3.3-6_amd64.deb
Luego especifica la ruta a esta versión en la variable de ambiente LD_PRELOAD al ejecutar Defold:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
A: Sí, puede ser posible usar Defold si habilitas el renderizado por software. Puedes habilitar el renderizado por software definiendo la variable de ambiente LIBGL_ALWAYS_SOFTWARE en 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
A: Revisa la salida de la consola en el editor. Si obtienes el siguiente mensaje:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
Entonces necesitas instalar libopenal1. El nombre del paquete varía entre distribuciones, y en algunos casos puede que tengas que instalar los paquetes openal y openal-dev o openal-devel.
$ apt-get install libopenal-dev
A: Probablemente lo causa el gestor de ventanas utilizado (por ejemplo Qtile o i3). Es un problema conocido de JavaFX y se puede resolver definiendo la variable de ambiente GDK_DISPLAY en 1:
$ GDK_DISPLAY=1 ./Defold
D=2
O modificando el archivo Defold/config y agregando -Djdk.gtk.version=2 en la línea vmargs:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
A: Si ejecutas Defold desde Steam usando Flatpak, necesitas dar permiso a Steam para acceder a tus otros discos. Puedes modificar los permisos de tus aplicaciones Flatpak con Flatseal o una herramienta similar.
A: Es probable que falle una llamada interna a Desktop.getDesktop().browse(new URI(url)); porque no se detecta ningún navegador en sistemas que no son GNOME. Intenta instalar libgnome.
$ apt-get install libgnome