Supported platforms

LuciadCPillar requires GPU hardware acceleration. You can develop and deploy LuciadCPillar applications on the following platforms:

Platform Version Operating System Architecture Supported GPU Vendors

Windows

Windows 10 and later

64-bit

NVIDIA, AMD, Intel HD

Linux

Various distributions

x86-64

NVIDIA, AMD

Android

Android 13 and later

arm64-v8a

Qualcomm (Adreno), Arm (Mali)

System requirements

Desktop

For new hardware purchases, we recommend the following system configuration:

  • Windows:

    • DirectX 12

    • Vulkan 1.1 or later

  • Linux: Vulkan 1.1 or later

  • Dedicated graphics memory: 1GB or more

  • Graphics card: on Windows, and especially on Linux, a recent NVIDIA (or AMD) GPU

    • GeForce GTX 10xx or better

    • Quadro Pxxxx or better

  • CPU: Quad core CPU

  • Main memory: 4GB or more

With these system specifications, you can run any LuciadCPillar application with optimal speed and performance.

Android

For new hardware purchases, we recommend the following Android configuration:

  • Vulkan: 1.1 or later

  • Memory: 6GB or more

  • CPU: Octa core CPU

  • GPU

    • Adreno 618 or better

    • Mali G57 or better

Software requirements

The LuciadCPillar C++ library targets the C++20 standard.

Requirements for C++ development on Windows

Requirements for the C++ LuciadCPillar library:

  • OS: Windows 10 or later

  • IDE: Visual Studio 2022 version 17.10 or later. Select the Desktop development with C++ workload during installation.

  • C++ 20 support

To build and run the LuciadCPillar samples, you need:

Integrating LuciadCPillar with Qt requires a version of Qt that supports Vulkan as a rendering backend. The oldest version that supports this is Qt 6.8.x (LTS) or Qt 6.6.x (non-LTS). LuciadCPillar cannot be integrated with older versions.

VulkanSDK

Make sure to download the "SDK Installer" executable and follow the installation instructions on https://vulkan.lunarg.com/doc/sdk/1.4.321.1/windows/getting_started.html.

Requirements for C# development on Windows

Requirements for the C# LuciadCPillar library:

  • OS: Windows 10 or later

  • IDE: Visual Studio 2022 version 17.10 or later. Select the .NET desktop development workload during installation.

  • A .NET implementation that supports .NET Standard 2.0

    • .NET Framework version 4.7.2 or later

    • .NET Core versions 1.0 - 3.0

    • .NET 5 or later

To build and run the LuciadCPillar samples, you need:

  • CMake 3.26 or later

  • .NET Framework version 4.7.2 or later

  • NuGet

To build and run the WinUI 3 sample, you also need:

  • .NET 8.0 or later

  • The Visual Studio WinUI application development workload.

  • The Windows App SDK/Runtime from the Microsoft website

Requirements for deployment on Windows for C++ and C#

The target system requires an installation of the Microsoft Visual C++ Redistributable. LuciadCPillar depends on these shared libraries:

  • vcruntime140.dll

  • vcruntime140_1.dll

  • msvcp140.dll

You can install these libraries on the target system using the Microsoft Visual C++ 2015-2022 Redistributable installers (x64 and x86). You can download the installers from the Microsoft website.

LuciadCPillar, and more specifically webgpu_dawn.dll, requires the presence of Vulkan and the FXC compiler (for DirectX 12):

  • vulkan-1.dll

  • d3dcompiler_47.dll

Both DLLs are installed as part of the GPU driver. LuciadCPillar (webgpu_dawn.dll) looks for these in these locations in the listed order:

  1. The location of webgpu_dawn.dll

  2. The location of the executable

  3. The %windows%\system32 folder

Requirements for C++ development on Linux

Linux systems require a minimum glibc (GNU C Library) version of 2.28 and the libstdc++ (GNU C++ Library) ABI introduced in GCC 5.1. This means that, among others, the following OS distributions are supported:

  • Red Hat Enterprise Linux 8.10 or later

  • openSUSE Leap 15.6 or later

  • Ubuntu 20.04 or later

  • Debian 12 or later

Linux distributions using old ABI

LuciadCPillar does not support Linux distributions using the old ABI. This means that you cannot develop and deploy LuciadCPillar on RHEL 7 or CentOS 7.

Requirements for the C++ LuciadCPillar library:

  • GNU Compiler Collection: GCC 13 or later

  • C++ 20 support

To build and run the LuciadCPillar samples, you need

VulkanSDK

Make sure to download the "SDK Installer" tarball and follow the installation instructions on https://vulkan.lunarg.com/doc/sdk/1.4.321.1/linux/getting_started.html.

Qt on Wayland.

Qt applications may show border display issues on GNOME desktops if they are running Wayland as their display manager. See troubleshooting for a solution.

Requirements for deployment on Linux for C++

LuciadCPillar, and more specifically webgpu_dawn.so, requires the presence of Vulkan (vulkan-1.so). This shared object file is installed as part of the GPU driver. LuciadCPillar (webgpu_dawn.so) looks for it in these locations in the listed order:

  1. The location of webgpu_dawn.so

  2. The location of the executable

  3. The search paths defined by the dlopen function

Requirements for Android development

To keep up with the fast pace at which the Android platform evolves, the Android API level supported by LuciadCPillar will increase with the Android versions that Google actively supports. Because Google releases a new version of the Android operating system approximately every year, as outlined on https://en.wikipedia.org/wiki/Android_version_history, the oldest API level supported by LuciadCPillar will change with each major LuciadCPillar release. This table illustrates the planned evolution:

LuciadCPillar version

2026.0

2026.1

2027.0

2027.1

2028.0

…​

Supported API version

API Level 33 (Android 13)

API Level 33 (Android 13)

API Level 34 (Android 14)

API Level 34 (Android 14)

API Level 35 (Android 15)

…​

Note that these versions apply to the LuciadCPillar API. The sample code included in the release may build on more recent API levels. See the sample build and run recommendations for details.

Following this reasoning, LuciadCPillar for Android has the following requirements for this release:

  • Minimum API level 33 ⇒ Android 13.0 or later

  • Java: minimum version 11

To build and run the samples, we recommend a development environment with these requirements:

  • IDE: Android Studio 2025.1.2 or later

  • Build system: Gradle 9.2.1 and Android Gradle Plugin 8.12.3

  • Java: minimum version 17

  • Minimum API level 33 ⇒ Android 13 or later

  • Kotlin: version 2.2.21 or later

  • UI toolkit: Jetpack Compose version 1.10.0