Skip to main content
AMD ADLX Python Bindings

========================

amd-adlx provides Python bindings for the AMD Display Library eXtra (ADLX)
SDK. It allows Python applications to query AMD GPUs and displays, read
performance metrics, and access supported display, 3D graphics, multimedia,
power tuning, and GPU tuning features.

The package is installed as "amd-adlx" and imported as "adlx".


Requirements
------------

- 64-bit Windows
- CPython 3.10, 3.11, 3.12, or 3.13
- A supported AMD GPU
- An AMD Software driver that includes the ADLX runtime

Feature availability depends on the GPU, display, and installed driver. Check
the relevant IsSupported...() method before using an optional feature.


Installation
------------

Install amd-adlx with pip:

py -m pip install amd-adlx

To install a wheel from a local path:

py -m pip install C:\path\to\amd_adlx-<version>-<python-tag>-win_amd64.whl

Verify the installation:

py -m pip show amd-adlx
py -c "from adlx import ADLX; print('amd-adlx imported successfully')"


Quick Start
-----------

Create an ADLXHelper, initialize it before requesting services, and always
terminate it when finished:

from adlx import ADLX


helper = ADLX.ADLXHelper()
result = helper.Initialize()

if result != ADLX.ADLX_RESULT.ADLX_OK:
raise RuntimeError(f"ADLX initialization failed: {result}")

try:
system = helper.GetSystemServices()

print(f"ADLX version: {helper.QueryFullVersion()}")
for gpu in system.GetGPUs():
print(f"GPU: {gpu.Name()}")
print(f" Device ID: {gpu.DeviceId()}")
print(f" Vendor ID: {gpu.VendorId()}")
finally:
helper.Terminate()

Do not instantiate interfaces such as IADLXGPU or IADLXDisplay directly.
Obtain them from the system or the corresponding service interface.


List Connected Displays
-----------------------

from adlx import ADLX


helper = ADLX.ADLXHelper()
result = helper.Initialize()
if result != ADLX.ADLX_RESULT.ADLX_OK:
raise RuntimeError(f"ADLX initialization failed: {result}")

try:
system = helper.GetSystemServices()
display_services = system.GetDisplaysServices()

for display in display_services.GetDisplays():
width, height = display.NativeResolution()
print(
f"{display.Name()}: {width}x{height}, "
f"{display.RefreshRate()} Hz"
)
finally:
helper.Terminate()


Read Current GPU Metrics
------------------------

Metric methods may return None when a value is unavailable. Applications
should handle missing values because metric support can differ between GPUs.

from adlx import ADLX


helper = ADLX.ADLXHelper()
result = helper.Initialize()
if result != ADLX.ADLX_RESULT.ADLX_OK:
raise RuntimeError(f"ADLX initialization failed: {result}")

try:
system = helper.GetSystemServices()
monitoring = system.GetPerformanceMonitoringServices()

for gpu in system.GetGPUs():
metrics = monitoring.GetCurrentGPUMetrics(gpu)
print(gpu.Name())
print(f" Usage: {metrics.GPUUsage()}%")
print(f" Temperature: {metrics.GPUTemperature()} C")
print(f" Core clock: {metrics.GPUClockSpeed()} MHz")
print(f" VRAM usage: {metrics.GPUVRAM()} MB")
finally:
helper.Terminate()


Check Feature Support
---------------------

For example, check whether automatic GPU tuning is supported before using it:

system = helper.GetSystemServices()
tuning = system.GetGPUTuningServices()

for gpu in system.GetGPUs():
if tuning.IsSupportedAutoTuning(gpu):
print(f"Auto tuning is supported on {gpu.Name()}")
else:
print(f"Auto tuning is not supported on {gpu.Name()}")

Changing tuning, power, display, or 3D settings can affect system behavior.
Validate feature support and accepted ranges before changing a setting.


Main Service Areas
------------------

GetSystemServices() provides access to the main ADLX domains:

- GPU and system information
- Displays and display settings
- Performance monitoring
- GPU tuning and power tuning
- 3D graphics settings
- Multimedia features
- Desktop and Eyefinity features
- I2C access
- Change-event listeners

