Systems supported for running scriptsΒΆ
Windows 10 (version 1903 aka 19H1, or later), or Windows 11, either 32-bit or 64-bit.
macOS AMD/Intel or Apple Silicon (Big Sur 11.0 or higher).
Linux AMD/Intel 64-bit with glibc 2.27 or higher.
You will need the following system tools installed:
tar
,wget
orcurl
,git
,unzip
libssl-dev
(Debian, Ubunutu) oropenssl-devel
(RedHat)ninja
(this requirement will be removed)- If any are missing you will be asked if
dk
can install them the first time you run./dk
from the command line.
For graphics you will need one of:
- X11 with a direct OpenGL driver.
- A good prereq test is running
glxgears
(ex.yum install glx-utils; glxgears
). If that works,dk
graphics should work. - Don't expect the
LIBGL_ALWAYS_INDIRECT=1
environment variable to work. That is sometimes recommended when forwarding X11 withssh -X
or into a Docker container, but it forces the protocol to be a too-old OpenGL version 1.4 .
- A good prereq test is running
- Wayland. Set the environment variable
SDL_VIDEODRIVER=wayland
to force it. - Linux Direct Rendering Manager. If supported, you will have a
/dev/dri/card0
. Set the environment variableSDL_VIDEODRIVER=kmsdrm
to force it.
- X11 with a direct OpenGL driver.
Systems supported for deploying shared librariesΒΆ
Shared libraries can be created in a limited, private beta in dk
2.3.
Windows 10 (version 1903 aka 19H1, or later), or Windows 11, either 32-bit or 64-bit.
macOS AMD/Intel or Apple Silicon (Big Sur 11.0 or higher).
Linux AMD/Intel 64-bit with glibc 2.27 or higher.
You will need the following system tools installed:
tar
,wget
orcurl
,git
,unzip
libssl-dev
(Debian, Ubunutu) oropenssl-devel
(RedHat)ninja
(this requirement will be removed)- If any are missing you will be asked if
dk
can install them the first time you run./dk
from the command line.
For graphics you will need one of:
- X11 with a direct OpenGL driver.
- A good prereq test is running
glxgears
(ex.yum install glx-utils; glxgears
). If that works,dk
graphics should work. - Don't expect the
LIBGL_ALWAYS_INDIRECT=1
environment variable to work. That is sometimes recommended when forwarding X11 withssh -X
or into a Docker container, but it forces the protocol to be a too-old OpenGL version 1.4 .
- A good prereq test is running
- Wayland. Set the environment variable
SDL_VIDEODRIVER=wayland
to force it. - Linux Direct Rendering Manager. If supported, you will have a
/dev/dri/card0
. Set the environment variableSDL_VIDEODRIVER=kmsdrm
to force it.
- X11 with a direct OpenGL driver.
Android ABI
armeabi-v7a
,arm64-v8a
orx86_64
. The ARM processors must support the Neon extension (ARM Advanced SIMD) when deploying with thearmeabi-v7a
ABI. Almost allarmeabi-v7a
ABI devices support the Neon extension .
Runtime systemΒΆ
The dk
executable and ./dk
wrapper script are the primary coding tools for the dk
coder.
With dk
or ./dk
, your scripts will have access to the following libraries:
- curl
- All OSes:
- Brotli and zstd compression
- Asynchronous DNS resolution
- HTTP/2
- Websockets
- Windows: Schannel TLS backend (Microsoft CryptoAPI) and WinIDN domain name resolution
- macOS: Secure transport backend (Keychain) and IDN2
- Linux: Openssl is required from the operating system.
dk
does not provide it.
- All OSes:
- SDL2
- Windows: Audio mixer supports the WAV format.
- macOS: Audio mixer supports the WAV format.
- Linux: Audio mixer supports the WAV format. D-Bus and ibus IME are supported.
The DkCom_Build.Shared
module that is available in a private beta can create shared libraries; those shared libraries have access to all of the above libraries and additionally support:
- curl
- All OSes:
- Brotli and zstd compression
- Asynchronous DNS resolution
- HTTP/2
- Websockets
- Windows: Schannel TLS backend (Microsoft CryptoAPI) and WinIDN domain name resolution
- macOS: Secure transport backend (Keychain) and IDN2
- Linux: Openssl is embedded.
- All OSes:
- SDL2
- Windows: Audio mixer supports the WAV format.
- macOS: Audio mixer supports the WAV format.
- Linux: Audio mixer supports the WAV format. ibus IME is supported but not D-Bus.
- Android: Audio mixer supports the FLAC and Opus and OGG (through Opus) formats.