Prerequisites
Before installing the QAT Engine, ensure you have:Hardware
An Intel platform with QAT hardware support or 3rd Gen Xeon+ for software acceleration
Operating System
Linux distribution (Fedora 34+, RHEL 8.4+, Ubuntu 24.04+, or SUSE SLES15 SP3+)
OpenSSL
OpenSSL 1.1.1 or 3.0.x installed (system package or from source)
Root Access
Sudo or root privileges for driver and package installation
Quick Installation
The fastest way to get started is using your distribution’s package manager.Install QAT Engine Package
Install the pre-built qatengine package from your distribution’s repositories:
These packages include QAT_HW support using the qatlib in-tree driver for 4xxx devices only. For other QAT hardware or QAT_SW, see the installation guide.
Set Environment Variable
Configure OpenSSL to find the QAT engine library:Add this to your
~/.bashrc or ~/.profile to make it permanent.Verify Installation
Test that the QAT Engine is loaded correctly:
Expected output
Expected output
You should see output similar to:The
[ available ] status confirms the engine is ready to use.Run Performance Tests
Benchmark RSA operations with hardware acceleration:
Understanding the results
Understanding the results
The QAT-accelerated test should show significantly higher throughput (signs/verifications per second) compared to the software-only baseline. Typical improvements:
- RSA 2048: 10-50x improvement
- ECDSA P-256: 5-20x improvement
- AES-128-GCM: 2-5x improvement
- QAT hardware drivers are installed and running
- You’re using sufficient async_jobs (try 32-128 for QAT_HW)
- The algorithm is supported by your QAT hardware
Test Additional Algorithms
Try these commands to test different cryptographic operations:Different algorithms have different optimal async_jobs values. For QAT_HW, try 32-128. For QAT_SW, try 8-32. See async operations for tuning guidance.
Configure Automatic Loading
To automatically load the QAT Engine for all OpenSSL applications, create an OpenSSL configuration file:Set Environment Variable
Point OpenSSL to your configuration file:Add this to your shell profile for persistence.
Next Steps
Build from Source
Install from source for QAT_SW support or custom builds
QAT Hardware Concepts
Learn how QAT hardware acceleration works
Configure Your Application
Integrate with NGINX, HAProxy, or your own application
Troubleshooting
Resolve common installation and runtime issues
Getting Help
Engine not loading?
Engine not loading?
- Verify OPENSSL_ENGINES path is correct
- Check file permissions on qatengine.so
- Ensure no conflicts with other engines
- See common issues for detailed troubleshooting
No performance improvement?
No performance improvement?
- Verify QAT hardware drivers are running:
lsmod | grep qat - Check QAT device status:
adf_ctl status - Increase async_jobs parameter
- Ensure the algorithm is hardware-accelerated (not all are enabled by default)
Need more control?
Need more control?
- See engine control messages for runtime configuration
- Review build options for compile-time customization
- Check OpenSSL configuration for advanced setup