microsoft / WSA

Developer-related issues and feature requests for Windows Subsystem for Android
MIT License
1.58k stars 841 forks source link

New Vulkan feature didn‘t work on the Windows Arm64 Devices #375

Open KazuhaKun opened 1 year ago

KazuhaKun commented 1 year ago

Steps to reproduce

Change the vulkan driver to D3D12 in the settings

My Devices:Surface Pro X SQ1 OS Ver:Win11 insider preview 23511

✔️ Expected Behavior

After change the setting,wsa can start

❌ Actual Behavior

wsa did not start

Other Software

No response

Please specify the version of Windows Subsystem for Android

2307.40000.2.0

nieubank commented 1 year ago

Vulkan is in preview and only a select number of ARM devices currently work with Vulkan on D3D12.

Unfortunately the drivers on SQ1 have some incompatibilities with D3D12 that affect our shader compilation for Vulkan.

We'll be expanding the UX around this preview feature's limitations in upcoming builds.

ian08005454 commented 1 year ago

I test WSA 2307.40000.3.0 on Qualcomm Snapdragon 8cx Gen 3. Unfortunately it was unsupported Vulkan too, and using D3D12 driver WSA will crush.

ian08005454 commented 1 year ago

I update the wsa to the WSA 2307.40000.5.0 now Qualcomm Snapdragon 8cx Gen 3 is available to using D3D12 driver. but I am not make sure is video card driver update or wsa update reason to fix this.

Sumechoo commented 1 year ago

Hey, @nieubank! Could you please elaborate on the list of the arm devices you've mentioned? Just got my surface pro 9 with sq3 and if vulkan will not gonna ever work on it it's a shame and total waste of my money. Does it mean that to get a vulkan support on the arm device the GPU driver should support dx12 with 12_0 feature level or this is mostly the sq1 drivers issue?

ian08005454 commented 1 year ago

I don't have any sq3 device but according to sq3 base on 8cx gen3 sq3, it have very big probability didn't support Vulkan API. But Vulkan API(d3d12) is support although it is inefficiency.

nieubank commented 1 year ago

Hey, @nieubank!

Could you please elaborate on the list of the arm devices you've mentioned? Just got my surface pro 9 with sq3 and if vulkan will not gonna ever work on it it's a shame and total waste of my money.

Does it mean that to get a vulkan support on the arm device the GPU driver should support dx12 with 12_0 feature level or this is mostly the sq1 drivers issue?

It's mostly a driver issue related to how it compiles the shaders needed to translate Vulkan to D3D12. Today, I believe it's only the Windows Dev Kit 2023 that actually loads with Vulkan in WSA on arm, but performance is not great. There are no native Vulkan drivers on any Windows arm devices at the present so it's only D3D12 via Mesa DZN that is possible.

I'm unsure about the SP9 as I haven't take a look at that device yet. As this is just an early preview, I can't make any firm statements on what will and won't work but we will continue to invest in the Vulkan on D3D12 both in performance and compatibility on arm.

FernandoS27 commented 12 months ago

@nieubank is there a reason Dozen is necessary on Qualcomm devices? Will Qualcomm ever provide native Vulkan drivers on windows?