Runtime requirementsΒΆ

  • 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 or curl, git, unzip
      • libssl-dev (Debian, Ubunutu) or openssl-devel (RedHat)
      • ninja (this requirement will be removed)
      • If any are missing you will be asked if DkCoder 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, DkCoder graphics should work.
        • Don't expect the LIBGL_ALWAYS_INDIRECT=1 environment variable to work. That is sometimes recommended when forwarding X11 with ssh -X or into a Docker container, but it forces the protocol to be a too-old OpenGL version 1.4 .
      • 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 variable SDL_VIDEODRIVER=kmsdrm to force it.
    • That's it. Linux desktops are complex!

Runtime systemΒΆ

The dk executable and ./dk wrapper script are the primary coding tools for DkCoder.

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. DkCoder does not provide it.
  • SDL2