The Python API follows the ADLX C++ interface naming closely. Refer to the ADLX
SDK documentation for detailed interface behavior, parameters, ranges, and
return values.


Resource Lifetime
-----------------

Keep ADLXHelper initialized while ADLX interface objects are in use. Release
references to those objects before calling Terminate() in long-running or
debugger-hosted applications. Using try/finally ensures that Terminate() is
called when an operation raises an exception.


Troubleshooting
---------------

If Python reports "No module named 'adlx'", confirm that amd-adlx was installed
in the same Python environment that runs the application:

py -m pip show amd-adlx
py -c "import sys; print(sys.executable)"

If importing adlx reports a DLL loading error, verify that:

- Python and the installed wheel are both 64-bit.
- The wheel matches the active CPython minor version.
- A current AMD Software driver is installed.
- The required Microsoft Visual C++ runtime is installed.

If a method returns None or a feature is unavailable, the hardware or driver
may not expose that value. Query feature support first and treat unavailable
optional values as normal.


Documentation and Support
-------------------------

ADLX product page:
https://gpuopen.com/adlx/

ADLX SDK documentation:
https://gpuopen.com/manuals/adlx/

Source repository:
https://github.com/GPUOpen-LibrariesAndSDKs/ADLX/tree/main/ADLXPybind

Issue tracker:
https://github.com/GPUOpen-LibrariesAndSDKs/ADLX/issues

ADLX SDK License Agreement:
https://github.com/GPUOpen-LibrariesAndSDKs/ADLX/blob/main/ADLX%20SDK%20License%20Agreement.pdf

Release files for amd-adlx 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for amd-adlx 1.0.3
File
amd_adlx-1.0.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
amd_adlx-1.0.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
amd_adlx-1.0.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
amd_adlx-1.0.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
amd_adlx-1.0.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details

Total release size: 2.7 MB

Release files / amd_adlx-1.0.3-cp314-cp314-win_amd64.whl

Download URL amd_adlx-1.0.3-cp314-cp314-win_amd64.whl
Size 556.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f4a0f298f363929ff779f88fa2787e5d4b65d3e25c2b3473b78f3b22db43ee31
BLAKE2b-256 checksum
How to use checksums
11398e92342dc898a680b954ceabc41e77a55c681cb8e22114c95a5c3dfa26c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.10

Release files / amd_adlx-1.0.3-cp313-cp313-win_amd64.whl

Download URL amd_adlx-1.0.3-cp313-cp313-win_amd64.whl
Size 542.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4c4c6e7de38beceb784d332b928b3abfda3c9252f88f761b34a060e223241885
BLAKE2b-256 checksum
How to use checksums
24ba18dff1b95c56fd6051a23a97645579bbdbffb2ceeb0706ee28603780cdf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.10

Release files / amd_adlx-1.0.3-cp312-cp312-win_amd64.whl

Download URL amd_adlx-1.0.3-cp312-cp312-win_amd64.whl
Size 542.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d58ef5138ada7fac30eef362947d5ec98d0ae7062bde80de0abc4a9b5681c911
BLAKE2b-256 checksum
How to use checksums
1938dc11e28378994566f6030819f2127769298ab72e349b2ef1651575f63e42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.10

Release files / amd_adlx-1.0.3-cp311-cp311-win_amd64.whl

Download URL amd_adlx-1.0.3-cp311-cp311-win_amd64.whl
Size 540.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
95a9312ddd2c3d46e0d7c1cf1cbc877ce7d9b54f98bceb6fa0ad71b63424b2b4
BLAKE2b-256 checksum
How to use checksums
26937ed18a691dda7e5e0f069ff7d996f83f37c9d145782d3222de4f5b80d38d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.10

Release files / amd_adlx-1.0.3-cp310-cp310-win_amd64.whl

Download URL amd_adlx-1.0.3-cp310-cp310-win_amd64.whl
Size 538.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6110c5a29cca99a55af2739ddefe11e406e3e4a6cc423e84a220d83791dbad1f
BLAKE2b-256 checksum
How to use checksums
e81aeea23b808ebfc3b48fedbc656ad8d8dd47902c184446519db6c468609a64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.10

Release history Release notifications | RSS feed

This release

1.0.3 This release

5 release files

1.0.2

4 release files

1.0.1

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page