Overview
QAT Engine supports various crypto libraries and QAT generations with both hardware and software acceleration. This guide covers building from source for different configurations.Clone the Repository
Before proceeding, ensure you have installed the required prerequisites:
- autoconf
- automake
- libtool
- pkg-config
Build with Make Depend Target
Themake depend target automatically clones and builds dependent libraries (OpenSSL, QAT_HW, QAT_SW) based on your configure flags.
Configure the build
--with-qat_hw_dir: Only needed for QAT_HW platforms--enable-qat_sw: Only needed for QAT_SW platforms--with-openssl_install_dir: Optional, uses system OpenSSL if omitted
What make depend does
- Clones dependent libraries to appropriate versions
- Installs QAT_HW driver to
/QAT - Installs QAT_SW to default paths:
- cryptography-primitives:
/usr/local - ipsec_mb:
/usr
- cryptography-primitives:
- Installs
qatengine.soto OpenSSL engines directory
Manual Installation
For more control over the build process, install prerequisites manually before building.Install OpenSSL
Using Tongsuo (BabaSSL)
Using Tongsuo (BabaSSL)
If you prefer Tongsuo instead of OpenSSL:
Install QAT Hardware Dependencies
- OOT Driver
- In-tree Driver (qatlib)
Install the QAT Hardware driver from the Getting Started Guide for your device:USDM Component Configuration:For multi-thread use cases, enable lockless thread-specific memory:
Intel QuickAssist Technology
Download drivers for QAT 1.x or QAT 2.x devices
Shared Virtual Memory (SVM) - QAT Gen4 Only
Shared Virtual Memory (SVM) - QAT Gen4 Only
Install QAT Software Dependencies
Build QAT Engine for QAT_HW
- OOT Driver
- In-tree Driver (qatlib)
Build QAT Engine for QAT_SW
Custom library paths
Custom library paths
If crypto_mb or ipsec_mb are installed to custom locations:
Build QAT Engine with QAT_HW & QAT_SW Co-existence
Co-existence Behavior
Learn about the default behavior and working mechanism of QAT_HW and QAT_SW co-existence
Verification
After installation, verify the engine is working:Next Steps
Build Options
Explore all available configure flags
Configuration
Configure QAT Engine runtime behavior