1) How to run apps directly in Terminal/Command Prompt?

# Linux
$ ./apps/Previewer
# macOS
$ ./apps/
# Windows
> .\apps\Previewer.exe

2) Running apps or samples crashes due to the CUDA driver is not proper.

If you run ./apps/Previewer or ./samples/bin/camera2 <index> crashes and see this information:

CUDA Error: CUDA driver version is insufficient for CUDA runtime version

It seems that your CUDA driver is not proper for CUDA runtime.

You could select to install CUDA driver when install CUDA Toolkit.

3) Install the NVIDIA display driver failed on Ubuntu.

If you install the NVIDIA display driver failed like these:

Installing the NVIDIA display driver...
It appears that an X server is running. Please exit X before installation. If you're sure that X is not running, but are getting this error, please delete any X lock files in /tmp.
Driver:   Installation Failed

A system reboot is required to continue installation. Please reboot then run the installer again. An attmept has been made to disable Nouveau. If this message persists after reboot, please see the display driver log file at /var/log/nvidia-installer.log for more information.
Driver:   Reboot required to continue

You could install the driver as follows:

$ sudo apt-cache search nvidia-
$ sudo apt-get install nvidia-375
$ sudo reboot

Or, see this: How can I install CUDA on Ubuntu 16.04?.

4) Running apps in SDK (Previewer, etc.) doesn't detect the CUDA runtime correctly?

You could run apps directly in Terminal, and confirm "Detect CUDA support" or not by the output message.

However, run apps in Terminal is not the same as run them through click to start. You should not export the library search paths as follows:

# Linux
$ vi ~/.bashrc
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=$CUDA_HOME/bin:$PATH
# macOS
$ vi ~/.bash_profile
export PATH=/usr/local/cuda-8.0/bin:$PATH
export PATH=$CUDA_HOME/bin:$PATH

Otherwise, it may "Detect CUDA support" when run in Terminal, but "Detect CUDA not support" when click to start. Because when click to start apps, they won't know the search paths that you added for Terminal.

To ensure the apps could detect the CUDA runtime correctly, you should add library search paths to system.

On Linux, add the paths to "/etc/":

# Add library directory at end: /usr/local/cuda-8.0/lib64
$ sudo vi /etc/
# Rebuild the cache
$ sudo ldconfig
# Check if library directory in cache
$ ldconfig -p | grep cuda

On macOS, link the CUDA libs to "/usr/local/lib":

$ CUDA_LIBPATH=/usr/local/cuda/lib; \
for lib in libcuda.dylib libnppc.dylib libnppi.dylib; do \
libpath="$CUDA_LIBPATH/$lib"; \
if [ -e "$libpath" ]; then \
ln -fhs "$libpath" "/usr/local/lib"; \
fi \

5) What is "Warning: Failed to get the camera's infomation"?

On Windows, if you run a executable using SDK when you has plugged the camera for a while, you may see the following warning:

Warning: Failed to get the camera's infomation.
Warning: sn is empty.

Then, the SDK will fetch a default calibration file to "settings/SN.conf" and continue processing. Thus, it will lead to bad depthmap because of the unmatched calibration parameters.

You could replug the camera and run any executable using SDK to solve it.

The reason is the camera will be in low power state on Windows when you has plugged the camera for a while. And the SDK can not get the camera's infomation in this state.

About the camera infomation, the SDK will cache it to a temporary file "setting/" once you got it. When you failed to get the infomation, the SDK will read it from the temporary file if exists. Besides, you could create a file "setting/" to specify the camera infomation.

6) "error LNK1104: cannot open file 'ws2_32.lib'" in using Visual Studio 2013

It is recommended that use Visual Studio 2015 to build "mynteye_sdk_samples.sln".

Alternatively, you could try explicitly linking 'ws2_32.lib' to the executable binaries in <sdk>/samples/CMakeLists.txt.

target_link_libraries(<executable> wsock32 ws2_32)

7) "error while loading shared libraries: .. file too short" on Linux

lib/ error while loading shared libraries: /home/cc/mynt/mynteye-1.5-linux-x64-gcc5-opencv-3.2.0/lib/3rdparty/ file too short

It means the shared library size is incorrect. Please download the SDK and extract it again.

Besides, you could check the archive's MD5 checksum like that:

$ md5sum xxx.tar.gz

8) "error adding symbols: File in wrong format" on Linux

.../lib/ error adding symbols: File in wrong format

It means the shared library format is incorrect. Check your system's architecture like that:

$ uname -a
Linux john-ubuntu 4.10.0-35-generic #39~16.04.1-Ubuntu SMP Wed Sep 13 09:02:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Arch Archive Name
x86, i686, i386 -
x86_64 x64
arm -
aarch64 aarch64

The "Archive Name" marked with - means not supported.

Then, download the SDK archive with the same architecture and install.

9) "what(): /dev/video0: select timeout" on Linux

If you run sample (e.g., ./samples/bin/camera), but occurs this issue:

terminate called after throwing an instance of 'std::runtime_error'
  what(): /dev/video0: select timeout

Please confirm the index of your MYNT EYE camera, you could run <sdk>/tools/list_devices in the Terminal to see the indexes. See "<sdk>/samples/" to learn more.

Known Issues

1) Open MYNT EYE camera failed on macOS.

It may hang when open the camera, after you open and close it several times on macOS.

Reconnecting the MYNT EYE camera will solve this issue.