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
Linux プラットフォーム向けの Defold アプリケーション開発では、考慮すべき点はごく少なく、手順もシンプルです。
A: GNOME を使用している場合は、Defold を実行する前に表示倍率を変更できます。出典
$ gsettings set org.gnome.desktop.interface scaling-factor 2
$ ./Defold
A: 別の解決方法として、特に小数を含む倍率で拡大したい場合は、Defold/config ファイルの vmargs 行に glass.gtk.uiScale を追加します。出典
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 wiki の HiDPI の記事を参照してください。
A: KDE を使用している場合は、GDK_SCALE を設定できます。
$ GDK_SCALE=2 ./Defold
A: 次のようにエディターを起動します。
$ GTK_CSD=0 ./Defold
com.jogamp.opengl が含まれます
A: 一部のディストリビューション(Ubuntu 18 など)では、Defold が使用する jogamp/jogl と、システム上の Mesa のバージョンの組み合わせに問題があります。MESA_GL_VERSION_OVERRIDE を 2.1 以上、かつドライバーが対応するバージョン以下の値に設定すると、glGetString(GL_VERSION) の呼び出し時に報告される GL バージョンを上書きできます。ドライバーが対応する 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」と表示されるのはなぜですか?
A: 一部のディストリビューション(Ubuntu 20.04 など)では、Defold の実行時に新しい Mesa ドライバー(Iris)で問題が発生します。Defold の実行時に古いバージョンのドライバーを使用してみてください。
$ MESA_LOADER_DRIVER_OVERRIDE=i965 ./Defold
libffi.so が含まれます
A: ディストリビューションの 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
A: はい、ソフトウェアレンダリングを有効にすると Defold を使用できる可能性があります。環境変数 LIBGL_ALWAYS_SOFTWARE を 1 に設定すると、ソフトウェアレンダリングを有効にできます。
$ LIBGL_ALWAYS_SOFTWARE=1 ./Defold
A: エディターのコンソール出力を確認してください。次のメッセージが表示される場合は、
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
A: 使用しているウィンドウマネージャー(Qtile や i3 など)が原因と考えられます。これは JavaFX の既知の問題で、環境変数 GDK_DISPLAY を 1 に設定すると解決できます。
$ GDK_DISPLAY=1 ./Defold
D=2
または、Defold/config ファイルの vmargs 行に -Djdk.gtk.version=2 を追加することでも解決できます。
vmargs = -Djdk.gtk.version=2,-Dfile.encoding=UTF-8,...
A: Flatpak を使用した Steam から Defold を実行している場合は、他のドライブにアクセスする権限を Steam に付与する必要があります。Flatpak アプリケーションの権限は、Flatseal などのツールで変更できます。
A: Gnome 以外のシステムではブラウザーが検出されないため、内部での Desktop.getDesktop().browse(new URI(url)); の呼び出しが失敗していると考えられます。libgnome をインストールしてみてください。
$ apt-get install libgnome