The Configuration Manager

  • NB: last update for OpenViBE 0.18.0.

OpenViBE Configuration Manager is a software component in charge of configuring OpenViBE applications and modules according to the user’s wishes. Configuration settings are saved in a configuration file, which is loaded at application startup. This file uses a simple syntax, where configuration tokens are listed and given a value. You can check all the configuration tokens in the Designer (Menu Edit/Preferences).

Configuration files

OpenViBE comes with a default configuration file (share/openvibe/kernel/openvibe.conf), automatically loaded at startup. This file lists configuration tokens used by the applications.

Users can edit a personal configuration file in order to customize their OpenViBE software platform, by overwriting existing token or declaring new ones.

On Windows, the user-defined configuration file is either:
C:\Documents and Settings\[user-login]\Application Data\openvibe\openvibe.conf

On Linux it is:

1. The personal configuration file is not created by OpenViBE. Users have to create this file manually if they need to.

2. The configuration files are loaded at startup. You must restart the application (Designer, Acquisition Server) for any change to be considered.


A configuration file basically looks like successive token = value statements.

For example, the application can retrieve its root path (OpenViBE installation path) from the Path_Root variable. The path is expressed relative to the execution directory bin, so the root path is simply:

Path_Root = ..

Leading and tailing spaces are allowed, and are removed automatically :

      Path_Root =   ..

Comments may be stored on their own lines. They begin after the ‘#’ character :

#this is a valid comment
Path_Root = ..

Lines ending with a ‘\’ character continue to the next line (the last ‘\’ character of a line is automatically removed by the parser) :

#this is a line that extends\
to the next line
Path_Root = ..

Tokens declared anywhere in the configuration file may be used as values for other tokens. The syntax to be used is : ${token}

For example, the binaries path may be declared as such :

Path_Root = ..
Path_Bin = ${Path_Root}/bin

Environment variables may also be used as values. The syntax is : $Environment{environment variable}

For example, the 3D library used in OpenViBE is Ogre. It sets the OGRE_HOME environment variable upon installation. The path to Ogre can thus be retrieved in the following way :

Path_Ogre = $Environment{OGRE_HOME}

OpenViBE tokens

The following subsections list all the tokens defined in the default configuration file, grouped by category. All these tokens can be used in user-defined tokens or overwritten.


These tokens tell applications about OpenViBE installation directories.

  • Path_Root is the root installation directory of OpenViBE
  • Path_Bin is the binaries directory
  • Path_Lib is the libraries directory
  • Path_Data is the data directory. Default: ${Path_Root}/share/openvibe
  • Path_UserData is a writeable location. Default: $APPDATA/openvibe (Windows) and $HOME/.config/openvibe (Linux)
  • Path_Log is the directory where logs are saved. Default: ${Path_UserData}/log
  • Path_Tmp is the application temporary directory. Default: ${Path_UserData}/tmp

OpenViBE Kernel

This section lists tokens that may be used to configure the OpenViBE kernel.

  • Kernel_PluginsPatternLinux is the regular expression to which file names are compared under Linux to know whether they should be considered as plugins. For example : libopenvibe-plugins-*.so
  • Kernel_PluginsPatternWindows is the equivalent token used under Windows. It can look like openvibe-plugins-*.dll
  • Kernel_Plugins is a regular expression that is used by the kernel to know where to look for plugins and what a plugin name should look like. It is automatically set to the appropriate value using the OperatingSystem environment variable like so : ${Path_Lib}/${Kernel_PluginsPattern${OperatingSystem}}
  • Kernel_MainLogLevel specifies the log level threshold below which all messages should be ignored.
  • Kernel_ConsoleLogLevel specifies the console log level. It should be equal or greater than the main log level.
  • Kernel_FileLogLevel specifies the application file log level. It should be equal or greater than the main log level.
  • Kernel_PlayerFrequency specifies the frequency at which to run the player. For example, it can be set to 128.

The following tokens are related to the 3D visualisation :

  • Kernel_3DVisualisationEnabled specifies whether to enable 3D visualisation. If set to false, 3D plugins will be disabled.
  • Kernel_3DVisualisationOgreConfiguration is a path to the Ogre configuration file. Example : ${Path_Data}/kernel/ogre.cfg
  • Kernel_3DVisualisationOgreResources is a path to Ogre resources file. Example: ${Path_Data}/kernel/resources.cfg
  • Kernel_3DVisualisationOgrePluginsLinux is a path to Ogre plugins file under Linux. Example : ${Path_Data}/openvibe-ogre-plugins.cfg
  • Kernel_3DVisualisationOgrePluginsWindows is a path to Ogre plugins file under Windows. Note that it differs depending on the OpenViBE compilation mode. If OpenViBE was compiled in release mode, this path could look like : $Environment{OGRE_HOME}/bin/release/Plugins.cfg. If OpenViBE was compiled in debug mode, it could look like : $Environment{OGRE_HOME}/bin/debug/Plugins.cfg
  • Kernel_3DVisualisationOgrePlugins is a token that specifies where to look for Ogre plugins while abstracting the operating system OpenViBE is being run on. It can look like : 3D${Kernel_3DVisualisationOgrePlugins${OperatingSystem}}
  • Kernel_3DVisualisationOgreLogLevel specifies the log level to use when forwarding Ogre messages to OpenViBE log manager.

OpenViBE Designer

One can configure several OpenViBE Designer parameters using the following tokens :

  • Designer_ShowAlgorithms specifies whether to display the ‘Algorithms’ tab in the Designer. The value can be TRUE or FALSE.
  • Designer_ShowUnstable specifies whether to display the ‘unstable’ boxes in the Designer. Unstable boxes are work-in-progress and have not been fully tested. The value can be TRUE or FALSE.
  • Designer_FullscreenEditor specifies whether to start the Designer in fullscreen or windowed mode
  • Designer_DefaultWorkingDirectory is a path to the default directory where to load and save scenario files, relative from the execution directory.

In addition, there is a special read-only configuration token that is created by OpenViBE for each loaded scenario.

  • Player_ScenarioDirectory gives the directory from which the scenario .xml was loaded from or last saved to. This can be used if you wish to have different scenarios store their own data in their own folders. The name for this same token in previous versions was __volatile_ScenarioDir.

OpenViBE Acquisition Server

A few acquisition server parameters may be initialized in the configuration file :

  • AcquisitionServer_DefaultSampleCountPerBuffer is the default number of samples to send per buffer (example : 32)
  • AcquisitionServer_DefaultDriver is the default driver to be used (example : Generic oscillator)
  • AcquisitionServer_DefaultConnectionPort is the default port to use to send data (example : 1024)
  • AcquisitionServer_ShowUnstable specifies if ‘unstable’ drivers should be available in the acquisition server. The value can be TRUE or FALSE.

OpenViBE Plugin Inspector

Default plugin inspector output directories may be specified here :

  • PluginInspector_DumpGlobalDefinesDirectory is the directory where to output the global defines file (example : ${Path_Tmp}/)
  • PluginInspector_DumpAlgorithmSnapshotDirectory is the directory where to output algorithm snapshots (example : ${Path_Tmp}/)
  • PluginInspector_DumpAlgorithmDocTemplateDirectory is the directory where to output algorithm documentation skeleton files (example ${Path_Tmp}/)
  • PluginInspector_DumpBoxAlgorithmSnapshotDirectory is the directory where to output box algorithm snapshots (example : ${Path_Tmp}/)
  • PluginInspector_DumpBoxAlgorithmDocTemplateDirectory is the directory where to output box algorithm documentation skeleton files (example : ${Path_Tmp}/)
This entry was posted in Miscellaneous manual pages and tagged . Bookmark the permalink.