Skip to content

Supported Platforms and Minimum System Requirements🔗

Platform-Specific HALCON Versions🔗

For the operating systems listed in Table 1 and Table 2, platform-specific versions of HALCON’s executables and libraries are provided. The name of the currently used version is stored in the environment variable HALCONARCH.
HALCON uses AVX2-optimized code for many operators, when run on a machine that supports AVX2. Note that HALCON should also run on newer versions of the operating systems than the ones listed; however, we cannot guarantee this. HALCONARCH appears in several directory paths: Executable HALCON programs like hdevelop, and DLLs like halcon.dll (Windows only), reside in %HALCONROOT%\bin\%HALCONARCH%. On Windows systems, this path is therefore automatically included in the environment variable PATH; on a Linux system, you must include it in your login script. The libraries that you need for linking programs, e.g., halcon.lib (Windows) or libhalcon.so (Linux) reside in the directory %HALCONROOT%\lib\%HALCONARCH%. Please note that when creating a 64-bit application, both the development computer and the computer on which the application will run must be 64-bit platforms. To create .NET applications under Linux, you need to install .NET Core or Mono.

Table 1: Minimum system requirements. Further requirements occur for the HALCON Variable Inspect and deep learning applications.
Requirement
Architecture 64-bit
Processor Intel 64 or AMD 64 SSE2 (AVX2 dispatch)
Disk Space (full installation) 4 GB
Disk Space (without Deep Learning) 1 GB
Memory 256 MB
Display Resolution 1024 x 768
Supported OS Versions Windows 10 (x64 editions), 11, Windows Server 2016, 2019, 2022
Compiler Visual Studio 2013
HALCONARCH x64-win64
Compute Device with OpenCL OpenCL 1.1
Table 2: Minimum system requirements. Further requirements occur for the HALCON Variable Inspect and deep learning applications.
x64 aarch64 armv7a
Architecture 64-bit 64-bit 32-bit
Processor Intel 64 or AMD 64 SSE2 (AVX2 dispatch) Armv8-A with AArch64 support Armv7-A with NEON support
Disk Space (full installation) 4 GB 4 GB 4 GB
Disk Space (without Deep Learning) 1 GB 1 GB 1 GB
Memory 256 MB 256 MB 256 MB
Display Resolution 1024 x 768 - -
Supported OS Versions Linux x86_64 Linux aarch64 Linux armv7a
Compiler gcc 7.5 gcc 7.5 gcc 7.5
HALCONARCH x64-linux aarch64-linux armv7a-linux
Specifics Kernel with hidraw support Kernel with hidraw support, hard-float ABI
Libraries GLIBC_2.27, GLIBCXX_3.4.24 GLIBC_2.27, GLIBCXX_3.4.24 GLIBC_2.27, GLIBCXX_3.4.24
Application-Specific Requirements X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3, libdbus-1-3 (HDevelop) X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3 X11R7, freetype 2.4.11, fontconfig 2.10.95, OpenGL 2.0, OpenSSL 3
Compute Device with OpenCL OpenCL 1.1 OpenCL 1.1 1 OpenCL 1.1 1

Platform-Independent Applications🔗

Even when using a platform-specific version of HALCON, you can still create platform-independent applications, in the following ways:

  • With HDevelop or HDevelopEVO, HALCON’s integrated development environment (IDE). HDevelop programs are stored in a platform-independent format (HALCON Script). Thus, you can run them on any supported platform.

  • With HALCON/.NET, HALCON’s interface to .NET programming languages. Applications written in .NET languages are stored in a platform-independent intermediate language, which is then converted by the so-called common language runtime into platform-specific code.

  • With HALCON/Python, HALCON’s interface to Python script language. Python is an interpreted, high-level and general-purpose programming language that runs your code platform independently on a language interpreter engine.

You can combine both methods by using HDevEngine/.NET to run HDevelop programs from a HALCON/.NET application.

HALCON Variable Inspect (Visual Studio Extension)🔗

HALCON Variable Inspect is shipped in two packages. Which package to use depends on the version of Visual Studio to support. The respective package of HALCON Variable Inspect depends on the following components

Variable Inspect Extension for Visual Studio 2019 and earlier

  • Visual Studio 2013 (Update 5 or higher) through Visual Studio 2019

  • NET 4.6
    Older installations of Visual Studio 2013 might be missing the .NET 4.6 framework. If the installation of HALCON Variable Inspect fails with an error, install the .NET 4.6 framework first.

Variable Inspect Extension for Visual Studio 2022 and later

  • Visual Studio 2022 and later

  • NET 4.7.2

Requirements for Deep Learning and Deep-Learning-Based Methods🔗

Disk space requirement for HALCON including deep learning:

  • Runtime: 3.4 GB (using CUDA 12.1.0)

  • Full installation: 20 GB

Applications of deep learning as well as deep-learning-based methods, like Deep OCR, may have further requirements depending on the device (CPU or GPU) on which they are running. These requirements are given below.

Whether an implementation is available for a specific device depends on the method and task. An overview for the different deep-learning-based methods is given in Table 3.

Table 3: Deep learning: Model dependencies.
Method
(Model ‘type’)
GPU CPU
3D Gripping Point Detection
(‘3d_gripping_point_detection’)
✅ ✅ 2
Anomaly Detection
(‘anomaly_detection’)
✅ ✅ 2
Classification
(‘classification’)
✅ ✅ 2
Deep Counting
  Component: Backbone
  (‘counting’)

❌

❌
Deep OCR
  Component: Detection
  (‘ocr_detection’)
  Component: Recognition
  (‘ocr_recognition’)

✅

✅

✅ 2

❌
Global Context Anomaly Detection
(‘gc_anomaly_detection’)
✅ ✅ 23
Multi-Label Classification
(‘multi_label_classification’)
✅ ✅ 2
Object Detection and Instance Segmentation
(‘detection’)
✅ ✅ 2
Semantic Segmentation and Edge Extraction
(‘segmentation’)
✅ ✅ 2
Table 4: Deep learning: Model dependencies.
Method
(Model ‘type’)
GPU CPU
3D Gripping Point Detection
(‘3d_gripping_point_detection’)
✅ ✅
Anomaly Detection
(‘anomaly_detection’)
✅ ✅ 2
Classification
(‘classification’)
✅ ✅
Deep Counting
  Component: Backbone
  (‘counting’)

✅

✅
Deep OCR
  Component: Detection
  (‘ocr_detection’)
  Component: Recognition
  (‘ocr_recognition’)

✅

✅

✅

✅
Global Context Anomaly Detection
(‘gc_anomaly_detection’)
✅ ✅
Multi-Label Classification
(‘multi_label_classification’)
✅ ✅
Object Detection and Instance Segmentation
(‘detection’)
✅ ✅
Semantic Segmentation and Edge Extraction
(‘segmentation’)
✅ ✅

GPU Applications🔗

When running deep learning as well as deep-learning-based applications on GPU, additional prerequisites apply. Table 5 lists additional prerequisites for which HALCON has been tested successfully. In case of multiple entries the ones corresponding have to be used. HALCON checks which CUDA-version is installed and looks automatically for the corresponding subdirectories with its libraries. Under Windows or Linux x64, these libraries are provided in a separate package. Under Linux aarch64, these libraries have to be installed manually.

Table 5: Requirements for deep-learning-based applications on GPU.
x64
OS Versions Windows 10, 11
GPU NVIDIA GPU with minimal compute capability 5.0
NVIDIA driver supporting CUDA 12.1.0
Libraries cuBLAS
cuDNN
12.1.3.1
8.9.2
Table 6: Requirements for deep-learning-based applications on GPU.
x64 aarch64
OS Versions Linux x86_64 Linux aarch64
GPU NVIDIA GPU with minimal compute capability 5.0 NVIDIA GPU with minimal compute capability 5.0
NVIDIA driver supporting CUDA 12.1.0 11.4 4
Libraries cuBLAS
cuDNN
12.1.3.1
8.9.2
11.6.6.84
8.6.0

CPU Applications🔗

The following lists show all platforms that support the execution of deep-learning-based applications.

  • x64
    min. SSE4.1
  • x64
    min. SSE4.1

  • aarch64
    (With exception of anomaly detection)

  • armv7a
    (With exception of anomaly detection)

Requirements for Language Interface Examples🔗

For HALCON language interface examples additional requirements may apply.

  • Building HALCON examples with CMake
    Minimum requirements depend on the language:

    • C and C++: Minimum supported CMake version: 3.7.1
    • .NET: Minimum supported CMake version: 3.8.2
  • Building Easy Extension Interface for .NET

    • CMake: Minimum supported CMake version: 3.7.1
    • C/C++-tooling: For example from Visual Studio -.NET Runtime At least .NET runtime 6.0. Newer versions may be incompatible.

Limitations🔗

For further information on limitations, see the Installation Guide .


  1. The support of OpenCL depends highly on the platform and the OpenCL driver coming with it, use at your own risk. 

  2. With exception of aarch64 and armv7a. 

  3. Supported but not optimized and as a consequence time-intensive 

  4. Install NVIDIA JetPack 5.1.1.