From bbd3921f049a601f5f7943869cd2f28b276943bc Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Wed, 24 Sep 2025 13:27:12 +0200 Subject: [PATCH] Allow OpenRM drivers to be discovered in CSV mode On Tegra-based systems with OpenRM (e.g. Thor-based systems). We need to also discover driver libraries in the same way was what we do on regular desktop systems. This change ensures that these driver libraries and meta devices are discovered. Signed-off-by: Evan Lezar --- pkg/nvcdi/lib-csv.go | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/pkg/nvcdi/lib-csv.go b/pkg/nvcdi/lib-csv.go index 6380d79dc..62a8efa0c 100644 --- a/pkg/nvcdi/lib-csv.go +++ b/pkg/nvcdi/lib-csv.go @@ -82,5 +82,25 @@ func (l *csvlib) GetDeviceSpecs() ([]specs.Device, error) { // GetCommonEdits generates a CDI specification that can be used for ANY devices func (l *csvlib) GetCommonEdits() (*cdi.ContainerEdits, error) { - return edits.FromDiscoverer(discover.None{}) + if l.featureFlags["disable-openrm-drivers-in-csv"] { + return edits.FromDiscoverer(discover.None{}) + } + + d, err := (*nvcdilib)(l).newDriverVersionDiscoverer() + if err != nil { + return nil, fmt.Errorf("failed to create discoverer for driver files: %v", err) + } + + metaDevices := discover.NewCharDeviceDiscoverer( + l.logger, + l.devRoot, + []string{ + "/dev/nvidia-modeset", + "/dev/nvidia-uvm-tools", + "/dev/nvidia-uvm", + "/dev/nvidiactl", + }, + ) + + return edits.FromDiscoverer(discover.Merge(d, metaDevices)) }