[Mesa-dev] Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno

Jesse Natalie jenatali at microsoft.com
Mon Apr 19 01:06:00 UTC 2021


Hi,

I think there's a bit of a misconception here.

First, Microsoft has recently been engaging with Mesa3D to build the OpenCL(tm) and OpenGL(r) Compatibility Pack<https://www.microsoft.com/en-us/p/opencl-and-opengl-compatibility-pack/9nqpsl29bfff?activetab=pivot:overviewtab>. This provides some level of x86, x64, arm32, and arm64 support for OpenGL (and OpenCL) on Windows devices with no native drivers for these APIs (e.g. the Samsung Galaxy Book S).

Second, in any given application process, the host code executing on the CPU all needs to be the same architecture. So, if you're running an x86 game, you'd also need to be running an x86 graphics driver, all of which need to be emulated. There's some exceptions to this rule, where we've enabled some high-frequency code to be specially-compiled to the native platform instruction set (called CHPE [Compiled Hybrid Portable Executable] for x86, or ARM64EC for x64). If you're running a DirectX game, both the D3D runtime and driver should've been built this way, but the application code would still need to be translated at runtime. The compatibility pack mentioned above doesn't yet have CHPE/ARM64EC builds, but we're looking into it.

Third, I doubt Wasteland 3 is an OpenGL game. PCGamingWiki<https://www.pcgamingwiki.com/wiki/Wasteland_3> indicates it's D3D11. Mesa3D currently only has API implementations for OpenGL, Vulkan, and D3D9, and on Windows, the only drivers available are software (swrast/llvmpipe) for GL/VK or layered (zink/d3d12) for GL.

-Jesse

From: mesa-dev <mesa-dev-bounces at lists.freedesktop.org> On Behalf Of Will Gaines
Sent: Sunday, April 18, 2021 5:51 PM
To: mesa-dev at lists.freedesktop.org
Subject: [EXTERNAL] [Mesa-dev] Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno

Hello and greetings; please indulge me as I'll probably come across as an idiot, but I can't seem to get a straight answer regarding what I've been trying to do. I sincerely hope someone will be able to lay out clearly if I'm on a fool's errand which is fine because I can stop wasting my time.

Briefly, I picked up a Samsung Galaxy Book S with the Snapdragon 8cx/Adreno 680 build running Windows 10 on ARM. Based on everything I've understood, while the hardware isn't terrible, the architecture and MS struggling with 64-bit x86 emulation is what could be holding it back from being a serviceable machine for some gaming. I didn't really get on this until I hopped on Windows Insider and went to the 21359 build in the Dev Channel. I've gotten stable runs of games like Wasteland 3 on low settings but feel like there's either a solution or someone has looked and found it a dead-end to get better performance.

Long story short, I think Mesa3D might work but I've combed through documents and logs regarding compatibility with Windows 10 ARM and an Adreno GPU. The latest release suggests it's possible, but before I put any more time into it I wanted to know if anyone had experience along these lines: can the dev build features support everything needed to set up and has there been any roadblocks? Thanks for hearing me out, I appreciate it.


Scott free
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20210419/4a96bd93/attachment.htm>


More information about the mesa-dev mailing list