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
Features and Capabilities
For Linux-based operating systems, Vortex Studio applications enable the simulation of dynamic models. While lacking advanced graphic rendering capabilities, engineering information of the simulation can be viewed on a remote Windows system through the Vortex Remote Debugger.
The Linux variant does not encompass all Vortex Applications, like the Vortex Editor. Nevertheless, editing can be done on Windows and later transferred to a Linux-based simulator. Distributed simulation is not available on Linux.
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 Linux distributions officially supported by Vortex Studio are endorsed, although the Vortex binaries may still work 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 remains consistent between Windows and Linux, although there are variations in the tools available. For a detailed overview of Vortex Studio Licensing, please refer to the following links:
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 does not support Linux. In Linux, the only options available are to start a dynamics simulation using the SimApp executable or a custom executable or Python script.
SimApp is a unified Vortex application designed for simulating Vortex content. When initiating a SimApp process on Linux without specifying a setup file, the application will automatically utilize the default s_imapp_DynamicsOnly.vxc_ located in the resources folder. This default setup file comprises solely of 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 provided as command-line arguments to the SimApp executable.
To initiate the simulation, simply run the SimApp executable via the command line and include the content files as extra arguments. Utilize the --config switch to designate the setup file for usage. Any extensions that are incompatible with Linux will be deactivated automatically.
$ ./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
When operating the application, it is recommended to load content during editing mode and switch to simulation mode while running the simulation. The default configuration file, s_imapp_DynamicsOnly.vxc_, configures the application to start in simulation mode since changing the mode via the command line is not supported.
To incorporate the content loader extension into the application, it should be included in the setup file. Once correctly configured, the specified content will load during editing mode and seamlessly transition to simulation mode thereafter, regardless of the initial application mode.
The content loader extension allows for the utilization of absolute Linux paths. However, if the content files referenced in the Content Loader are relative to the setup file on disk, when shared or copied to Linux, the relative paths will be maintained, ensuring proper loading of all content.
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 optimal method for debugging simulations on Linux is through the use of the remote debugger. This debugger, a Windows application, establishes a network connection to retrieve simulation data. In this setup, the Vortex simulation application on Linux (e.g. SimApp) functions as the server, while the Vortex Remote Debugger on Windows acts as the client. To enable this configuration, the setup file utilized by the Linux simulation application must be configured to allow Remote Access with a specified Listening Port. Initiate the simulation on Linux using this setup file and establish a connection to it through the Remote Debugger on 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 (Windows Subsystem for Linux) closely mirrors running it on physical hardware.
For setup tips and key distinctions, kindly consult Simulating with Vortex on Windows Subsystem for Linux - WSL2.
Tutorials
Not all tutorials are accessible on Linux. While there are C++ tutorials available, it's worth noting that certain features may not be available.
Python tutorials are exclusively accessible on Windows by default. Although they can be adapted to run on Linux, some may need adjustments due to the unavailability of all features.
Building the c++ tutorials
Before building the tutorials, 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 is a straightforward guide on creating a basic Vortex application to validate your ability to utilize the Vortex SDK for initiating your development journey. This application will establish a Vortex application, integrate the dynamics module, define gravity, incorporate a component, and observe its descent over 300 steps (equivalent to 5 seconds at the standard 60Hz simulation rate). Throughout each step, the position of the component will be displayed.
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: