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
Sviluppare applicazioni Defold per la piattaforma Linux è un processo semplice, con pochissimi aspetti da considerare.
R: Se usi GNOME, puoi cambiare il fattore di scala prima di avviare Defold. fonte
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
R: Una soluzione alternativa, soprattutto se vuoi usare un fattore di scala frazionario, consiste nel modificare il file Defold/config e aggiungere glass.gtk.uiScale alla riga vmargs: fonte
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,...
Per ulteriori informazioni su questo valore, consulta l’articolo su HiDPI nel wiki di Arch Linux.
R: Se usi KDE, puoi impostare GDK_SCALE:
$ GDK_SCALE=2 ./Defold
R: Avvia l’editor in questo modo:
$ GTK_CSD=0 ./Defold
com.jogamp.opengl
R: Su alcune distribuzioni (come Ubuntu 18) esiste un problema di compatibilità tra la versione di jogamp/jogl usata da Defold e la versione di Mesa presente nel sistema. Puoi forzare la versione di GL restituita dalla chiamata a glGetString(GL_VERSION) impostando MESA_GL_VERSION_OVERRIDE su 2.1 o su un valore maggiore, purché non superi la versione supportata dal driver. Puoi verificare la versione massima di OpenGL supportata dal driver usando glxinfo:
glxinfo | grep version
Esempio di output (cerca “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 versione 2.1 oppure la versione supportata dal tuo driver grafico:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
com.jogamp.opengl.GLException: Graphics configuration failed” all’avvio di Defold?
R: Su alcune distribuzioni (per esempio Ubuntu 20.04) si verifica un problema con i nuovi driver Mesa (Iris) durante l’esecuzione di Defold. Puoi provare ad avviare Defold usando una versione precedente del driver:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so
R: La versione di libffi della tua distribuzione non corrisponde a quella richiesta da Defold (versione 6 o 7). Assicurati che libffi.so.6 o libffi.so.7 sia installato in /usr/lib/x86_64-linux-gnu. Puoi scaricare libffi.so.7 in questo modo:
$ 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
Specifica poi il percorso di questa versione nella variabile d’ambiente LD_PRELOAD quando avvii Defold:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
R: Sì, potresti riuscire a usare Defold abilitando il rendering software. Puoi abilitarlo impostando la variabile d’ambiente LIBGL_ALWAYS_SOFTWARE su 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
R: Controlla l’output della console nell’editor. Se ricevi il seguente messaggio:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
Devi installare libopenal1. Il nome del pacchetto varia a seconda della distribuzione e, in alcuni casi, potresti dover installare i pacchetti openal e openal-dev oppure openal-devel.
$ apt-get install libopenal-dev
R: Il problema è probabilmente causato dal gestore di finestre in uso (per esempio Qtile o i3). È un problema noto di JavaFX e puoi risolverlo impostando la variabile d’ambiente GDK_DISPLAY su 1:
$ GDK_DISPLAY=1 ./Defold
D=2
Oppure modificando il file Defold/config e aggiungendo -Djdk.gtk.version=2 alla riga vmargs:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
R: Se esegui Defold da Steam tramite Flatpak, devi autorizzare Steam ad accedere alle altre unità. Puoi modificare le autorizzazioni delle applicazioni Flatpak usando Flatseal o uno strumento simile.
R: È probabile che una chiamata interna a Desktop.getDesktop().browse(new URI(url)); fallisca perché non viene rilevato alcun browser sui sistemi che non usano GNOME. Prova a installare libgnome.
$ apt-get install libgnome