TheCreateGM / mvgal-docs
Public
Get Started v0.7.31

MVGAL — Multi-Vendor GPU Aggregation Layer

GPU discovery and integration components for Linux. Runtime capabilities are probed; unsupported operations fail explicitly.

v0.7.31 AMD · NVIDIA · Intel · Moore Threads Vulkan · OpenCL · CUDA

Documentation

What is MVGAL?

Most Linux systems with multiple GPUs (e.g. an AMD RX 7900 + NVIDIA RTX 4080) treat each card as a completely separate device. Applications can only use one at a time, leaving the other idle.

MVGAL explores cross-vendor GPU discovery, runtime interfaces, scheduling, and application integration. The kernel module discovers devices without binding them away from native drivers. As of 0.7.31, unsupported kernel submission and VRAM allocation fail with -EOPNOTSUPP, and the Vulkan ICD does not advertise a synthetic aggregate physical device. Verify each API path and probed capability on the target system.

Quick Start

# Start the daemon (the unit is mvgal-daemon.service; enable also creates
# the mvgald.service and mvgal.service aliases)
pkexec systemctl enable --now mvgal-daemon

# Verify
mvgal-info          # list detected GPUs
mvgal-status --once # status snapshot
mvgal-compat --system   # check readiness

License

  • Kernel module: GPL-2.0-only
  • Userspace components: GPL-3.0-only
  • Rust crates: MIT OR Apache-2.0