LykosAI/StabilityMatrix · error · InvalidOperationException
Windows ROCm package commands require a supported Windows…
Error message
Windows ROCm package commands require a supported Windows ROCm machine state.
What it means
EnsureRocmCompatibility calls IRocmPackageHelper.GetCompatibility() and throws this InvalidOperationException when the machine is not in a state supported for Windows ROCm packages (e.g. no compatible AMD GPU/driver, ROCm not detected). If the helper provides a FailureReason, that more specific reason is thrown instead; this message is the fallback. It runs before every ROCm command (SDK, SageAttention, bitsandbytes, FlashAttention).
Solutions
- Read the thrown FailureReason (or run the compatibility check via IRocmPackageHelper yourself) and address that specific issue first.
- Install/update AMD Software (Adrenalin) drivers to a version supporting the required ROCm/HIP SDK on Windows.
- Install the HIP SDK / Windows ROCm development prerequisites the helper expects, then retry.
- If the GPU is not ROCm-compatible, use the CUDA or CPU variant of the package instead of Windows ROCm commands.
Example fix
// before
await rocmStep.ExecuteAsync(progress);
// after
var compat = rocmPackageHelper.GetCompatibility();
if (!compat.IsCompatible)
throw new InvalidOperationException($"ROCm unsupported: {compat.FailureReason}");
await rocmStep.ExecuteAsync(progress); Defensive patterns
Strategy: validation
Validate before calling
var compat = rocmPackageHelper.GetCompatibility();
if (!compat.IsCompatible)
throw new InvalidOperationException($"Windows ROCm not supported: {compat.FailureReason}"); Try / catch
try
{
await step.ExecuteAsync(progress);
}
catch (InvalidOperationException ex) when (ex.Message.Contains("Windows ROCm"))
{
// surface compat.FailureReason to user; suggest driver/HIP SDK install or CUDA/CPU variant
} Prevention
- Run IRocmPackageHelper.GetCompatibility() before offering ROCm one-click options in the UI.
- Keep AMD Adrenalin drivers and the HIP SDK up to date on target machines.
- Only expose ROCm package commands on machines with supported AMD GPUs.
When it happens
Trigger: Executing any WindowsRocmPackageCommandType step on a Windows machine where GetCompatibility().IsCompatible is false: no AMD GPU, unsupported GPU model, outdated/broken AMD drivers, ROCm runtime not installed, or running in a VM without ROCm support.
Common situations: NVIDIA/Intel GPU users attempting ROCm one-click installs; AMD GPUs whose driver is too old for ROCm 7.x; clean Windows installs lacking HIP SDK; Windows VMs in cloud environments.
Understand the failure class
Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.
Related errors
- Windows ROCm bitsandbytes is only supported on Python 3.12.x
- Windows ROCm installation is not supported for the current…
- No Windows ROCm multi-arch device extra is available for
- Project was created in an earlier pre-release version of…
- Nunchaku is not supported on macOS or GPUs with compute…
AI-assisted analysis of LykosAI/StabilityMatrix@af93d6ef57 (2026-09-12).
Data as JSON: /api/errors/4ca14d91f7092dc3.
Report an issue: GitHub.
Appendix: source
Thrown at StabilityMatrix.Core/Models/PackageModification/InstallWindowsRocmPackageCommandStep.cs:124
case WindowsRocmPackageCommandType.BitsAndBytes:
await ExecuteBitsAndBytesAsync(venvRunner, pyVersion, progress).ConfigureAwait(false);
break;
case WindowsRocmPackageCommandType.FlashAttention:
await ExecuteFlashAttentionAsync(venvRunner, progress).ConfigureAwait(false);
break;
default:
throw new InvalidOperationException(
$"Unsupported Windows ROCm package command type: {CommandType}."
);
}
}
private void EnsureRocmCompatibility()
{
var compatibility = rocmPackageHelper.GetCompatibility();
if (!compatibility.IsCompatible)
{
throw new InvalidOperationException(
compatibility.FailureReason
?? "Windows ROCm package commands require a supported Windows ROCm machine state."
);
}
}
private async Task EnsureVcBuildToolsAsync(IProgress<ProgressReport>? progress)
{
if (!prerequisiteHelper.IsVcBuildToolsInstalled)
{
await prerequisiteHelper
.InstallPackageRequirements([PackagePrerequisite.VcBuildTools], progress: progress)
.ConfigureAwait(false);
}
}
private async Task ExecuteDevelopmentSdkAsync(
IPyVenvRunner venvRunner,View on GitHub (pinned to af93d6ef57)