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
Tworzenie aplikacji Defold na platformie Linux jest prostym procesem i wymaga bardzo niewielu dodatkowych uwag.
O: Jeśli używasz GNOME, możesz przed uruchomieniem Defold zmienić współczynnik skalowania. źródło
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
O: Alternatywnym rozwiązaniem, szczególnie gdy chcesz skalować interfejs o ułamek, jest zmodyfikowanie pliku Defold/config i dodanie na linii vmargs parametru glass.gtk.uiScale: źródło
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,...
Więcej o tej wartości przeczytasz w artykule wiki Arch Linux HiDPI.
O: Jeśli używasz KDE, możesz ustawić GDK_SCALE:
$ GDK_SCALE=2 ./Defold
O: Uruchom edytor w ten sposób:
$ GTK_CSD=0 ./Defold
com.jogamp.opengl
O: W niektórych dystrybucjach, na przykład Ubuntu 18, występuje problem między wersją jogamp/jogl używaną przez Defold a wersją Mesa zainstalowaną w systemie. Możesz nadpisać wersję GL zgłaszaną przez glGetString(GL_VERSION), ustawiając MESA_GL_VERSION_OVERRIDE na 2.1 albo na większą wartość, ale nie większą niż wersja obsługiwana przez sterownik. Maksymalną wersję OpenGL obsługiwaną przez sterownik możesz sprawdzić za pomocą glxinfo:
glxinfo | grep version
Przykładowy wynik (szukaj wiersza “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,
Użyj wersji 2.1 albo wersji zgodnej z wersją sterownika graficznego:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
com.jogamp.opengl.GLException: Graphics configuration failed” podczas uruchamiania Defold?
O: W niektórych dystrybucjach, na przykład Ubuntu 20.04, występuje problem z nowymi sterownikami Mesa (Iris) podczas uruchamiania Defold. Możesz spróbować uruchomić Defold ze starszą wersją sterownika:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so
O: Wersja libffi w twojej dystrybucji i wersja wymagana przez Defold (6 lub 7) nie są zgodne. Upewnij się, że libffi.so.6 albo libffi.so.7 jest zainstalowany w /usr/lib/x86_64-linux-gnu. Możesz pobrać libffi.so.7 w taki sposób:
$ 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
Następnie podczas uruchamiania Defold wskaż ścieżkę do tej wersji w zmiennej środowiskowej LD_PRELOAD:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
O: Tak, może być możliwe korzystanie z Defold po włączeniu renderowania programowego. Możesz je włączyć, ustawiając zmienną środowiskową LIBGL_ALWAYS_SOFTWARE na 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
O: Sprawdź wyjście konsoli w edytorze. Jeśli zobaczysz następujący komunikat:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
Musisz zainstalować libopenal1. Nazwa pakietu różni się w zależności od dystrybucji i w niektórych przypadkach może być konieczne zainstalowanie pakietów openal oraz openal-dev lub openal-devel.
$ apt-get install libopenal-dev
O: Najpewniej powoduje to używany menedżer okien, na przykład Qtile lub i3. To znany problem w JavaFX i można go rozwiązać albo przez ustawienie zmiennej środowiskowej GDK_DISPLAY na 1:
$ GDK_DISPLAY=1 ./Defold
D=2
Albo przez zmodyfikowanie pliku Defold/config i dodanie na linii vmargs parametru -Djdk.gtk.version=2:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
O: Jeśli uruchamiasz Defold z Steam przez Flatpak, musisz nadać Steam uprawnienia do dostępu do innych dysków. Możesz zmienić uprawnienia aplikacji Flatpak za pomocą Flatseal lub podobnego narzędzia.
O: Najprawdopodobniej wewnętrzne wywołanie Desktop.getDesktop().browse(new URI(url)); kończy się niepowodzeniem, ponieważ w systemach innych niż GNOME nie wykryto przeglądarki. Spróbuj zainstalować libgnome.
$ apt-get install libgnome