func nvidiaVersionMajor()

in nvidia-persistenced-installer/nvidia_persistenced_installer.go [142:159]


func nvidiaVersionMajor(ctx context.Context) (int, error) {
	version := getLoadedNVIDIAKernelModuleVersion(ctx, "/proc/driver/nvidia/version")
	if version == "" {
		return 0, fmt.Errorf("failed to read nvidia gpu driver version at /proc/driver/nvidia/version")
	}

	// Will be in this format as it was validated by the regex beforehand: 535.230.02
	before, _, found := strings.Cut(version, ".")
	if !found || len(before) != 3 {
		return 0, fmt.Errorf("invalid nvidia gpu driver version: %v", version)
	}

	versionMajor, err := strconv.Atoi(before)
	if err != nil {
		return 0, fmt.Errorf("invalid nvidia gpu driver version(%v), %w", version, err)
	}
	return versionMajor, nil
}