Vortex Studio on Linux
Vortex Studio is available on the Linux platform, albeit in a more limited capacity.Â
- 1 Features and Capabilities
- 2 Requirements
- 3 Installation
- 4 Licensing
- 4.1 Node-lock Licenses
- 4.2 Floating Licenses
- 4.2.1 License Server
- 4.2.2 Connecting to a License server
- 5 Running a Simulation with Vortex
- 5.1 Setup file
- 5.2 ContentÂ
- 5.3 Running a simulation
- 5.4 Stopping the simulation
- 5.5 Debugging a simulation
- 5.5.1 Python remote debugging
- 6 Additional Information
- 6.1 Running on WSL2
- 6.2 Tutorials
- 6.2.1 Building the Tutorials
- 6.3 A First Vortex Application
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 |
---|---|---|---|
Ubuntu | 22.04 | x86-64 | GCC11, C++17 |
Installation
Vortex Studio Download
Installation files for the Vortex® Studio family of products are available from the CM Labs' Asset Store.
Head to the Web Asset Store - CM Labs.
Select the latest version of Vortex Studio in the list and click on the eye icon.
In the component list, locate the Vortex Studio for Ubuntu 20XX.X package and click on the download button.
Vortex Studio Installation
To install Vortex Studio on Linux:
Create a destination directory at your desired location.
Navigate into the directory you just created.
Copy the Vortex Studio .tar.gz archive inside the directory where you wish to install it.
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.
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: