Summary
Since PR #10971 (merged March 19, 2026) bumped the Android emulator from 32.1.9 to 36.4.10, everyXamarin.Android-PR DevDiv build has exactly 1 out of ~17 Start emulator tasks failing with a Vulkan driver error on a Windows CI agent, despite -gpu swiftshader being passed.
Error
Emulator failed to start: [Vulkan Loader] ERROR | DRIVER:
windows_read_data_files_in_registry: Registry lookup failed to get ICD
manifest files. Possibly missing Vulkan driver?
Source: build-tools/scripts/TestApks.targets line 76 → StartAndroidEmulator task.
Impact
- Frequency: 100% of builds since March 19 — always 1/17 emulator lanes
- Affected lane:
Windows > Tests > Debugging (on Android-1ESPT pool agents) - Severity: Non-blocking — pipeline continues via
succeededWithIssues (configured in 983dc9142) - Other lanes: The remaining ~16
Start emulator tasks succeed, including other Windows lanes
Context
PR #10971 acknowledged this problem and added -gpu swiftshader to TestAvdExtraBootArgs:
<TestAvdExtraBootArgsCondition=" '$(TestAvdShowWindow)' == 'false' ">
-no-window -no-boot-anim -gpu swiftshader $(TestAvdExtraBootArgs)
</TestAvdExtraBootArgs>
This works for most agents but one Windows agent in the Android-1ESPT pool still fails — likely because emulator 36.x probes the Vulkan loader DLL before honoring -gpu swiftshader, and that agent lacks the Vulkan runtime entirely.
Possible fixes
- Reimage/update the failing agent in the
Android-1ESPT pool - Set
ANDROID_EMU_VK_ICD=swiftshader environment variable before starting the emulator to skip the Vulkan ICD file probe entirely - Add retry logic in
StartAndroidEmulator.cs for Vulkan-related startup failures
Affected builds (sample)
Summary
Since PR #10971 (merged March 19, 2026) bumped the Android emulator from 32.1.9 to 36.4.10, every
Xamarin.Android-PRDevDiv build has exactly 1 out of ~17Start emulatortasks failing with a Vulkan driver error on a Windows CI agent, despite-gpu swiftshaderbeing passed.Error
Source:
build-tools/scripts/TestApks.targetsline 76 →StartAndroidEmulatortask.Impact
Windows > Tests > Debugging(onAndroid-1ESPTpool agents)succeededWithIssues(configured in983dc9142)Start emulatortasks succeed, including other Windows lanesContext
PR #10971 acknowledged this problem and added
-gpu swiftshadertoTestAvdExtraBootArgs:This works for most agents but one Windows agent in the
Android-1ESPTpool still fails — likely because emulator 36.x probes the Vulkan loader DLL before honoring-gpu swiftshader, and that agent lacks the Vulkan runtime entirely.Possible fixes
Android-1ESPTpoolANDROID_EMU_VK_ICD=swiftshaderenvironment variable before starting the emulator to skip the Vulkan ICD file probe entirelyStartAndroidEmulator.csfor Vulkan-related startup failuresAffected builds (sample)