Now Shipping! – The EyeLink 3; combined head and eye tracking at up to 1000 Hz.

Linux Installation Instructions
#1
Overview

The following documentation outlines the SR Research software installation process for Linux users. We currently support the EyeLink Developers Kit, Data Viewer, and a few supplementary tools for this platform.
  • EyeLink Developers Kit: Provides the application programming interface (API) and related resources for integrating with SR Research eye-tracking hardware. It includes:
    • Sample Code & Projects: Examples demonstrating EyeLink integration in supported environments.
    • Psychtoolbox Dependencies: Required components for using EyelinkToolbox in MATLAB.
    • C API: Libraries for C/C++ development.
    • EDFAccessAPI: Libraries for unpacking the EDF file format
    • PyLink: Libraries for Python development.
    • edf2asc: A command-line interface (CLI) tool to convert .edf files to ASCII text files.
    • EDFConverter: A graphical user interface (GUI) wrapper for the edf2asc CLI tool.
    • Documentation: Guides for all supported development environments.
  • Data Viewer: A powerful application for visualizing and processing EyeLink data files (.edf).
    Note: Data Viewer requires a software license from SR Research. Please contact sales@sr-research.com for inquiries.


Compatibility
  • Ubuntu: Official support for the EyeLink Developers Kit and Data Viewer is provided for current Ubuntu Linux LTS releases (e.g., Ubuntu 22.04, 24.04, and 26.04).
  • Other Distributions: While these Debian packages may function on other Debian-based or non-Debian distributions, we do not officially support those configurations. If you'd like to see the EyeLink Developers Kit for other platforms, please contact support@sr-research.com and we will log your interest, but we cannot make any promises that there will be development for other distributions/platforms.


Installation
The instructions below are verified for fresh installations of Ubuntu 22.04, 24.04, or 26.04.

Important: All methods below use terminal commands. Please open a terminal window (CTRL+ALT+T) to execute them. Most of these commands require sudo (administrative) level privileges.

Depending on your starting point, please skip to the relevant section:
  • Check Currently Installed Version
  • Fresh Installation
  • Upgrade
  • Remove and Reinstall

Check Currently Installed Version
Execute the following command to check the currently installed version of the EyeLink Display Software (Developers Kit) and Data Viewer. If installed, this command will output their version numbers and dependencies:
Code:
apt show eyelink-display-software eyelink-dataviewer
If you have an existing installation that does not match the latest version of your target package, please follow the upgrade instructions below. Otherwise, follow the fresh installation instructions.

Fresh Installation
Use these commands if you do not currently have any version of the EyeLink software installed.
(If you previously had Eyelink related software installed and want to perform a completely clean reinstall, please jump to the Remove and Reinstall section instead).
  1. Install the repository access key:
    Code:
    wget -qO- https://apt.sr-research.com/SRResearch_key.gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/SRResearch_key.gpg >/dev/null
  2. Install the repository:
    Code:
    wget -qO- https://apt.sr-research.com/SR_Research_repo.sources | sudo tee /etc/apt/sources.list.d/SR_Research_repo.sources
  3. Update apt package lists:
    Code:
    sudo apt update
  4. Install the software:
    • Install the EyeLink Developers Kit:
      Code:
      sudo apt install eyelink-display-software
    • Install EyeLink Data Viewer:
      Code:
      sudo apt-get install eyelink-dataviewer
    • Optional: Install Video Playback Support for Data Viewer (Ubuntu 22.04 and 24.04 only)
      Code:
      sudo apt-get install eyelink-dataviewer-video-support

Upgrade
If you already have EyeLink Display Software version 2.1 (or lower) and/or Data Viewer version 4.5 (or lower) installed, you can upgrade them using the following commands:
  1. Update apt package lists:
    Code:
    sudo apt-get update
  2. Upgrade the existing software packages:
    • Upgrade EyeLink Developers Kit
      Code:
      sudo apt-get install --only-upgrade eyelink-display-software
    • Upgrade EyeLink Data Viewer
      Code:
      sudo apt-get install --only-upgrade eyelink-dataviewer
    • Optional: Upgrade Video Playback Support (Ubuntu 22.04 and 24.04 only)
      Code:
      sudo apt-get install --only-upgrade eyelink-dataviewer-video-support
  3. Optional: Upgrade system-wide dependencies
    Code:
    apt-get dist-upgrade

Remove and Reinstall
Executing these commands will completely purge your existing EyeLink software and repositories, allowing you to install the latest versions from scratch.
  1. Purge old versions and unused dependencies
    Code:
    sudo apt-get purge eyelink-display-software eyelink-dataviewer sudo apt-get autoremove --purge
  2. Remove old repository:
    Code:
    sudo add-apt-repository --remove -y -n 'deb [arch=amd64] https://apt.sr-research.com SRResearch main'
  3. Verify removal:
    Code:
    ls /etc/apt/sources.list.d/*sr-research_com*.list /etc/apt/sources.list.d/SR_Research_repo.sources
    Note: If the command above returns any file paths, please manually delete those files.
  4. Install the new repository access key
    Code:
    wget -qO- https://apt.sr-research.com/SRResearch_key.gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/SRResearch_key.gpg >/dev/null
  5. Install the repository:
    Code:
    wget -qO- https://apt.sr-research.com/SR_Research_repo.sources | sudo tee /etc/apt/sources.list.d/SR_Research_repo.sources
  6. Update apt package lists:
    Code:
    sudo apt update
  7. Install software:
    • Install EyeLink Developers Kit"
      Code:
      sudo apt install eyelink-display-software
    • Install EyeLink Data Viewer:
      Code:
      sudo apt-get install eyelink-dataviewer
    • Optional: Install Video Playback Support (Ubuntu 22.04 and 24.04 only)
      Code:
      sudo apt install eyelink-dataviewer-video-support

#2
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.
  • 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.
      Usage syntax:
      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

    • 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/

  • 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

  • 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
    • 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
    • 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
      • 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
      • 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

      • 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/
    • 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/

  • 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/