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
Розробка застосунків Defold для платформи Linux — це простий процес, у якому потрібно врахувати лише кілька особливостей.
Відповідь: Якщо ви використовуєте GNOME, можна змінити коефіцієнт масштабування перед запуском Defold. Джерело
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
Відповідь: Інший спосіб, особливо якщо потрібен дробовий коефіцієнт збільшення, — змінити файл Defold/config, додавши glass.gtk.uiScale до рядка vmargs: джерело
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,...
Докладніше про це значення див. у статті вікі Arch Linux про HiDPI.
Відповідь: Якщо ви використовуєте KDE, можна задати GDK_SCALE:
$ GDK_SCALE=2 ./Defold
Відповідь: Запустіть редактор так:
$ GTK_CSD=0 ./Defold
com.jogamp.opengl
Відповідь: У деяких дистрибутивах (як-от Ubuntu 18) є проблема сумісності версії jogamp/jogl, яку використовує Defold, з версією Mesa у системі. Ви можете перевизначити версію GL, яку повертає виклик glGetString(GL_VERSION), задавши для MESA_GL_VERSION_OVERRIDE значення 2.1 або більше, але не вище версії, яку підтримує ваш драйвер. Перевірити максимальну версію OpenGL, яку підтримує драйвер, можна за допомогою glxinfo:
glxinfo | grep version
Приклад виведення (шукайте «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,
Використовуйте версію 2.1 або версію, що відповідає вашому графічному драйверу:
$ MESA_GL_VERSION_OVERRIDE=2.1 ./Defold
$ MESA_GL_VERSION_OVERRIDE=4.6 ./Defold
com.jogamp.opengl.GLException: Graphics configuration failed»?
Відповідь: У деяких дистрибутивах (наприклад, Ubuntu 20.04) під час роботи Defold виникає проблема з новими драйверами Mesa (Iris). Ви можете спробувати запустити Defold зі старішою версією драйвера:
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so
Відповідь: Версія libffi у вашому дистрибутиві не відповідає тій, яку потребує Defold (версія 6 або 7). Переконайтеся, що libffi.so.6 або libffi.so.7 встановлено в /usr/lib/x86_64-linux-gnu. Ви можете завантажити libffi.so.7 так:
$ 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
Далі під час запуску Defold вкажіть шлях до цієї версії у змінній середовища LD_PRELOAD:
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7 ./Defold
Відповідь: Так, можливо, ви зможете користуватися Defold, якщо ввімкнете програмний рендеринг. Для цього задайте змінній середовища LIBGL_ALWAYS_SOFTWARE значення 1:
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
Відповідь: Перевірте виведення консолі в редакторі. Якщо ви бачите таке повідомлення:
dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
то потрібно встановити libopenal1. Назва пакета залежить від дистрибутива, і в деяких випадках може знадобитися встановити пакети openal та openal-dev або openal-devel.
$ apt-get install libopenal-dev
Відповідь: Імовірно, це спричинено віконним менеджером, який ви використовуєте (наприклад, Qtile або i3). Це відома проблема JavaFX, яку можна розв’язати, задавши змінній середовища GDK_DISPLAY значення 1:
$ GDK_DISPLAY=1 ./Defold
D=2
Або змінивши файл Defold/config і додавши -Djdk.gtk.version=2 до рядка vmargs:
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
Відповідь: Якщо ви запускаєте Defold зі Steam, встановленого через Flatpak, потрібно надати Steam дозвіл на доступ до інших дисків. Змінити дозволи застосунків Flatpak можна за допомогою Flatseal або подібного засобу.
Відповідь: Імовірно, внутрішній виклик Desktop.getDesktop().browse(new URI(url)); завершується помилкою, оскільки в системах без GNOME браузер не виявляється. Спробуйте встановити libgnome.
$ apt-get install libgnome