Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Linux

If it's not clear already, the GUI was developed primarily on Linux machines. If it's all possible, we recommend doing your development with Linux.

To get the software running on Ubuntu 10.10, the following is necessary:

  1. Install the Juce dependencies (freeglut3-dev, libfreetype6-dev, libxinerama-dev, libxcursor-dev, libasound2-dev), as well as libFTDI.
  2. cd to the /Builds/Linux folder and type make at the bash cursor

There may be other dependencies on other distros. Please let us know if you discover any.

If you just want to use the GUI on Linux, but not develop it, you can download an executable here. We currently only have binaries for 64-bit Linux, but 32-bit ones are on the way. Note that this software is still in the testing phase and is likely to crash without warning or explanation. Just so you know.

Installing the binaries (64-bit only)

  1. Download this zip file.
  2. Drag and drop the downloaded and unzipped folder to the location of your choice, and rename it "Open Ephys."
  3. Open a terminal and set your working directory to the Open Ephys folder.
  4. Type "sudo cp 40-open-ephys.rules /etc/udev/rules.d", then type your password.
  5. Type "service udev restart". These last two steps will allow your computer to communicate with the Open Ephys acquisition board.
  6. Double-click the "open-ephys" executable (or type "./open-ephys" in the terminal) to run the application.

Building from source (32-bit or 64-bit)

  1. Create a GitHub account if you haven't already.
  2. While logged into your account, go to https://github.com/open-ephys/GUI and click the "Fork" button in the upper right. You now have your own copy of the GUI repository. Any changes you make will only affect this copy. (More info on forking here.)
  3. Make sure you have git installed (instructions here).
  4. Open a terminal and set your working directory to where you'd like the code to be saved. We recommend creating a directory dedicated to all your coding projects, such as ~/Programming.
  5. Type "git clone https://github.com/yourusername/GUI.git", where "yourusername" is replaced by your actual GitHub user name. This will download all the code from the repository onto your computer.
  6. Install the Linux dependencies by running "sudo ./install_linux_dependencies.sh" in the GUI/Resources/Scripts folder.
  7. From the same directory, type "sudo cp 40-open-ephys.rules /etc/udev/rules.d", then type your password.
  8. Type "service udev restart". These last two steps will allow your computer to communicate with the Open Ephys acquisition board.
  9. Change your current working directory to GUI/Builds/Linux and type "make". This will start the process of building the GUI. If it crashes, it probably means you're missing some dependencies. If so, you can use "sudo apt-get install <libraryname>" to install them (assuming you're using Ubuntu or a related distribution). If you discover missing dependencies, definitely let us know!
  10. If the GUI builds successfully, run the "open-ephys" binary in the GUI/Builds/Linux/build folder.

Now you can both use the GUI and make changes to the source code. We recommend reading through the developer documentation before doing so.

Any changes you commit can be synced with your GitHub repository by typing "git push origin master" from any directory inside your project. If you change something that you think would be useful for others, you can submit a pull request to the Open Ephys version of the GUI.

 

Notes on distributions

Problems with audio hardware

Common problems

If the GUI won't start on Linux, it's likely due to problems communicating with the audio hardware. Your computer's sound card it is what generates the callbacks that drive data acquisition, so the GUI can't run unless it establishes proper communication with your audio device.

If you're running the software inside of gdb (which is recommended, at least until all the kinks are worked out), you may see the message "Program received signal SIGSEGV ... juce_String.cpp:203" after printing "Got audio device." With certain hardware, you'll get a segfault before this point is reached. Either you have the wrong drivers (or no drivers) installed, or (more commonly) the audio hardware is in use by another application.

How to troubleshoot:

  • As a first step, try exiting all other applications. If the audio hardware is being used by another program, the GUI might not be able to communicate with it.
  • Type sudo alsa force-reload in a terminal; this will refresh the sound server, and may fix your problem.
  • Check to see if your audio server (ALSA or PulseAudio) is the latest version. This may require downloading the latest source code and building them from scratch if the package hasn't been updated recently. For more details, check out this discussion.