Skip to content

[Please read] Requirements, supported platforms, FAQs. [update on macOS] #41

Open
@tkoeppe

Description

@tkoeppe

This issue is a placeholder until we update the documentation to make these points easier to find.

Bazel: Please use a recent version of Bazel. The continuous-integration checks use whatever up-to-date version is supplied by the system, and we try to keep the code passing those checks. A convenient way to stay up to date is to use your system vendor's package management system (see https://docs.bazel.build/versions/master/install.html), or the https://github.com/bazelbuild/bazelisk wrapper that automatically downloads the latest version.

Linux only: DeepMind Lab is currently made only for Linux. It will not build on MacOSX. Making Lab work on MacOSX should not be fundamentally impossible (some might say it should be straight-forward), but it's extra work that we have not done yet and are not currently planning to do. Support for MacOSX isn't officially provided, but the macos branch contains attempts at getting certain parts of the system to work.

Python 2.7: The Python bindings that we ship are made for Python 2.7 with experimental support for Python 3only. They don't work with Python 3 out of the box, and we have not investigated how much work it would be to make them work. Please also note that the Python bindings are more of an "example application" that a definitive model of an API; the canonical API is the C API in public/dm_lab.h and third_party/rl_api/env_c_api.h. If the Python bindings don't quite work for your use case, please do consider using the C API.

Python libraries: We also require NumPy and PIL. For a few tests, NumPy needs to be at least 1.8, but the main Python bindings work on older versions, too.

OpenGL: Except for the headless=osmesa build mode, Lab requires hardware OpenGL. This usually requires that you run the binaries directly on a machine with an OpenGL-enabled X server. It will probably not work through SSH connections onto remote machines.

Compiler: For GCC you need at least version 4.8. Recent versions of Clang should work, too. We run successful tests for Linux-x86_64 with GCC+libstdc++, Clang+libstd++, and Clang+libc++.

Other platforms: In principle MacOS on x86_64 should work, too (see the macos branch), but isn't well tested. MacOS and Linux on aarch64 (ARM64) are not currently supported, but should in principle be achievable (all the source code is there to support that CPU).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions