Vortex Studio on Linux

Vortex Studio is available on the Linux platform, albeit in a more limited capacity. 

Features and Capabilities

For Linux-based operating systems, Vortex Studio applications support the simulation of dynamic models. Although there are no native graphic rendering capabilities, some elements of the simulation can be visualized on a remote Windows system using the Vortex Remote Debugger.

The Linux version does not include all the Vortex Applications, such as the Vortex Editor. However, it is possible to edit on the Windows platform and then transfer your content to a Linux-based simulator. Distributed simulation is not supported on Linux, and it only contains a subset of the SDK.

Here is the list of supported features.

  • Multibody dynamics

  • Terrain

  • Powertrain modeling

  • Advanced tire modeling

  • Rigid tracks

  • Flexible tracks

  • Cable systems

  • Earthwork systems

  • Python 3

See Features and Capabilities Overview for all available features of Vortex Studio.

Requirements

Only the following Linux distributions are officially supported by Vortex Studio, however the Vortex binaries might be functional on other distributions.

Distribution

Version

Architecture

Compiler

Distribution

Version

Architecture

Compiler

Ubuntu

22.04

x86-64

GCC11, C++17

Installation

To install Vortex Studio on Linux:

  1. Create a destination directory at your desired location.

  2. Navigate into the directory you just created.

  3. Copy the Vortex Studio .tar.gz archive inside the directory where you wish to install it.

  4. Decompress the archive with the following command:

    tar xf Vortex_Studio_*_x64_gcc11.tar.gz

Licensing

Vortex Studio licensing is consistent across Windows and Linux, but the tools have some differences. The following links provide an overview of the Vortex Studio Licensing.

Vortex Studio Licensing

Node-lock Licenses

Generating Node-Locked LicenseFiles on Linux

Floating Licenses

License Server

Setting Up a License Server on Linux

Generating Floating License Files for a License Server on Linux

Connecting to a License server

Connecting your Computer to a License Server on Linux

Running a Simulation with Vortex

Setup file

The Vortex Studio Director is not supported on Linux, so it's impossible to launch a simulator in Linux from it. On Linux, the only option is to launch a dynamics simulation using the SimApp executable or a custom-made application.

SimApp is a single Vortex application that can simulate Vortex content. When starting a SimApp process on Linux, if no setup file is provided, it will use the default simapp_DynamicsOnly.vxc from the resources folder.  This setup file contains only a Dynamics module and the Earthworks systems module. 

To create your own setup file, you need to use the Vortex Studio Editor on Windows.

Content 

To create content for your simulation, you must use the Vortex Studio Editor on Windows. The content saved must be copied or shared with the Linux system, with the same folder hierarchy.

File paths in Vortex are always saved relative to each other unless it is not possible to create a relative path or a path is explicitly defined as absolute.

Running a simulation

Vortex content files can be given as command-line arguments to the SimApp executable. Since not all features are supported on Linux (e.g. graphics), these extensions will be disabled on Linux.

To start the simulation, invoke the SimApp executable from the command line and pass the content files to load as additional arguments. You can use the --config switch to specify the setup file to use.

$ ./SimApp myScene.vxscene --config mySetup.vxc

Some information will be displayed in the terminal as the simulation runs, according to the logging level.

If the argument --config is omitted, the setup file simapp_DynamicsOnly.vxc from the resources folder will be used. 

For the list of all supported arguments by the SimApp executable, invoke the application with only the --help switch.

Automatic Content Loading

Our user guide indicates that it is preferable to load content while the application is in editing mode and when running the simulation to go in simulating mode. The default setup file simapp_DynamicsOnly.vxc sets the application mode to simulation as there is no way to change the mode from the command line. 

The content loader extension can be added to the application via the setup file. When properly set, the content specified will be loaded while the application is in editing mode and start the simulation afterward, regardless of the application starting mode. 

The content loader extension can be saved using absolute Linux paths, but if the content files defined in the Content Loader are relative to the setup file on disk when everything is copied or shared on Linux over, the relative paths will be kept and everything will be loaded properly.

See the Loading Content at Start-Up section of the Simulator Setup User Guide for more details.

Stopping the simulation

Ctrl + C will stop the command running Vortex.

Debugging a simulation

The remote Debugger is the preferred way to debug simulations on Linux. The remote debugger is a Windows application that connects via the network to gather information about the simulation. In this configuration, the Vortex simulation application on Linux (e.g. SimApp) is the server application. While the Vortex Remote Debugger on Windows is the client. The setup file used by the simulation application on Linux must be set to Enable Remote Access with a properly defined Listening Port. Use this setup file to start the simulation on Linux and connect to it with the Remote Debugger from a Windows PC.

From a Windows command line prompt you can start the Remote Debugger client simply with the following command:

C:\CM Labs\Vortex Studio <Version>\bin> SimApp.exe --config ..\resources\config\VortexRemoteDebugger.vxc

See the Remote Debugger User Guide for more information. 

Python remote debugging

You can also make your own remote debugging application with grpc and Python.

See Remote debugging with Python for more details.

Additional Information

Running on WSL2

Running the Linux version of Vortex on WSL2 is almost identical as running it on actual hardware.

For some setup tips and the few differences, please refer to Simulating with Vortex on Windows Subsystem for Linux - WSL2

Tutorials

Not all tutorials are available on Linux. Some C++ tutorials are available but it is possible that some features are not working.

The Python tutorials are only available on Windows. They can be made to run but some will require modification as not all features are available. 

Building the Tutorials

Before building the tutorial, some build tools must be installed.

Now to build the tutorials navigate to the tutorials of your Vortex Linux installation and run CMake.
To generate the Makefiles for a Release target, you can run:

When all the files are generated, run the make command

The executables are created to the bin folder.

A First Vortex Application

Here’s how to make a very simple Vortex application to confirm that you can use the Vortex SDK to start your own development. This program will simply create a Vortex application, add the dynamics module, set the gravity, add a part and let it fall for 300 steps (5 seconds at the default 60Hz simulation rate). At each step we will print out the position of the part.

First setup a project directory somewhere on your system. Here we will create a workbench directory in our home folder:

Then using the text editor of your choice we will create myVortexApp.cpp with the following content:

 

To compile it into an executable let’s call the g++ compiler. In this example, the Vortex Studio installation is under /opt/Vortex_Studio

And finally to execute it, our executable needs to know where the Vortex libraries are. There are many ways to achieve this under Linux (please consult your distribution documentation) but the simplest way in this example is to prepend the invocation of the executable with the proper LD_LIBRARY_PATH

And you should have a falling part: