Libegpu is a library for enumerating external GPU (eGPU) devices & enclosures.
- Enumerates PCIe-tunneled eGPU devices from AMD, NVIDIA, and Intel
- Enumerates USB-attached eGPU enclosures from Razer (e.g. the Razer Core X V2)
- Includes an
lsegpuCLI tool for enumerating eGPU devices & enclosures - Includes easy-to-use Python bindings to the Rust library (a work in progress)
- 100% free and unencumbered public domain software
- Rust 1.85+ (2024 edition) if building from source code
pip install -U egpucargo install egpuimport egpu
for device in egpu.devices():
print(device)for device in egpu::list_devices().unwrap() {
println!("{:#?}", device);
}import egpu
for controller in egpu.controllers():
print(controller)for controller in egpu::list_controllers().unwrap() {
println!("{:#?}", controller);
}import egpu
for enclosure in egpu.enclosures():
print(enclosure)for enclosure in egpu::list_enclosures().unwrap() {
println!("{:#?}", enclosure);
}Some of the hardware specifically detected by this library include:
| Vendor | Model | Year |
|---|---|---|
| Razer | Core | 2016 |
| Razer | Core V2 | 2017 |
| Razer | Core X | 2018 |
| Razer | Core X Chroma | 2019 |
| Razer | Core X V2 | 2025 |
| Vendor | Model | Year |
|---|---|---|
| ASMedia | ASM2464PD | 2023 |
| Intel | JHL6540 | 2016 |
| Intel | JHL7440 | 2018 |
| Intel | JHL9480 | 2024 |
- Modernize PCI and SCSI drivers with DriverKit (WWDC20)
- System Extensions and DriverKit (WWDC19)
- System Extensions and DriverKit
- PCIDriverKit Framework
git clone https://github.com/artob/libegpu.gitcd sdk/python
maturin develop
source .venv/bin/activate
python3