Overview of the EyeLink Developers Kit Resources
The eyelink-display-software package is a meta-package that links together a number of other packages and dependencies. The complete set of these installed packages comprises the EyeLink Developers Kit for Linux. The individual packages are described in more detail below.
The eyelink-display-software package is a meta-package that links together a number of other packages and dependencies. The complete set of these installed packages comprises the EyeLink Developers Kit for Linux. The individual packages are described in more detail below.
- Demo tracking app:
Track is a precompiled application used to test your connection and practice operations. You can run the application from the following location:- /usr/bin/track
- Tools & Utilities:
This package provides two utilities for handling and converting EyeLink Data Files (.edf) to ASCII text files.
Note: Other community packages for unpacking EDF files into various formats (not included in eyelink-display-software) can be found here.- Command-line edf2asc Utility
The command-line version of our edf2asc utility is installed with the edf2asc package. Different builds of this tool can be found in the following locations:- /usr/bin/edf2asc # Static build; does not require the EDF API .so library.
- /usr/bin/edf2asc_s # Dynamic build; depends on and requires the EDF API .so library.
Code:edf2asc [options] <input .edf file> edf2asc someFile.edf
To see the complete set of supported command-line options, run edf2asc without any arguments in a terminal session. This will display the following output (truncated for brevity):
Code:edf2asc # which displays the following (truncated) output EDF2ASC: EyeLink EDF file -> ASCII (text) file translator EDF2ASC version 3.1 Linux Mar 9 2017 (c)1995-2013 by SR Research, last modified Mar 9 2017 USAGE: edf2asc [options] <input .edf file> OPTIONS: -p <path> writes output with same name to <path> directory -p *.<ext> writes output of same name with new extension ... # many more options follow
- /usr/bin/edf2asc # Static build; does not require the EDF API .so library.
- Visual EDF2ASC Converter:
The graphical (GUI) utility for converting .edf files to ASCII text within a desktop environment is named Visual EDF2ASC Converter. It is provided in the edfconverter Linux package.
The application binary and its respective resources are installed in:- /usr/bin/EdfConverter/
- Command-line edf2asc Utility
- PyLink for Python:
Support for 64-bit (x86_64) versions of Python 2 (2.7) and Python 3 (3.6 – 3.14) on Linux is included with eyelink-display-software.- PyLink Installation:
While a few installation methods are supported, the recommended approach is to install directly from our pip repository using the following command (replace 3.x with your target version of Python):
Code:python -3.x -m pip install sr-research-pylink
Alternatively, you can install the packages locally using the wheel files included with eyelink-display-software (replace 3.x with your target Python version and *.whl with the appropriate filename):
Code:python -3.x -m pip install *.whl
The wheel files for local installation can be found here:- /usr/share/EyeLink/SampleExperiments/Python/offline_wheels/
- PyLink Sample Projects
Example tasks for different Python implementations can be found here:- /usr/share/EyeLink/SampleExperiments/Python/SampleExperiments/
- PyLink Documentation:
Documentation regarding the PyLink wrapper for the EyeLink API can be found here:- /usr/share/EyeLink/SampleExperiments/Python/Pylink api userguide.pdf
- /usr/share/EyeLink/SampleExperiments/Python/examples/README.md
- /usr/share/EyeLink/SampleExperiments/Python/Pylink api userguide.pdf
- PyLink Installation:
- EyeLinkToolbox for MATLAB & Psychtoolbox
Psychtoolbox for MATLAB includes the EyeLinkToolbox, providing built-in support for EyeLink system integrations. The EyeLinkToolbox module is open-source and jointly maintained by the Psychtoolbox and EyeLink communities, with contributions from SR Research.
Documentation about the various features of the EyeLink toolbox can be found here:- /usr/share/EyeLink/SampleExperiments/MATLAB Psychtoolbox/PTB_README
- C API support:
- Documentation
Our C API consists of several dynamic and static libraries, each providing complementary functionality. Detailed information regarding the EyeLink Developers Kit and general API functionality can be found in the EyeLink Programmers Guide.
Local copies of the guide are located here:- /usr/share/EyeLink/Docs/EyeLinkProgrammersGuide.pdf
- /usr/share/EyeLink/Docs/EyeLinkProgrammersGuide-html/index.html
- /usr/share/EyeLink/Docs/EyeLinkProgrammersGuide.pdf
- The EyeLink Core library and related header files
The core dependency files for the EyeLink API are required for C/C++ development of custom applications that integrate EyeLink functionality (such as establishing a network connection to the EyeLink Host PC and camera). These libraries are also required as runtime dependencies for integrations in third-party environments (such as PyLink for Python, Psychtoolbox/EyeLinkToolbox for MATLAB, and other community-developed tools).
The EyeLink Core library and header files are installed in the following locations:- /usr/lib/x86_64-linux-gnu/libeyelink_core-2.0.so.0.2.596
- /usr/lib/x86_64-linux-gnu/libeyelink_core.a
- /usr/lib/x86_64-linux-gnu/libeyelink_core.la
- /usr/include/EyeLink/eyelink.h
- /usr/include/EyeLink/eyetypes.h
- /usr/include/EyeLink/eye_data.h
- /usr/lib/x86_64-linux-gnu/libeyelink_core-2.0.so.0.2.596
- The EyeLink Core Graphics and SDL Util library and related header files
These files extend the EyeLink Core library to provide SDL v1.2 functionality. They act as development and runtime dependencies for C/C++ applications using the SDL graphics environment to support Display PC integrations—including Camera Setup Mode (camera image transfer, calibration, validation, and drift checks)—and related features.
This package also includes the SDL Util library and associated header files to assist with SDL v1.2 implementations when a stimulus display requires features like text rendering or gaze-contingent cursors.- SDL v1.2 library files are installed here:
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics-2.0.so.0.2.596
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics.a
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics.la
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics-2.0.so.0.2.596
- SDL v2 library files are installed here:
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics_sdl2-2.0.so.0.2.596
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics_sdl2.a
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics_sdl2.la
- /usr/share/EyeLink/SampleExperiments/sdl2/Extension/sdl2_util/libsdl2_util.a
- /usr/lib/x86_64-linux-gnu/libeyelink_core_graphics_sdl2-2.0.so.0.2.596
- Associated header files are installed here:
- /usr/include/EyeLink/core_expt.h
- /usr/include/EyeLink/sdl_expt.h
- /usr/include/EyeLink/sdl2_expt.h
- /usr/share/EyeLink/SampleExperiments/sdl/Extension/sdl_util/folder_support.h
- /usr/share/EyeLink/SampleExperiments/sdl/Extension/sdl_util/fontmappings.h
- /usr/share/EyeLink/SampleExperiments/sdl/Extension/sdl_util/gazecursor.h
- /usr/share/EyeLink/SampleExperiments/sdl/Extension/sdl_util/sdl_text_support.h
- /usr/share/EyeLink/SampleExperiments/sdl2/Extension/sdl2_util/fontmappings.h
- /usr/share/EyeLink/SampleExperiments/sdl2/Extension/sdl2_util/gazecursor.h
- /usr/share/EyeLink/SampleExperiments/sdl2/Extension/sdl2_util/sdl_text_support.h
- /usr/include/EyeLink/core_expt.h
- Source files for the SDL v1 and v2 Util libraries used in our sample experiments are available here:
- /usr/share/EyeLink/SampleExperiments/sdl/shared/
- /usr/share/EyeLink/SampleExperiments/sdl2/shared/
- /usr/share/EyeLink/SampleExperiments/sdl/shared/
- SDL v1.2 library files are installed here:
- Sample Experiments
A number of Sample Experiments are available to demonstrate the use of the EyeLink Core and Core Graphics libraries. These C applications include pre-built, ready-to-run binaries, source files, and a Makefile. You can use them to test C API integrations, modify template projects, or adapt code snippets into custom applications. These example projects cover a variety of concepts, including text/picture displays and gaze-contingent feedback (accessing real-time data over the Ethernet link).
The examples can be found here:- /usr/share/EyeLink/SampleExperiments/
- Documentation
- EDF Access API:
The EDF Access API includes support for developing custom C/C++ applications that directly handle .edf EyeLink Data Files. It is installed via the edfapi package.
The EDF Access API documentation can be found here:- /usr/share/EyeLink/EDF_Access_API/docs/EDF Access C API user manual.pdf
The libraries required for the EDF Access API are located here:- /usr/lib/x86_64-linux-gnu/libedfapi.a
- /usr/lib/x86_64-linux-gnu/libedfapi.so
- /usr/include/EyeLink/edf.h
- /usr/include/EyeLink/edftypes.h
- /usr/include/EyeLink/edf_data.h
An example project demonstrating the use of the EDF Access API (available in both C and Java source files) functions as a simplified version of the edf2asc command-line utility and is installed here:- /usr/share/EyeLink/EDF_Access_API/CExample/

