Installation of OpenEB on Linux Ubuntu with packages
This section describes how to install OpenEB on Linux Ubuntu 22.04 and 24.04 64-bit with packages.
Table of Contents
Supported Cameras
OpenEB comes with a Prophesee camera plugin, enabling to stream data from our event-based cameras and to read recordings of event-based data. The supported cameras are:
If you want to use a Prophesee EVK that is not in the list above, it might have been discontinued. Refer to the Prophesee EVKs Support section to find out which previous version of OpenEB is supporting it.
If you own a third-party vendor event-based camera, refer to the Camera Plugin Installation page to see how it can be deployed and configured.
Required Configuration
Please note the base system requirements for using OpenEB:
Operating system: Linux Ubuntu 22.04 or 24.04 64-bit
Architecture: amd64 (a.k.a. x64)
Graphic card: must support OpenGL 3.0 minimum
CPU: must support AVX2
Upgrading OpenEB
If you are upgrading OpenEB from a previous version, you should first read carefully the Release Notes as some changes may impact your usage of our SDK (e.g. API updates) and cameras (e.g. firmware update might be necessary).
Then, you will need to remove the previously installed Prophesee software:
sudo apt remove '~nprophesee-.*' '~nmetavision-.*' '~nhdf5-ecf-*' '~nhdf5-plugin-ecf-*' --purge
Installation
Start by configuring the APT software repository of your system:
First, clean your sources list and preferences directories from potential earlier installation of Prophesee software:
remove any prophesee file from the folder
/etc/apt/sources.list.d
(e.g.sdk.list
,metavision.list
and .list files with “prophesee”)cd /etc/apt/sources.list.d sudo rm sdk.list metavision.list *prophesee*.listRemove any Prophesee file (e.g. with pattern
prophesee
) from the folders/etc/apt/preferences.d
and/etc/apt/auth.conf.d
sudo rm /etc/apt/preferences.d/*prophesee* sudo rm /etc/apt/auth.conf.d/*prophesee*Remove any Prophesee Server listed in the file
/etc/apt/sources.list
Install our JFrog server signing public key
sudo apt -y install curl curl -L https://propheseeai.jfrog.io/artifactory/api/security/keypair/prophesee-gpg/public >/tmp/propheseeai.jfrog.op.asc sudo cp /tmp/propheseeai.jfrog.op.asc /etc/apt/trusted.gpg.dAdd OpenEB repository of Prophesee’s JFROG server to the list of APT repositories with this command:
sudo add-apt-repository 'https://propheseeai.jfrog.io/artifactory/openeb-debian/'
Update the list of repositories/packages and install OpenEB:
sudo apt update sudo apt -y install metavision-openeb
Warning
If the above command returns the error E: unable to locate package metavision-openeb, it might mean that you did not properly install the APT server list. More probably, you tried to install OpenEB on a platform that we don’t support. In that case, ensure that your OS is Ubuntu 22.04 or 24.04 on amd64/x64. For example, if you are trying to install on a NVidia Jetson or a Raspberry Pi, you will get this error as both are not amd64-based but arm-based. If you want to work on a non-supported platform, you should compile OpenEB from sources.
Regarding our Python API, the previous command installs the Python bindings of our C++ libraries for the default version of Python of your Ubuntu version (3.10 on Ubuntu 22.04 and Python 3.12 on Ubuntu 24.04). If you want to use another supported Python version (e.g. 3.9 on Ubuntu 22.04), you should install an extra package:
sudo apt -y install metavision-openeb-python3.9
To use our HDF5 ECF codec plugin with some HDF5 tools (for example h5py
),
you also have to modify the HDF5_PLUGIN_PATH
environment variable:
For Ubuntu 22.04:
export HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/lib/x86_64-linux-gnu/hdf5/serial/plugins
For Ubuntu 24.04:
export HDF5_PLUGIN_PATH=$HDF5_PLUGIN_PATH:/usr/lib/x86_64-linux-gnu/hdf5/plugins
Installing Dependencies
Install additional packages required to manage videos and diagnose OpenGL drivers:
sudo apt -y install libcanberra-gtk-module mesa-utils ffmpeg
To execute our Python Samples and use the Python API, you will need Python and some additional libraries.
We support Python 3.9 and 3.10 on Ubuntu 22.04 and Python 3.11 and 3.12 on Ubuntu 24.04.
We recommend using Python with virtualenv to avoid conflicts with other installed Python packages. So, first install it along with the Python development files:
sudo apt -y install python3.x-venv python3.x-dev
# where "x" is 9, 10, 11 or 12 depending on your Python version
Next, create a virtual environment:
python3 -m venv /tmp/prophesee/py3venv --system-site-packages
When creating the virtual environment, it is necessary to use the --system-site-packages
option to ensure that
the OpenEB Python packages installed in the system directories are accessible. However, this option also makes your local
user site-packages visible by default. To prevent this and maintain a cleaner virtual environment,
you should set the environment variable PYTHONNOUSERSITE
to true (which you may add to your ~/.bashrc
to make it permanent):
export PYTHONNOUSERSITE=true
Finally, install the necessary dependencies:
/tmp/prophesee/py3venv/bin/python -m pip install pip --upgrade
/tmp/prophesee/py3venv/bin/python -m pip install -r /usr/share/metavision/python_requirements/requirements_openeb.txt
Optionally, you can run the activate
command (source /tmp/prophesee/py3venv/bin/activate
) to modify your shell’s environment variables,
setting the virtual environment’s Python interpreter and scripts as the default for your current session.
This allows you to use simple commands like python
without needing to specify the full path each time.
For simplicity, throughout the documentation of the Code Samples, we will assume
the python
command refers to the interpreter within the activated virtual environment.
Note
You can use anaconda to install Python and
conda to manage your Python packages, but be sure to use a Python version that we support.
You will need to adapt the library installation steps accordingly and use conda
whenever we use pip
.
In addition, check that conda PYTHONPATH
contains /usr/lib/python3/dist-packages/
. If not, add it. For example with sys.path.append()
method of python module sys
:
import sys
print(sys.path)
# Add /usr/lib/python3/dist-packages/ to PYTHONPATH if the output of print(sys.path) does not mention it.
sys.path.append("/usr/lib/python3/dist-packages/")
In this documentation, we chose to use pip as a package manager.
To compile the C++ code samples, you need to install CMake
and some libraries:
sudo apt -y install cmake libboost-program-options-dev libeigen3-dev libprotobuf-dev protobuf-compiler
Get started!
You are now ready to use OpenEB. The best way to start getting familiar with the event-based technology is to open an event-based camera with Metavision Viewer to begin data collection and visualization. You can choose to dive directly in the SDK by following a getting started guide or looking at a Code Sample.