Installation#
rallyplot can be used from either Python or C++.
It runs on Windows, macOS and most Linux distributions (see below for details).
A graphics card is required for the performance benefits of using rallyplot.
rallyplot is written for OpenGL 3.3, which the majority of graphics cards from
~2010 onwards should support. See the GPU compatability section
for details.
Once you have installed rallyplot, you can check out the Get Started page.
Install#
rallyplot comes with pre-built wheels for Windows, macOS
and Linux. Install with:
pip install rallyplot
rallyplot can be built from source using CMake. Header files to include are
found in src/cpp/include. All header-only library dependencies are vendored
in src/vendored, as well as FreeType, which is build alongside rallyplot
with the add_subdirectory CMake directive. Qt is also a depedency, as is
not vendored:
Qt
CMake find_package(Qt6 ...) is used to locate Qt.
If Qt is not found automatically, you can help CMake by setting Qt6_DIR / Qt_DIR
(see the ‘build directly…’ example below).
In the examples below, Qt 6.8.2 is used, but other Qt6 versions should work as well.
Use CMake subdirectory
This will use Cmake to build rallyplot as part of your application build.
cmake_minimum_required(VERSION 3.16)
project(myPlayingProject LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Add rallyplot to the build
add_subdirectory(
"C:/Users/Jzimi/git-repos/rallyplot"
# requires two arguments if folder is not a subdirectory of your project
"${CMAKE_BINARY_DIR}/rallyplot-build"
)
# Build your exe
add_executable(myPlayingProject main.cpp)
# Link to rallyplot
target_link_libraries(myPlayingProject PRIVATE rallyplot)
Build directly with CMake
This example builds rallyplot with CMake.
Note on windows, forward slashes are required in the environment paths.
set QT_DIR=C:/Users/Jzimi/git-repos/rallyplot/distribution/qt/6.8.2/msvc2022_64/lib/cmake/Qt6
set QT6_DIR=C:/Users/Jzimi/git-repos/rallyplot/distribution/qt/6.8.2/msvc2022_64/lib/cmake/Qt6
cd rallyplot
mkdir build
cd build
cmake build
cmake --build . --config Release
Supported Platforms#
Windows 10 or newer (64-bit x64 and ARM64) is supported.
macOS 12 Monterey or newer (Intel & Apple Silicon) are supported.
Wayland is recommended as a display protocol over x11. While rallyplot
will run on x11, it is slow and displays with some rendering issues.
The below pertains to the available Python builds:
rallyplot is built on manylinux_2_28, working on
Works on mainstream distros such as:
Ubuntu 20.04+, Debian 10/11/12
RHEL / CentOS / AlmaLinux 8+
MUSL-based systems (e.g., Alpine Linux) are not supported.
Library dependencies
rallyplot does not vendor low-level system graphics libraries.
While these should be included in your distro, please check they are
installed when running into dependecy errors:
libEGL.so.1libGLX.so.0libOpenGL.so.0libgbm.so.1libxcb.so.1libxkbcommon.so.0Wayland client libraries (
libwayland-client.so.0,libwayland-cursor.so.0)
GPU Compatibility#
rallyplot requires a GPU for rendering. Since it is built on OpenGL 3.3.
it should be compatible with nearly all in-use GPUs.
Note performance of the plots is directly related to your GPU capabilities.
To check which GPU your system is running on, use the commands below:
Open a Command Prompt or PowerShell and run:
# Lists all GPUs
wmic path win32_VideoController get name
# Or using DirectX diagnostic tool
dxdiag /t dxdiag.txt
type dxdiag.txt | findstr /C:"Display"
If you have an NVIDIA GPU and drivers installed:
nvidia-smi
Driver requirements
NVIDIA: driver 390+ (2018 or newer)
AMD: Adrenalin drivers from 2017+
Intel: bundled DCH drivers on Windows 10/11 already support OpenGL 3.3
Open a Terminal and run:
# Lists GPU information
system_profiler SPDisplaysDataType
For OpenGL renderer info (requires XQuartz + mesa-utils):
glxinfo | grep "OpenGL renderer"
Or use the GUI: → About This Mac → More Info.
Driver requirements
macOS provides system OpenGL drivers.
Any macOS 12+ system with Intel or Apple Silicon GPUs supports OpenGL 4.1, which is fully backward-compatible with OpenGL 3.3.
Open a terminal and run:
# Show OpenGL renderer and version
glxinfo | grep "OpenGL"
# Show GPU devices
lspci | grep -i vga
If you have an NVIDIA GPU (drivers installed):
nvidia-smi
Driver requirements
NVIDIA: driver 390+
AMD: Mesa 18.0+
Intel: Mesa 18.0+