[Mesa-dev] Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno
uatu2021 at outlook.com
Mon Apr 19 01:24:36 UTC 2021
Hi Jesse, first I want to thank you for providing the most cogent and clear assessment of the problem because all the information I've found to date is piecemeal and I'm the first to admit I am not a professional or have extensive experience with these issues. I am approaching it from being a casual lifelong PC gaming hobbyist so the learning curve has been steeped.
To the third point first, WL3 was just an example. The first two points are the bulk of what I am trying to figure out.
1) Is it worth attempting to install/compile the full Mesa3D build on the system specifications detailed compared to what is already available via the OpenCL and OpenGL Compatibility Pack (I have this along with the preview Adreno 680 GPU driver)? Not necessarily specific to a title like WL3, but would I at least have more options to tweak graphics settings?
2) If the former point is affirmative and there could be more potential in an independent installation of Mesa3D, is there anything to consider outside the standard Windows installation guide given the ARM architecture to set it up? I guess what I'm getting at is that if I can experiment more with a separate install than the pack, I want to know if I can just follow the basic instructions or need to approach it differently like with WSL.
I very much appreciate you bearing with me particularly as I am not coming at this from someone with experience and practice but just a side project to see if I can do more with what I have. Any additional information is greatly appreciated; thank you again.
From: Jesse Natalie <jenatali at microsoft.com>
Sent: Sunday, April 18, 2021 8:06:00 PM
To: Will Gaines <uatu2021 at outlook.com>; mesa-dev at lists.freedesktop.org <mesa-dev at lists.freedesktop.org>
Subject: RE: Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno
I think there’s a bit of a misconception here.
First, Microsoft has recently been engaging with Mesa3D to build the OpenCL™ and OpenGL® 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.
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev