Skip to content

AMD RX 7600: dxgkio_query_adapter_info Ioctl failed -22 persists across driver cleanup, WSL 2.6-2.9, kernel 6.6-6.18, HVCI off, IOMMU on (Win11 IoT Enterprise LTSC 26100.9168) #41654

Description

@miguel184ls

Environment

  • Windows: Microsoft Windows 11 IoT Enterprise LTSC, build 10.0.26100.9168
  • GPU: AMD Radeon RX 7600
  • GPU driver: 32.0.31041.1004 (2026-08-17) — confirmed as the only AMD driver package left in the driver store (removed 4 stale older versions from 2023-2026, no change to the bug)
  • WSL versions tried: 2.7.14.0 (kernel 6.18.33.2), 2.9.12.0 (kernel 6.18.40.1, includes the dxgkrnl memory-leak fix), and a clean reinstall of 2.6.2.0 (kernel 6.6.87.2, Oct 2025) — identical failure on all three
  • ROCm 7.2.4 installed in WSL (Ubuntu 22.04), including librocdxg.so.1.2.2 (meets the >=7.1 requirement) and the generic /usr/lib/wsl/lib/libdxcore.so dependency — both present and correct

Symptom

On every WSL boot, before any user-space code runs:

[    0.328612] hv_vmbus: registering driver dxgkrnl
[    1.514588] misc dxg: dxgk: dxgkio_is_feature_enabled: Ioctl failed: -22
[    1.519442] misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
[    1.519853] misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
[    1.520225] misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -22
[    1.520741] misc dxg: dxgk: dxgkio_query_adapter_info: Ioctl failed: -2

Consequences:

  • rocminfoWSL environment detected. / hsa_init Failed, possibly no supported GPU devices
  • torch.cuda.is_available()False (no exception, silent)
  • /sys/class/kfd/kfd/topology/nodes does not exist

History / why this is likely a regression, not a config issue

This exact machine successfully ran multiple hours-long LoRA fine-tuning jobs (transformers + peft + bitsandbytes, ROCm 7.2) on this same RX 7600 through WSL2 for about a week. The failure appeared with no crash, no BSOD, no Windows Event Viewer entry of any kind (checked System log for the full 48h window around when it broke, all Levels Critical/Error/Warning — completely empty of anything GPU/driver/dxg related), right after the last training job finished, before the next one could be launched. A full Windows reboot did not fix it (this was persistent from the first reboot attempt).

Troubleshooting already done (all with reboots in between, none changed the outcome)

  1. Plain Windows reboot.
  2. wsl --update --pre-release → kernel 6.18.33.2 → 6.18.40.1 (includes "fix for a memory leak in dxgkrnl"). No change.
  3. Cleaned the DriverStore of 4 stale AMD graphics driver package versions (2023-08-2026-07), leaving only the current 2026-08-17 build. No change.
  4. Disabled Hypervisor-Enforced Code Integrity / Memory Integrity via HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity\Enabled=0 + reboot (confirmed HVCI no longer in SecurityServicesRunning afterwards; Credential Guard/VBS itself still active). No change.
  5. Full clean reinstall of WSL: wsl --uninstall, confirmed the Appx package was fully removed, installed Microsoft.WSL_2.6.2.0_x64_ARM64.msixbundle (Oct 2025) from scratch → kernel 6.6.87.2, a completely different kernel major line. No change (existing Ubuntu-22.04 distro registration survived the platform uninstall/reinstall).
  6. Enabled IOMMU/SR-IOV/Above 4G Decoding in BIOS (previously "Auto") + reboot. No change — and per dmesg, WSL2 doesn't appear to expose host IOMMU groups to the guest at all (/sys/kernel/iommu_groups/ empty), so this was likely not a relevant variable for GPU-PV specifically, only ruled out for completeness.
  7. Verified no Group Policy is configured for SOFTWARE\Policies\Microsoft\Windows\Sandbox (AllowVGPU) or GraphicsDrivers/DeviceGuard under Policies — none exist, so nothing is being blocked by local policy.
  8. Confirmed via Microsoft Learn's WindowsSandbox Policy CSP documentation that "IoT Enterprise / IoT Enterprise LTSC" is an officially supported edition for the AllowVGPU capability, so this isn't an edition/licensing exclusion either.

None of the above made any difference — the failure signature (Ioctl failed: -22 on dxgkio_is_feature_enabled and dxgkio_query_adapter_info, at ~1.5s into WSL2 kernel boot) is byte-for-byte identical before and after every attempted fix.

Attached

WslLogs-2026-09-20_17-37-00.zip — full output of collect-wsl-logs.ps1 (default WSL profile), including a WPR trace (logs.etl) captured across a wsl --shutdown + fresh boot + rocminfo repro cycle.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions