Built and tested on our RTX A5000 rig. Works as advertised - the vGPU type descriptions are now actually shown in the mdev type selector dropdown.
Please consider the series: Reviewed-by: Christoph Heiss <[email protected]> Tested-by: Christoph Heiss <[email protected]> On Thu Mar 5, 2026 at 10:16 AM CET, Dominik Csapak wrote: > This series replaces Christoph's previous series[0] > > It's more or less a rewrite, thus no v2 or similar, but some patches directly > take code from Christoph's attempt, so i marked those commits as > co-developed-by. > > Changes: > > Instead of using our own wrapper+high level abstraction use the already > existing > 'nvml-wrapper' and 'nvml-wrapper-sys' which had a very similar approach, but > are > already packaged in debian. (though not fully up-to-date to what we need, so > i updated/backported the patches). Please tell me if when i should send > these kind of patches differently. > > Also i expose two functions, 'creatable' and 'supported' for future proofing, > since we want to have a more complete response in the api about which profiles > are available. > > I moved the code that depends on the perlmod binding to qemu-server for now > as it seemed fitting, we only need it there and in pve-manager > > If wanted I can split it out into it's own package (proxmox-pci? > proxmox-hardware? proxmox-mdev?, not sure what's a good name for this), but > that could also be done later when we need it. > > Also changed the format of the description from 'x,y,z' to 'x > y > z' since > that's what was there previously and what the gui expects. Also the fields > themselves can contain ',' so parsing would be unnecessarily hard when we do > that. > > The pve-common cleanup patch is optional, and as an alternative we could > just mark these deprecated and remove them with e.g. 10.0 so we can save us a > breaks cyclye for pve-common <-> qemu-server. > > 0: > https://lore.proxmox.com/pve-devel/[email protected]/ > > debcargo-conf: > > Dominik Csapak (4): > nvml-wrapper: Update to 0.12.0 > nvml-wrapper: add patch for vgpu ids > backport nvml-wrapper-sys 0.9.0-1 > backport nvml-wrapper 0.12.0-1 > > Matthias Geiger (4): > nvml-wrapper-sys: Update to 0.9.0 > nvml-wrapper-sys: release 0.9.0-1 > nvml-wrapper: Update to 0.11.0 > nvml-wrapper: release 0.11.0-1 > > src/nvml-wrapper-sys/debian/changelog | 12 +++++++ > .../debian/copyright.debcargo.hint | 7 ++++ > src/nvml-wrapper/debian/changelog | 20 ++++++++++++ > .../debian/copyright.debcargo.hint | 11 +++++-- > ...-method-for-getting-the-vGPU-type-id.patch | 32 +++++++++++++++++++ > src/nvml-wrapper/debian/patches/series | 1 + > 6 files changed, 81 insertions(+), 2 deletions(-) > create mode 100644 > src/nvml-wrapper/debian/patches/add-method-for-getting-the-vGPU-type-id.patch > > > proxmox-perl-rs: > > Dominik Csapak (1): > pve: add binding for accessing vgpu info > > pve-rs/Cargo.toml | 1 + > pve-rs/Makefile | 1 + > pve-rs/src/bindings/mod.rs | 3 ++ > pve-rs/src/bindings/nvml.rs | 91 +++++++++++++++++++++++++++++++++++++ > 4 files changed, 96 insertions(+) > create mode 100644 pve-rs/src/bindings/nvml.rs > > > qemu-server: > > Dominik Csapak (2): > pci: move mdev related code to own module > pci: mdev: use PVE::RS::NVML for nvidia mdev information > > src/PVE/QemuServer.pm | 5 +- > src/PVE/QemuServer/Makefile | 1 + > src/PVE/QemuServer/PCI.pm | 58 +++-------- > src/PVE/QemuServer/PCI/Makefile | 9 ++ > src/PVE/QemuServer/PCI/Mdev.pm | 164 ++++++++++++++++++++++++++++++++ > 5 files changed, 190 insertions(+), 47 deletions(-) > create mode 100644 src/PVE/QemuServer/PCI/Makefile > create mode 100644 src/PVE/QemuServer/PCI/Mdev.pm > > > pve-manager: > > Dominik Csapak (1): > api: hardware: pci: use NVML for querying mdev information > > PVE/API2/Hardware/PCI.pm | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > > pve-common: > > Dominik Csapak (1): > sysfs tools: remove moved code > > src/PVE/SysFSTools.pm | 111 ------------------------------------------ > 1 file changed, 111 deletions(-) > > > Summary over all repositories: > 17 files changed, 370 insertions(+), 163 deletions(-)
