Manuals
Manuals




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

Entwicklung für Linux

Die Entwicklung von Defold-Anwendungen für die Linux-Plattform ist unkompliziert, und du musst dabei nur wenige Dinge beachten.

FAQ

Q: Warum ist der Defold-Editor auf einem 4k- oder HiDPI-Monitor winzig klein?

A: Wenn du GNOME verwendest, kannst du den Skalierungsfaktor vor dem Start von Defold ändern. Quelle

$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold

A: Eine alternative Lösung, insbesondere wenn du um einen nicht ganzzahligen Faktor vergrößern möchtest, besteht darin, die Datei Defold/config zu ändern und in der Zeile vmargs den Eintrag glass.gtk.uiScale hinzuzufügen: Quelle

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,...

Mehr zu diesem Wert findest du im HiDPI-Wiki-Artikel von Arch Linux.

A: Wenn du KDE verwendest, kannst du GDK_SCALE setzen:

$ GDK_SCALE=2 ./Defold

Q: Warum gehen Mausklicks unter Elementary OS durch den Editor hindurch an das, was darunter liegt?

A: Starte den Editor wie folgt:

$ GTK_CSD=0 ./Defold

Q: Der Defold-Editor stürzt beim Öffnen einer Sammlung (collection) oder eines Spielobjekts (game object) ab, und die Absturzmeldung verweist auf com.jogamp.opengl

A: Bei bestimmten Distributionen (wie Ubuntu 18) gibt es ein Problem zwischen der von Defold verwendeten Version von jogamp/jogl und der Version von Mesa auf dem System. Du kannst überschreiben, welche GL-Version beim Aufruf von glGetString(GL_VERSION) gemeldet wird, indem du MESA_GL_VERSION_OVERRIDE auf 2.1 oder einen größeren Wert setzt, der aber kleiner oder gleich der von deinem Treiber unterstützten Version ist. Mit glxinfo kannst du prüfen, welche OpenGL-Version dein Treiber maximal unterstützt:

glxinfo | grep version

Beispielausgabe (suche nach “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,

Verwende Version 2.1 oder die zu deinem Grafiktreiber passende Version:

$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold

Q: Warum erhalte ich beim Starten von Defold die Meldung “com.jogamp.opengl.GLException: Graphics configuration failed”?

A: Bei bestimmten Distributionen (beispielsweise Ubuntu 20.04) gibt es beim Ausführen von Defold ein Problem mit den neuen Mesa-Treibern (Iris). Du kannst versuchen, Defold mit einer älteren Treiberversion auszuführen:

$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold

Q: Der Defold-Editor stürzt beim Öffnen einer Sammlung oder eines Spielobjekts ab, und die Absturzmeldung verweist auf libffi.so

A: Die libffi-Version deiner Distribution stimmt nicht mit der von Defold benötigten Version (Version 6 oder 7) überein. Stelle sicher, dass libffi.so.6 oder libffi.so.7 unter /usr/lib/x86_64-linux-gnu installiert ist. Du kannst libffi.so.7 wie folgt herunterladen:

$ 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

Gib anschließend beim Ausführen von Defold den Pfad zu dieser Version in der Umgebungsvariablen LD_PRELOAD an:

$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold

Q: Meine OpenGL-Treiber sind veraltet. Kann ich Defold trotzdem verwenden?

A: Ja, möglicherweise kannst du Defold verwenden, wenn du Software-Rendering aktivierst. Du kannst Software-Rendering aktivieren, indem du die Umgebungsvariable LIBGL_ALWAYS_SOFTWARE auf 1 setzt:

$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold

Q: Warum startet mein Defold-Spiel nicht, wenn ich versuche, es unter Linux auszuführen?

A: Prüfe die Konsolenausgabe im Editor. Wenn du die folgende Meldung erhältst:

dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory

Dann musst du libopenal1 installieren. Der Paketname unterscheidet sich je nach Distribution, und in manchen Fällen musst du möglicherweise die Pakete openal und openal-dev oder openal-devel installieren.

$ apt-get install libopenal-dev

Q: Warum schließt sich das obere Menü, bevor ich etwas auswählen kann?

A: Dies wird wahrscheinlich durch den verwendeten Fenstermanager verursacht (beispielsweise Qtile oder i3). Es handelt sich um ein bekanntes Problem in JavaFX, das sich entweder lösen lässt, indem du die Umgebungsvariable GDK_DISPLAY auf 1 setzt:¨

$ GDK_DISPLAY=1 ./Defold

D=2

Oder indem du die Datei Defold/config änderst und in der Zeile vmargs den Eintrag -Djdk.gtk.version=2 hinzufügst:

vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...

Q: Warum kann ich nicht alle verfügbaren Speicherorte durchsuchen, wenn ich Open From Disk auswähle?

A: Wenn du Defold über Steam als Flatpak ausführst, musst du Steam die Berechtigung erteilen, auf deine anderen Laufwerke zuzugreifen. Du kannst die Berechtigungen deiner Flatpak-Anwendungen mit Flatseal oder einem ähnlichen Werkzeug ändern.

Q: Warum kann ich den Web-Profiler oder andere Menüoptionen, die einen Browser erfordern, nicht öffnen?

A: Wahrscheinlich schlägt ein interner Aufruf von Desktop.getDesktop().browse(new URI(url)); fehl, da auf Systemen ohne Gnome kein Browser erkannt wird. Versuche, libgnome zu installieren.

$ apt-get install libgnome