Skip to content

artob/libegpu

Repository files navigation

Libegpu

License Package on Crates.io Package on PyPI

Libegpu is a library for enumerating external GPU (eGPU) devices & enclosures.

NVIDIA GeForce RTX 5060 Ti attached to the ADT-Link ADT-UT3G dock

✨ Features

  • 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 lsegpu CLI 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

🛠️ Prerequisites

  • Rust 1.85+ (2024 edition) if building from source code

⬇️ Installation

Installation from PyPI

pip install -U egpu

Installation from Source Code

cargo install egpu

👉 Examples

Enumerating eGPU Devices

Python

import egpu

for device in egpu.devices():
    print(device)

Rust

for device in egpu::list_devices().unwrap() {
    println!("{:#?}", device);
}

Enumerating eGPU Controllers

Python

import egpu

for controller in egpu.controllers():
    print(controller)

Rust

for controller in egpu::list_controllers().unwrap() {
    println!("{:#?}", controller);
}

Enumerating eGPU Enclosures

Python

import egpu

for enclosure in egpu.enclosures():
    print(enclosure)

Rust

for enclosure in egpu::list_enclosures().unwrap() {
    println!("{:#?}", enclosure);
}

📚 Reference

docs.rs/egpu

Supported Hardware

Some of the hardware specifically detected by this library include:

eGPU Enclosures

Vendor Model Year
Razer Core 2016
Razer Core V2 2017
Razer Core X 2018
Razer Core X Chroma 2019
Razer Core X V2 2025

eGPU Controllers

Vendor Model Year
ASMedia ASM2464PD 2023
Intel JHL6540 2016
Intel JHL7440 2018
Intel JHL9480 2024

Resources

macOS

👨‍💻 Development

git clone https://github.com/artob/libegpu.git

Developing the Python Bindings

cd sdk/python
maturin develop
source .venv/bin/activate
python3

Share on X Share on Reddit Share on Hacker News Share on Facebook Share on LinkedIn

About

Libegpu is a library for enumerating eGPU devices & enclosures.

Topics

Resources

License

Stars

Watchers

Forks

Languages