Skip to content

Windows On ARM - Vulkan renderer on Snapdragon X Series CPUs #1878

Description

@RaulMerelli

Bug Description

Following #791 issue, on Snapdragon X Series PCs, we stated that OpenGL renderer works fine but Vulkan renderer has issues.

I have made some research about the topic, especially about the error:
Error: Device does not support required feature shaderTessellationAndGeometryPointSize

It turns out that by installing OpenCL™, OpenGL®, and Vulkan® Compatibility Pack, that is actually required to get OpenGL working for Xemu, also replaces the Vulkan native driver (Qualcomm(R) Adreno(TM) X1-85 GPU) to a wrapper to DirectX12 Microsoft Direct3D12 (Qualcomm(R) Adreno(TM) X1-85 GPU).

Comparing the two "drivers" (not sure it's also the correct name to name the Vulkan Wrapper on DirectX12), we can see the native one has more feature support, including shaderTessellationAndGeometryPointSize, that is missing in the DX12 wrapper:

Image

The only way to get back the Native Vulkan driver that I found out, is uninstalling the "OpenCL™, OpenGL®, and Vulkan® Compatibility Pack".
Doing this I lost most of the OpenGL compatibility.

I set the default renderer in Xemu via the xemu.toml file to Vulkan:


[general]
show_welcome = false
last_viewed_menu_index = 2

[input.bindings]
port1 = 'keyboard'

[display.window]
last_width = 1440
last_height = 739

[display]
renderer = 'VULKAN'

[display.debug.video]
x_pos = 827
y_pos = 22
advanced_tree_state = true

Trying to launch Xemu I anyway get an error about OpenGL:

Image

Since I don't think Microsoft decides to provide the wrappers separately, in the next few days I will try to find a way to install the compatibility package excluding the Vulkan wrapper installation and see if it works.

In the meantime, I was wondering, if the backend set up is Vulkan, is it correct for Xemu to check for OpenGL availability? Even with the Vulkan backend, is there still a need for OpenGL for some features?

Expected Behavior

Skip OpenGL check and run directly Xemu with Vulkan

xemu Version

0.8.10-4-g928f84d06b

System Information

OS: Windows 11 On ARM (Home) 24H2
CPU: Snapdragon(R) X Plus - X1P42100 - Qualcomm(R) Oryon(TM) CPU 3.24 GHz
GPU: Qualcomm(R) Adreno(TM) X1-45 GPU (Adreno 726)
GPU Driver: 31.0.82.0 / Win 11 Arm64

Additional Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingduplicateThis issue or pull request already existsvulkan

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions